我试图将OpenCL GPU设备与我在多GPU系统中使用NvAPI_EnumPhysicalGPUs的NVAPI设备联系起来。
问题是,我可以将clGetDeviceInfo与CL_DEVICE_VENDOR_ID一起使用,这总是唯一的,这是最好的方法,我可以从NvAPI_SYS_GetChipSetInfo中检索供应商。但它与我从NvPhysicalGpuHandle获得的NvAPI_EnumPhysicalGPUs没有关联。有什么办法把这事联系起来吗?
当然,我可以用名字,但这不太好。
发布于 2014-12-07 05:06:02
有一种方法可以做到。在OpenCL中,由于某种原因,有一个糟糕的文档化特性。您需要使用常量clGetDeviceInfo调用0x4008,它将为下面的设备句柄提供总线id。
cl_uint busID;
clGetDeviceInfo(device,0x4008,sizeof(cl_uint), &busID,NULL);
printf("%d",busID);在NvApi端使用NvAPI_GPU_GetBusId。然后,您可以通过对公共汽车进行组合来关联这些句柄。
https://stackoverflow.com/questions/27114452
复制相似问题