주어진 CUDA 장치에 디스플레이가 연결되어 있는지 여부를 결정해야합니다. 이 작업을 수행하는 CUDA 기능을 알지 못합니다.Linux에서 연결된 디스플레이 수를 GPU로 가져 오는 방법은 무엇입니까?
Windows에서 NVAPI를 사용하여 연결된 디스플레이 수와 각 장치의 PCI 버스/슬롯 ID를 얻을 수 있습니다. 후자를 사용하면 일치하는 CUDA 장치를 찾을 수 있습니다 (cudaGetDeviceProperties 호출).
NVAPI를 사용할 수없는 Linux에서 어떻게 동일한 작업을 수행 할 수 있습니까?
기술적으로, 내가 필요한 것은 다음과 같은 코드를 리눅스 대안은 다음과 같습니다
NvAPI_Initialize();
NvPhysicalGpuHandle gpuHandles[64];
NvU32 numOfGPUs;
NvAPI_EnumPhysicalGPUs(gpuHandles, &numOfGPUs);
for (int i = 0; i < numOfGPUs; i++)
{
NvU32 connected_displays = 0;
NvU32 busId = 0;
NvU32 busSlotId = 0;
NvAPI_GPU_GetConnectedDisplayIds(gpuHandles[i], NULL, &connected_displays, NULL);
NvAPI_GPU_GetBusId(gpuHandles[i], &busId);
NvAPI_GPU_GetBusSlotId(gpuHandles[i], &busSlotId);
printf("Current device: %d\n", i);
printf("Number of connected displays: %u\n", connected_displays);
printf("Bus id: %u\tBus slot id: %u\n", busId, busSlotId);
}
NvAPI_Unload();
아마도 'lsof' 명령을 사용하십시오. '/ proc /'아래 깊은 것. –
monito가 cuda로 켜고 끌 수 있는지 감지 할 수 있습니까? 아이디가 생겼을 때베이스가되면 다른 기능을 호출 할 수 있습니다 ...!? – alap
@ Laszlo-AndrasZsurzsa 나는 그것이 cuda 나 GPU와 관련이 없다고 생각합니다. – hthms