In der Maschine, die ich laufe, habe ich zwei GTX 980 Tis. Wenn ich die Anzahl der physischen Geräte abfrage vkEnumeratePhysicalDevices
, wird immer 1 zurückgegeben, obwohl 2 physische diskrete Grafikkarten vorhanden sind. Wenn ich vulkaninfo
das einzige aufgeführte Gerät benutze , ist GPU0
das ein DISCRETE_GPU
/ GTX 980 Ti
.
Dies geschieht sowohl unter Windows 10 als auch unter GNU / Linux 4.5 unter Verwendung der Vulkan API 1.0.11 mit proprietären Nvidia-Treibern.
Ist das normal und ich benutze die API nicht richtig oder ist das ein Fehler? Ich habe das Gefühl, einen offensichtlichen Fehler gemacht zu haben, aber ich kann in der Vulkan-Spezifikation nichts darüber finden.
Aus Gründen der Übersichtlichkeit frage ich genau so die Anzahl der physischen Geräte ab:
auto deviceCount = uint32_t{0};
instance.enumeratePhysicalDevices(&deviceCount, nullptr);
// At this point deviceCount is 1
Um zu bestätigen, dass das Betriebssystem die Karten sieht:
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 |
+-------------------------------+----------------------+----------------------+
Antworten:
Von dem LunarG FAQ :
Ich würde dieses Problem als etwas abschreiben, das nicht implementiert wurde, weil es noch nicht erforderlich war, dass sie es implementieren. Wenn Vulkan eine bessere Unterstützung für mehrere GPUs hinzufügt, die in seiner Spezifikation erforderlich ist, werden diese Probleme höchstwahrscheinlich behoben. Es ist seltsam, dass die verfügbaren GPUs immer noch nicht verfügbar gemacht werden, aber selbst wenn dies der Fall ist, ist Vulkan 1.0.x nicht bereit, mehrere GPUs so einzusetzen, dass Spiele davon profitieren.
Update vom 23.07.2016: Mit dem Nvidia GeForce-Treiber v368.69 sind für Vulkan mehrere GPUs sichtbar.
Ohne Änderungen vorzunehmen (weiterhin die Vulkan API v1.0.11 zu verwenden) und auf den neuesten Treiber von Nvidia zu aktualisieren, habe ich vollen Zugriff auf beide physischen Geräte auf meinem Computer. Dies bedeutet nicht, dass die Unterstützung für mehrere GPUs hier ist, aber es ist der erste Schritt in Vulkan sogar eine gute Wahl bei der Entwicklung eines Spiels.
quelle
Sie sollten die SLI-Brücke deaktiviert / entfernt haben.
Das ist der offensichtliche Fehler, den ich hier sehe. AFAIK.
quelle