11个版本 (7个稳定版)

使用旧的Rust 2015

1.3.1 2016年3月2日
1.3.0 2016年3月1日
1.2.1 2016年2月22日
1.0.1 2015年12月21日
0.1.3 2015年12月14日

#611机器学习

Download history 216/week @ 2024-02-26 159/week @ 2024-03-04 164/week @ 2024-03-11 214/week @ 2024-03-18 511/week @ 2024-03-25 486/week @ 2024-04-01 153/week @ 2024-04-08 199/week @ 2024-04-15 204/week @ 2024-04-22 467/week @ 2024-04-29 257/week @ 2024-05-06 202/week @ 2024-05-13 222/week @ 2024-05-20 142/week @ 2024-05-27 462/week @ 2024-06-03 154/week @ 2024-06-10

1,028 每月下载
用于 256 个crate (2个直接使用)

MIT/Apache

120KB
2K SLoC

为CUDA cuDNN API提供安全且方便的封装。

此crate(1.0.0)是针对cuDNN v3开发的。

架构

此crate提供三个级别的入口。

FFI
ffi 模块暴露了外部函数接口和cuDNN特定类型。通常情况下,如果您只想在应用程序中使用cuDNN,则不需要触摸此ffi模块。该ffi模块由rust-cudnn-sys crate提供,并在此处重新导出。

低级
api 模块暴露了一个完整的、安全的cuDNN API封装,包括适当的Rust错误。通常,您不需要直接使用API,因为Cudnn模块(如下一部分所述)提供了所有API功能,但提供了更方便的接口。

高级
cudnn 模块暴露了Cudnn结构体,它为cuDNN API提供了一种非常方便、易于理解的接口。通常不需要获取和阅读cuDNN手册。初始化Cudnn结构体后,您可以调用表示所有cuDNN操作的方法。

示例

extern crate cudnn;
extern crate libc;
use cudnn::{Cudnn, TensorDescriptor};
use cudnn::utils::{ScalParams, DataType};
fn main() {
    // Initialize a new cuDNN context and allocates resources.
    let cudnn = Cudnn::new().unwrap();
    // Create a cuDNN Tensor Descriptor for `src` and `dest` memory.
    let src_desc = TensorDescriptor::new(&[2, 2, 2], &[4, 2, 1], DataType::Float).unwrap();
    let dest_desc = TensorDescriptor::new(&[2, 2, 2], &[4, 2, 1], DataType::Float).unwrap();
    // Obtain the `src` and memory pointer on the GPU.
    // NOTE: You wouldn't do it like that. You need to really allocate memory on the GPU with e.g. CUDA or Collenchyma.
    let src_data: *const ::libc::c_void = ::std::ptr::null();
    let dest_data: *mut ::libc::c_void = ::std::ptr::null_mut();
    // Now you can compute the forward sigmoid activation on your GPU.
    cudnn.sigmoid_forward::<f32>(&src_desc, src_data, &dest_desc, dest_data, ScalParams::default());
}

注意

rust-cudnn是在Autumn为Rust机器智能框架Leaf开发的。

rust-cudnn是高性能计算框架Collenchyma的一部分,用于神经网络插件。对于cuDNN等NN操作的简单、统一接口,您可以查看Collenchyma

依赖关系

~190KB