5 个版本
使用旧的 Rust 2015
0.2.3 | 2018年8月16日 |
---|---|
0.2.2 | 2018年7月30日 |
0.2.1 | 2018年7月28日 |
0.2.0 | 2018年7月16日 |
0.1.0 | 2018年6月14日 |
#53 in #gpgpu
32KB
860 代码行
nvptx 工具链
将 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
这将在 rustup
中安装 accel-nvptx
工具链,如下所示:
$ 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
依赖关系
~4–14MB
~153K SLoC