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)
I believe one of the main differences is NVAPI is only available on windows
Additionally, NVML is intended for third party use:
NVAPI is intended for internal use:
Last, NVML is mostly for monitoring. NVAPI appears to have a greater ability to set attributes on the device (such as fan speed)