我正在努力让CUDA应用程序也监视GPU的核心温度。该信息可通过NVAPI访问。NVAPI设备ID如何与CUDA设备ID关联?
一个问题是,我想确保我在监视相同的GPU,因为我正在运行我的代码。
但是,似乎有信息表明我从NvAPI_EnumPhysicalGPUs
获得的设备ID与SetDeviceId
使用的设备ID不对应。
任何人都可以澄清?
我正在努力让CUDA应用程序也监视GPU的核心温度。该信息可通过NVAPI访问。NVAPI设备ID如何与CUDA设备ID关联?
一个问题是,我想确保我在监视相同的GPU,因为我正在运行我的代码。
但是,似乎有信息表明我从NvAPI_EnumPhysicalGPUs
获得的设备ID与SetDeviceId
使用的设备ID不对应。
任何人都可以澄清?
我看到一个有趣的讨论here。
据我所知,这些数字没有直接的相关性。
我用我的电脑测试了两个NVIDIA GPU GTX 550 ti。
结果是,所有信息都是一样的,除了公交ID。因此,在nvapi中,使用NvAPI_GPU_GetBusId,这将得到一个整数,如1,2,...
然后,在cuda API中,使用cudaDeviceGetPCIBusId,这将得到一个字符串,如0000:01:00.0。
比较busID整数与BusID字符串的第二部分,
你可以得到他们的关系。