将OpenCL设备与NVAPI设备关联

时间:2014-11-24 21:24:53

标签: c map opencl nvapi

我正在尝试将OpenCL GPU设备与我在多GPU系统中使用NvAPI_EnumPhysicalGPUs的NVAPI设备相关联。

问题是,我可以将clGetDeviceInfoCL_DEVICE_VENDOR_ID一起使用,它始终是唯一的,这是最好的方式,我可以从NvAPI_SYS_GetChipSetInfo检索供应商。但它与我从NvPhysicalGpuHandle获得的NvAPI_EnumPhysicalGPUs无关。有没有办法联系到这个?

当然,我可以使用名字,但这并不好。

1 个答案:

答案 0 :(得分:0)

有办法做到这一点。在OpenCL中,出于某种原因,记录的功能很少。您需要使用常量clGetDeviceInfo调用0x4008,它将为您提供以下设备句柄的总线ID。

cl_uint busID;
clGetDeviceInfo(device,0x4008,sizeof(cl_uint), &busID,NULL);
printf("%d",busID);

在NvApi方面使用NvAPI_GPU_GetBusId。然后,您可以通过共同绘制总线来关联句柄。