我正在尝试将OpenCL GPU设备与我在多GPU系统中使用NvAPI_EnumPhysicalGPUs
的NVAPI设备相关联。
问题是,我可以将clGetDeviceInfo
与CL_DEVICE_VENDOR_ID
一起使用,它始终是唯一的,这是最好的方式,我可以从NvAPI_SYS_GetChipSetInfo
检索供应商。但它与我从NvPhysicalGpuHandle
获得的NvAPI_EnumPhysicalGPUs
无关。有没有办法联系到这个?
当然,我可以使用名字,但这并不好。
答案 0 :(得分:0)
有办法做到这一点。在OpenCL中,出于某种原因,记录的功能很少。您需要使用常量clGetDeviceInfo
调用0x4008
,它将为您提供以下设备句柄的总线ID。
cl_uint busID;
clGetDeviceInfo(device,0x4008,sizeof(cl_uint), &busID,NULL);
printf("%d",busID);
在NvApi方面使用NvAPI_GPU_GetBusId
。然后,您可以通过共同绘制总线来关联句柄。