On old drivers, nvmlProcessInfo_t does not have gpuInstanceId and computeInstanceId fields. The function pointer check uses the legacy version of nvmlDeviceGetGraphicsRunningProcesses and nvmlDeviceGetComputeRunningProcesses (without _v2 suffixes), but the definition of struct nvmlProcessInfo_t is the v2 version. This causes inconsistency of the NVML APIs.
As nvtop never shows the GI ID and CI ID, it's OK to always using the legacy version of NVML APIs. (fixes #107)
On old drivers,
nvmlProcessInfo_t
does not havegpuInstanceId
andcomputeInstanceId
fields. The function pointer check uses the legacy version ofnvmlDeviceGetGraphicsRunningProcesses
andnvmlDeviceGetComputeRunningProcesses
(without_v2
suffixes), but the definition ofstruct nvmlProcessInfo_t
is the v2 version. This causes inconsistency of the NVML APIs.As
nvtop
never shows theGI ID
andCI ID
, it's OK to always using the legacy version of NVML APIs. (fixes #107)