#nvidia #run-time #driver #cuda #gpu

sys baracuda-nvml-sys

Raw FFI bindings and dynamic loader for the NVIDIA Management Library (NVML)

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

#1384 in Graphics APIs


Used in 2 crates (via baracuda-nvml)

MIT/Apache

100KB
1.5K SLoC

baracuda-nvml-sys

Raw FFI bindings + dynamic loader for NVIDIA NVML — driver-bundled GPU monitoring and management (the same library nvidia-smi uses).

Symbols resolve lazily via libloading; no link-time dependency on libnvidia-ml.so / nvml.dll.

Most users want baracuda-nvml — that crate exposes typed Device handles, ECC controls, P-state / clock / power-limit operations, NVLink topology queries, and event watchers.

What's exposed

  • Device enumeration, identification (UUID / PCI / index / minor number), name / serial.
  • Memory / temperature / power / fan / utilization queries.
  • Clock info (current, max, applications, default) and applications-clock set.
  • Power-limit get / set / range.
  • P-states (power + performance).
  • Temperature thresholds.
  • ECC error counters (per-location + total) and ECC mode set.
  • PCI info, link generation, link width, throughput.
  • NVLink state, version, capability.
  • Process enumeration (compute + graphics).
  • Compute mode, persistence mode, GOM.
  • Event sets — register / wait.
  • Field values.

NVML is bundled with the NVIDIA driver, so it's available wherever a driver is installed (no separate CUDA toolkit needed).

Part of the baracuda workspace.

License

Dual MIT / Apache-2.0.

Dependencies

~215–680KB
~14K SLoC