2014-11-24 7 views
2

Open-GPU 장치를 Multi-GPU 시스템에서 NvAPI_EnumPhysicalGPUs을 사용하는 NVAPI 장치와 연결하려고합니다.OpenCL 장치를 NVAPI 장치와 연결

문제는 clGetDeviceInfoCL_DEVICE_VENDOR_ID을 항상 사용할 수 있으며 가장 좋은 방법이며 NvAPI_SYS_GetChipSetInfo에서 해당 공급 업체를 검색 할 수 있습니다. 하지만 NvAPI_EnumPhysicalGPUs에서 얻은 NvPhysicalGpuHandle과 관련이 없습니다. 이것을 연관시킬 방법이 있습니까?

물론 이름을 사용할 수는 있지만 좋지 않습니다.

+0

'NvAPI_GPU_GetBusId'와 친구들은 어떻습니까? –

+0

@ ParkYoung-Bae NVAPI 측에서 이걸 사용할 수는 있지만 OpenCL에서 버스 ID를 얻으려면 어떻게해야합니까? 'clGetDeviceInfo'는 문서 페이지에서 버스 ID를 반환하는 정의가없는 것 같습니다. – Vanya

답변

0

방법이 있습니다. OpenCL에는 어떤 이유로 문서화 된 기능이 없습니다. clGetDeviceInfo0x4008 상수로 호출해야하며 다음 장치 핸들에 대한 버스 ID를 제공합니다.

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

NvApi 측에서는 NvAPI_GPU_GetBusId입니다. 그런 다음 버스를 완성하여 핸들을 연결할 수 있습니다.