6 个版本 (3 个破坏性更新)

0.4.0-pre.22019年6月18日
0.4.0-pre.12019年3月4日
0.4.0-pre.02019年2月14日
0.3.0 2018年8月31日
0.1.0 2016年11月8日

#1518 in 硬件支持


2 crates 中使用

MIT/Apache

1MB
27K SLoC

guppybot.org docs.rs

这是对 CUDA 工具包 API 的 Rust 绑定。

通过 bindgen 实现的 FFI 绑定在很大程度上进行了白名单处理;有关白名单 API,请参阅 build.rs。高级包装器位于顶级模块中(driverruntimeblasrand)。


lib.rs:

Cargo 功能

CUDA 版本功能

通常安装了多个 CUDA 版本,不同的程序可能需要不同的 CUDA 版本。因此,确保 FFI 绑定针对所需的 CUDA 版本非常重要。

有几个功能可以将 API 绑定锁定到特定的 CUDA 版本

  • cuda_6_5cuda_7_0cuda_7_5cuda_8_0cuda_9_0cuda_9_1cuda_9_2cuda_10_0cuda_10_1

这些功能中只有一个必须在 cargo 依赖图中的某个位置设置,才能使用 cuda crate,否则将强制编译时错误。

有关 CUDA 版本兼容性的更多详细信息,请参阅: https://docs.nvidia.com/deploy/cuda-compatibility/index.html

建议

建议 二进制 crate 仅指定这些版本功能中的一个,而 crate 应指定无功能。

其他 Cargo 功能

  • cuda_sys:此功能将 bindgen 自动生成的 FFI 绑定替换为 cuda_sys crate 提供的绑定。截至 cuda_sys v0.2.0,这些绑定仅针对 CUDA 8.0。

  • fresh:为 crate 的维护者。此功能使用 bindgen 从构建脚本生成新的 FFI 绑定。

依赖项

~46–320KB