nvptx toolchain
Compile Rust into PTX
Install
nvptx command for manging nvptx-toolchain for Rust can be installed from crate.io
cargo install nvptx
And then, you can install nvptx-toolchain (including rustc
, rust-std
for nvptx64-nvidia-cuda
target):
nvptx install
This installs accel-nvptx
toolchain to rustup
like:
$ rustup toolchain list
stable-x86_64-unknown-linux-gnu
nightly-x86_64-unknown-linux-gnu (default)
accel-nvptx
This toolchain is built from
Build crate to nvptx64-nvidia-cuda target
You can build your crate using accel-nvptx
toolchain into a PTX file
nvptx build
This consists of following three steps:
- Compile Rust into LLVM bitcode. This step corresponds to the following command:
cargo +accel-nvptx build --target nvptx64-nvidia-cuda
- Link rlib into a LLVM bitcode using
llvm-link
- Compile LLVM bitcode into PTX using
llc
You can load the PTX file into your stdout using
nvptx build --load
or
nvptx load