GPUs are widely used in machine learning tasks including both training and inference, making them key components a performant machine learning ecosystem. Rust's GPU support, particularly around Geneneral-Purpose GPU (GPGPU) and compute shaders is incomplete, but a number of efforts including the WebGPU ecosystem, as well as CUDA and OpenCL are making progress.
GPU Computing
wgpu [ crate · repo · docs ]
Cross-platform, safe, pure-rust graphics API
cudarc [ crate · repo · docs ]
Safe and minimal CUDA bindings
vulkano [ crate · repo · docs ]
Safe wrapper for the Vulkan graphics API
cubecl [ crate · repo · docs ]
Multi-platform high-performance compute language extension for Rust.
ocl [ crate · repo · docs ]
OpenCL bindings and interfaces for Rust.
cuda_std [ crate · repo · docs ]
Standard library for CUDA with rustc_codegen_nvvm
blas [ crate · repo · docs ]
The package provides wrappers for BLAS (Fortran).
rustacuda [ crate · repo · docs ]
CUDA Driver API Wrapper
dfdx [ crate · repo · docs ]
Ergonomic auto differentiation in Rust, with pytorch like apis.
arrayfire [ crate · repo · docs ]
ArrayFire is a high performance software library for parallel computing with an easy-to-use API. Its array based function set makes parallel programming simple. ArrayFire's multiple backends (CUDA, OpenCL and native CPU) make it platform independent and highly portable. A few lines of code in ArrayFire can replace dozens of lines of parallel computing code, saving you valuable time and lowering development costs. This crate provides Rust bindings for ArrayFire library.
krnl [ crate · repo · docs ]
Safe, portable, high performance compute (GPGPU) kernels.
collenchyma [ crate · repo · docs ]
high-performance computation on any hardware
cudnn [ crate · repo · docs ]
safe Rust wrapper for CUDA's cuDNN
cublas [ crate · repo · docs ]
safe Rust wrapper for CUDA's cuBLAS
coaster [ crate · repo · docs ] archived
high-performance computation on any hardware
wonnx [ crate · repo · docs ] archived
Wonnx is an ONNX runtime based on wgpu aimed at being a universal GPU runtime, written in Rust.
cuda [ crate · repo · docs ]
CUDA bindings.
emu_core [ crate · repo · docs ]
A low-level modular, extensible GPGPU compute library with cross-platform support
accel [ crate · repo · docs ]
GPGPU Framework for Rust
em [ crate · repo · docs ]
A macro for executing a subset of Rust with OpenCL
cumath [ crate · repo · docs ]
Cuda-based matrix/vector computations
parenchyma [ crate · repo · docs ]
A high-performance computing (HPC) framework
Looking for something you didn't find? Try asking on Zulip chat.
Are we learning yet?