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 ]
Rusty WebGPU API wrapper
vulkano [ crate · repo · docs ]
Safe wrapper for the Vulkan graphics API
cudarc [ crate · repo · docs ]
Safe wrappers around CUDA apis
ocl [ crate · repo · docs ]
OpenCL bindings and interfaces for Rust.
dfdx [ crate · repo · docs ]
Ergonomic auto differentiation in Rust, with pytorch like apis.
blas [ crate · repo · docs ]
The package provides wrappers for BLAS (Fortran).
wonnx [ crate · repo · docs ]
Wonnx is an ONNX runtime based on wgpu aimed at being a universal GPU runtime, written in Rust.
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.
cudnn [ crate · repo · docs ]
safe Rust wrapper for CUDA's cuDNN
rust-gpu [ crate · repo · docs ]
Making Rust a first-class language and ecosystem for GPU graphics & compute shaders
cuda_std [ crate · repo · docs ]
Standard library for CUDA with rustc_codegen_nvvm
rustacuda [ crate · repo · docs ]
CUDA Driver API Wrapper
cumath [ crate · repo · docs ]
Cuda-based matrix/vector computations
collenchyma [ crate · repo · docs ]
high-performance computation on any hardware
em [ crate · repo · docs ]
A macro for executing a subset of Rust with OpenCL
parenchyma [ crate · repo · docs ]
A high-performance computing (HPC) framework
coaster [ crate · repo · docs ]
high-performance computation on any hardware
cublas [ crate · repo · docs ]
safe Rust wrapper for CUDA's cuBLAS
emu_core [ crate · repo · docs ]
A low-level modular, extensible GPGPU compute library with cross-platform support
Looking for something you didn't find? Try asking on Zulip chat.