xz-utils
# FIXME: build the `ptx-linker` instead.
-RUN curl -sL https://github.com/denzp/rust-ptx-linker/releases/download/v0.9.0-alpha.1/rust-ptx-linker.linux64.tar.gz | \
+RUN curl -sL https://github.com/denzp/rust-ptx-linker/releases/download/v0.9.0-alpha.2/rust-ptx-linker.linux64.tar.gz | \
tar -xzvC /usr/bin
RUN curl -sL https://nodejs.org/dist/v9.2.0/node-v9.2.0-linux-x64.tar.xz | \
}
fn finalize(&mut self) -> Command {
+ // Provide the linker with fallback to internal `target-cpu`.
+ self.cmd.arg("--fallback-arch").arg(match self.sess.opts.cg.target_cpu {
+ Some(ref s) => s,
+ None => &self.sess.target.target.options.cpu
+ });
+
::std::mem::replace(&mut self.cmd, Command::new(""))
}
ifeq ($(TARGET),nvptx64-nvidia-cuda)
all:
- $(RUSTC) main.rs -Clink-arg=--arch=sm_60 --crate-type="bin" -O --target $(TARGET)
- FileCheck main.rs --input-file $(TMPDIR)/main.ptx
+ $(RUSTC) main.rs --crate-type="bin" --target $(TARGET) -O -C link-arg=--arch=sm_60 -o $(TMPDIR)/main.link_arg.ptx
+ $(RUSTC) main.rs --crate-type="bin" --target $(TARGET) -O -C target-cpu=sm_60 -o $(TMPDIR)/main.target_cpu.ptx
+
+ FileCheck main.rs --input-file $(TMPDIR)/main.link_arg.ptx
+ FileCheck main.rs --input-file $(TMPDIR)/main.target_cpu.ptx
else
all:
endif
extern crate dep;
// Verify the default CUDA arch.
-// CHECK: .target sm_20
+// CHECK: .target sm_30
// CHECK: .address_size 64
// Make sure declarations are there.