2017-12-15 1 views
0

Gibt es eine Möglichkeit, windows.h für alle GPU-Geräte in der Maschine abzufragen? Ich bin nicht sicher, ob diese Header-Datei für so etwas richtig ist. Aber ich suche nach einer Lösung, die nicht NVML oder CUDA verwendet, sondern etwas nativer als von anderen Bibliotheken abhängig ist.Abfrage von GPU-Geräten mit Qt

Alles, was ich abfragen muss, ist, wie viele GPUs gibt es im System und möglicherweise einige Informationen rund um es.

Sobald ich das getan habe, hoffe ich, in der Lage sein, das gleiche für die CPU zu tun.

Jeder Schub in die richtige Richtung wäre willkommen. Vielen Dank!

+0

Ja, welche Informationen benötigen Sie über die GPUs? – Mikhail

+0

1. Wie viele GPUs sind verfügbar? 2. Sind sie NVIDIA oder AMD? 3. Modell (nicht erforderlich) – nickcorin

Antwort

0

Wenn Sie etwas allgemeines wollen - es ist die Vulkan API.

Funktionen wie vkEnumeratePhysicalDevices, vkGetPhysicalDeviceProperties und vkGetPhysicalDeviceFeatures. Die VkPhysicalDeviceProperties von vkGetPhysicalDeviceProperties gibt die vendorID (0x10DE für NVIDIA, 0x1002 für AMD).

+0

Ist die Vulkan API in Qt 5.9 verfügbar? Oder müsste ich auf 5.10 upgraden? – nickcorin

+0

Es hängt nicht mit Qt zusammen. Vulkan kommt mit den Grafiktreibern (als 'vulkan-1.dll' auf Windows,' libvulkan.so' auf Linux). Sie können es dynamisch mit dlopen öffnen und notwendige Funktionen erhalten (oder verwenden Sie einige dynamische Lader von Drittanbietern oder statische Laufzeiten, um dasselbe zu tun). – Velkan