7 releases
Uses new Rust 2024
| new 0.0.1-alpha.13 | May 11, 2026 |
|---|---|
| 0.0.1-alpha.7 | May 7, 2026 |
| 0.0.1-alpha.5 | Apr 29, 2026 |
| 0.0.1-alpha.3 | Apr 28, 2026 |
| 0.0.1-alpha.2 | Apr 24, 2026 |
#83 in #nvidia
Used in 2 crates
(via baracuda-cufile)
89KB
1.5K
SLoC
baracuda-cufile-sys
Raw FFI bindings + dynamic loader for NVIDIA cuFile — the GPUDirect Storage user-space library, enabling direct DMA between NVMe / network storage and GPU memory without bouncing through host RAM.
Symbols resolve lazily via libloading;
no link-time dependency on libcufile.so.
Most users want baracuda-cufile — that crate exposes typed
driver-lifecycle / file-handle / buffer-registration / read-write /
batch-IO APIs in idiomatic Rust.
Platform support
cuFile / GPUDirect Storage is Linux-only. The loader fails fast with a clear error on Windows / macOS.
What's exposed
- Driver lifecycle:
cuFileDriverOpen,cuFileDriverClose,cuFileDriverGetProperties,cuFileDriverSetPollModeetc. - File-handle register / deregister.
- Buffer register / deregister (for both pinned and managed memory).
- Sync read / write:
cuFileRead,cuFileWrite. - Async read / write on a stream.
- BatchIO: setup, submit, poll, cancel, destroy.
- Configurable direct-I/O / cache / pinned-mem limits.
Part of the baracuda workspace.
License
Dual MIT / Apache-2.0.
Dependencies
~225–590KB
~13K SLoC