#cli

nightly nvptx-panic

panic implementation for nvptx target

1 unstable release

Uses old Rust 2015

0.1.0 Aug 16, 2018

#4442 in #cli

MIT license

2KB

nvptx toolchain

docs.rs CircleCI

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

No runtime deps