oxicuda-backend
Part of the OxiCUDA ecosystem — Pure Rust CUDA replacement for the COOLJAPAN ecosystem.
Overview
oxicuda-backend defines the ComputeBackend trait — a unified, object-safe abstraction over GPU compute APIs (CUDA, ROCm, Metal, Level Zero). Higher-level crates such as SciRS2, ToRSh, and oxionnx program against this trait rather than any specific GPU API, enabling transparent backend switching at runtime without recompilation.
Features
- Object-safe
ComputeBackendtrait usable asBox<dyn ComputeBackend>or&dyn ComputeBackend - General matrix multiply (
gemm), 2D convolution (conv2d_forward), and scaled dot-product attention - Element-wise unary and binary operations (ReLU, sigmoid, tanh, exp, log, sqrt, abs, neg; add, sub, mul, div, max, min)
- Reduction operations along any axis (sum, max, min, mean)
- Device memory management:
alloc,free,copy_htod,copy_dtoh,synchronize - Rich error type (
BackendError) covering unsupported ops, device errors, OOM, and uninitialized state - Zero external dependencies — built entirely on
std
Usage
Add to your Cargo.toml:
[]
= "0.1.3"
use ;
Status
- Version: 0.1.3 (2026-04-17)
- Tests: 10 passing
License
Apache-2.0 — © 2026 COOLJAPAN OU (Team KitaSan)