In the machine I'm running I have two GTX 980 Tis.
When I query the physical device count with vkEnumeratePhysicalDevices
it always returns 1 despite having 2 physical discrete graphics cards. When I use vulkaninfo
the only device listed is GPU0
which is a DISCRETE_GPU
/ GTX 980 Ti
.
This happens in Windows 10 as well as GNU/Linux 4.5 using Vulkan API 1.0.11 with proprietary Nvidia drivers.
Is this normal behavior and I'm not using the API correctly or is this a bug? I feel like I've made a glaring obvious mistake but I can't find anything in the Vulkan specification about it.
For clarity, this is exactly how I query physical device count:
auto deviceCount = uint32_t{0};
instance.enumeratePhysicalDevices(&deviceCount, nullptr);
// At this point deviceCount is 1
Also, to confirm that the OS sees the cards:
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 |
+-------------------------------+----------------------+----------------------+