Na máquina em que estou executando, tenho duas GTX 980 Tis. Quando eu pergunto, a contagem de dispositivos físicos vkEnumeratePhysicalDevices
sempre retorna 1, apesar de ter duas placas gráficas físicas discretas. Quando uso vulkaninfo
o único dispositivo listado é o GPU0
que é DISCRETE_GPU
/ GTX 980 Ti
.
Isso acontece no Windows 10 e no GNU / Linux 4.5 usando a API Vulkan 1.0.11 com drivers proprietários da Nvidia.
Esse comportamento é normal e não estou usando a API corretamente ou isso é um bug? Sinto que cometi um erro óbvio evidente, mas não consigo encontrar nada na especificação Vulkan sobre isso.
Para maior clareza, é exatamente assim que consulta a contagem de dispositivos físicos:
auto deviceCount = uint32_t{0};
instance.enumeratePhysicalDevices(&deviceCount, nullptr);
// At this point deviceCount is 1
Além disso, para confirmar que o sistema operacional vê os cartões:
Windows 10:
C:\Users\matt>wmic path win32_VideoController get name
Name
NVIDIA GeForce GTX 980 Ti
NVIDIA GeForce GTX 980 Ti
Linux 4.5:
+------------------------------------------------------+
| NVIDIA-SMI 364.19 Driver Version: 364.19 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 980 Ti Off | 0000:01:00.0 On | N/A |
| 0% 56C P8 34W / 300W | 444MiB / 6140MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 GeForce GTX 980 Ti Off | 0000:02:00.0 Off | N/A |
| 0% 43C P8 25W / 300W | 22MiB / 6143MiB | 0% Default |
+-------------------------------+----------------------+----------------------+