6 个版本 (3 个破坏性更新)
0.4.0-pre.2 | 2019年6月18日 |
---|---|
0.4.0-pre.1 | 2019年3月4日 |
0.4.0-pre.0 | 2019年2月14日 |
0.3.0 | 2018年8月31日 |
0.1.0 | 2016年11月8日 |
#1518 in 硬件支持
在 2 crates 中使用
1MB
27K SLoC
这是对 CUDA 工具包 API 的 Rust 绑定。
通过 bindgen 实现的 FFI 绑定在很大程度上进行了白名单处理;有关白名单 API,请参阅 build.rs
。高级包装器位于顶级模块中(driver
、runtime
、blas
和 rand
)。
lib.rs
:
Cargo 功能
CUDA 版本功能
通常安装了多个 CUDA 版本,不同的程序可能需要不同的 CUDA 版本。因此,确保 FFI 绑定针对所需的 CUDA 版本非常重要。
有几个功能可以将 API 绑定锁定到特定的 CUDA 版本
cuda_6_5
、cuda_7_0
、cuda_7_5
、cuda_8_0
、cuda_9_0
、cuda_9_1
、cuda_9_2
、cuda_10_0
、cuda_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