ferrotorch-gpu
CUDA GPU backend for ferrotorch.
What it provides
GpuDevice-- CUDA device management and context handling- Data transfer --
cpu_to_gpu,gpu_to_cpu,tensor_to_gpu,tensor_to_cpu,alloc_zeros GpuTensor-- GPU-resident tensor wrapper withcuda()andcuda_default()helpers- CUDA buffer --
CudaBufferfor raw GPU memory,CudaAllocatorfor memory management - BLAS --
gpu_matmul_f32,gpu_matmul_f64via cuBLAS - Convolution --
gpu_conv2d_f32 - Element-wise kernels --
gpu_add,gpu_sub,gpu_mul,gpu_neg,gpu_relu - Memory guard --
MemoryGuard,MemoryWatchdog,MemoryStats,OomPolicyfor GPU memory management and pressure monitoring
Feature flags
| Feature | Default | Description |
|---|---|---|
cuda |
yes | Links against CUDA driver API via cudarc |
Quick start
use ;
let device = new?;
let host_data = vec!;
let gpu_buf = cpu_to_gpu?;
let back = gpu_to_cpu?;
assert_eq!;
Part of ferrotorch
This crate is one component of the ferrotorch workspace. See the workspace README for full documentation.
License
MIT OR Apache-2.0