1. NVML API Reference
The NVIDIA Management Library (NVML) is a C-based programmatic interface for monitoring and managing various states within NVIDIA Tesla™ GPUs. It is intended to be a platform for building 3rd party applications, and is also the underlying library for the NVIDIA-supported nvidia-smi tool. NVML is thread-safe so it is safe to make simultaneous NVML calls from multiple threads.
API Documentation
Supported OS platforms:
- Windows 64-bit: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows 10
- Linux: 64-bit
Supported products:
-
Full Support
- NVIDIA Tesla Line:
- A100, A40, A30, A16, A10
- H100
- T4
- V100
- P100, P40, P4, P6
- M60, M40, M6, M4
- K80, K520
- NVIDIA Quadro Line:
- RTX 8000, RTX 6000, RTX 5000, RTX 4000, RTX 3000
- GV100, GP100, P6000, P5200, P5000, P4000, P2200, P2000, P1000, P620, P600, P400
- M6000 24GB, M6000, M5000, M4000, M2000
- K6000, K5200, K5000, K4000, K4200, K2200, K2000, K2000D, K1200, K620, K600, K420, 410
- NVIDIA GeForce Line:
- none
- NVIDIA Tesla Line:
- Limited Support
- NVIDIA Tesla Line: All other current and previous generation Tesla-branded parts
- NVIDIA Quadro Line: All other current and previous generation Quadro-branded parts
- NVIDIA GeForce Line: All current and previous generation GeForce-branded parts
- Standard driver install: %ProgramW6432%\"NVIDIA Corporation"\NVSMI\
- DCH driver install: \Windows\System32
Note that these libraries will not be added to the path on Windows. To dynamically link to NVML, add this path to the PATH environmental variable. To dynamically load NVML, call LoadLibrary with this path.
On Linux the NVML library is named "libnvidia-ml.so" and can be found on the standard library path. To link against the NVML library add the -lnvidia-ml flag to your linker command.
The NVML API is divided into five categories:
-
Support Methods:
-
Query Methods:
-
Control Methods:
-
Event Handling Methods:
-
Error reporting Methods