1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2018年8月16日

#6 in #ptx

MIT 许可证

2KB

nvptx 工具链

docs.rs CircleCI

将 Rust 编译成 PTX/cubin

安装

nvptx 命令

nvptx 是一个 CLI 工具,用于

  • 将 Rust crate 构建为 PTX/cubin 文件
  • 安装 accel-nvptx 工具链(用于 rustup)
cargo install nvptx

accel-nvptx 工具链

accel-nvptx 是 rustup 的工具链名称。它包含具有 nvptx64-nvidia-cuda 目标的 rustc 和运行时库。

nvptx install

这会将 accel-nvptx 工具链安装到 rustup

$ rustup toolchain list
stable-x86_64-unknown-linux-gnu
nightly-x86_64-unknown-linux-gnu (default)
accel-nvptx

此工具链是由以下构建的

构建

您可以使用 accel-nvptx 工具链将您的 crate 构建为 PTX 文件

nvptx build

这包括以下三个步骤

  • 将 Rust 编译为 LLVM 位码。此步骤对应以下命令
cargo +accel-nvptx build --target nvptx64-nvidia-cuda
  • 使用 llvm-link 将 rlib 链接到 LLVM 位码
  • 使用 opt 移除未使用的位码
  • 使用 llc 将 LLVM 位码编译为 PTX
  • (可选) 使用 nvcc 将 PTX 转换为 cubin

无运行时依赖