5 releases
Uses old Rust 2015
0.2.3 | Aug 16, 2018 |
---|---|
0.2.2 | Jul 30, 2018 |
0.2.1 | Jul 28, 2018 |
0.2.0 | Jul 16, 2018 |
0.1.0 | Jun 14, 2018 |
#54 in #gpgpu
32KB
860 lines
nvptx toolchain
Compile Rust into PTX/cubin
Install
nvptx command
nvptx
is a CLI tool to
- Build Rust crate into a PTX/cubin file
- install
accel-nvptx
toolchain (for rustup)
cargo install nvptx
accel-nvptx toolchain
accel-nvptx
is a toolchain name for rustup. It contains rustc
and runtime libraries with 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
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
- Drop unused bitcode using
opt
- Compile LLVM bitcode into PTX using
llc
- (Optional) Convert PTX to cubin using
nvcc
Dependencies
~4–12MB
~137K SLoC