私が実行しているマシンには、2つのGTX 980 Tiがあります。vkEnumeratePhysicalDevices
2つの物理ディスクリートグラフィックカードがあるにもかかわらず、物理デバイスカウントを照会すると、常に1が返されます。vulkaninfo
リストされている唯一のデバイスを使用する場合、GPU0
それはDISCRETE_GPU
/ GTX 980 Ti
です。
これは、Windows 10およびGNU / Linux 4.5で、Vulkan API 1.0.11と独自のNvidiaドライバーを使用して発生します。
これは通常の動作で、APIを正しく使用していませんか、それともバグですか?私は明白な間違いを犯したように感じますが、それについてのVulkan仕様には何も見つかりません。
わかりやすくするために、これは物理デバイス数を照会する方法とまったく同じです。
auto deviceCount = uint32_t{0};
instance.enumeratePhysicalDevices(&deviceCount, nullptr);
// At this point deviceCount is 1
また、OSがカードを認識していることを確認するには:
ウインドウズ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 |
+-------------------------------+----------------------+----------------------+