Skip to main content

ferrox_cuda/
lib.rs

1//! ferrox-cuda: hardware capability detection (always compiled, always
2//! tested) plus an optional, feature-gated CUDA execution path.
3//!
4//! Build without any GPU support (the default): `cargo build -p ferrox-cuda`.
5//! Build with the CUDA scaffolding included: `cargo build -p ferrox-cuda --features cuda`.
6//!
7//! The `cuda` feature compiles cleanly in this development sandbox
8//! (which has neither a CUDA toolkit nor a GPU) because `cudarc` is
9//! configured for dynamic loading -- the driver and NVRTC libraries
10//! are `dlopen`'d at runtime, not linked at build time. That means
11//! "this crate compiles with `--features cuda`" is a true, checked
12//! fact. It does **not** mean the CUDA kernels in `gpu.rs` have ever
13//! executed successfully; see that module's docs for exactly what has
14//! and has not been verified.
15
16pub mod capability;
17
18#[cfg(feature = "cuda")]
19pub mod attn;
20#[cfg(feature = "cuda")]
21pub mod gpu;
22#[cfg(feature = "cuda")]
23pub mod graph;
24
25pub use capability::{HardwareProfile, SimdCaps};