Search code examples
nvidianvapinvml

How do NVML and NVAPI compare?


I want to get some basic GPU data: name, RAM size, and do temperature monitoring.

From NVIDIA docs, it's not clear which library to use. Is NVAPI a legacy API which should be avoided?


Solution

  • I believe one of the main differences is NVAPI is only available on windows

    Additionally, NVML is intended for third party use:

    Each new version of NVML is backwards compatible and is intended to be a platform for building 3rd party applications. https://developer.nvidia.com/nvidia-management-library-nvml

    NVAPI is intended for internal use:

    NVAPI is constantly and rigorously tested not only for end-users, but for internal use at NVIDIA and our closest partners. https://developer.nvidia.com/nvapi

    Last, NVML is mostly for monitoring. NVAPI appears to have a greater ability to set attributes on the device (such as fan speed)