UE5 Heterogeneous Multi-GPU
Hinweis: Stand: Unreal Engine 5.8. Dieser Artikel fasst die aktuelle offizielle Epic-Dokumentation zusammen.
UE5 Heterogeneous Multi-GPU ist ein experimentelles Projekt zur herstellerunabhängigen Nutzung mehrerer unterschiedlicher Grafikkarten in Unreal Engine 5. NVIDIA-, AMD- und Intel-GPUs sollen gleichzeitig verschiedene, voneinander unabhängige Aufgaben übernehmen können.
| Stand | 2. September 2026 |
|---|---|
| Engine-Version | Unreal Engine 5.8 |
| Status | Proof of Concept erfolgreich |
| Primary GPU | NVIDIA GeForce RTX 5060 Laptop GPU |
| Worker GPU | Intel(R) UHD Graphics |
Projektziel
Ziel ist eine Multi-GPU-Erweiterung für Unreal Engine 5, die weder identische GPUs noch einen Linked-Adapter-Verbund voraussetzt. Vorgesehen sind unter anderem Kombinationen wie:
- NVIDIA + Intel
- NVIDIA + AMD
- langfristig NVIDIA + AMD + Intel
Die Architektur soll grundsätzlich N GPUs unterstützen und nicht fest auf zwei Grafikkarten beschränkt sein.
Grundprinzip
Unreal Engine verwendet weiterhin eine normale Grafikkarte als Primary GPU für das reguläre Rendering. Weitere erkannte Grafikkarten werden als Worker GPUs registriert. Jeder Worker erhält ein unabhängiges Grafik-Device und eigene Arbeitswarteschlangen.
- Primary GPU: normales Unreal-Rendering über das reguläre D3D12-RHI
- Worker GPUs: separate Devices für gezielt ausgelagerte Aufgaben
- Geplante Workloads: Scene Captures, Spiegel, CCTV-Kameras, Minimap-Rendering, Compute-Aufgaben und weitere unabhängige Render-Workloads
- Automatische Verteilung: Ein späterer Benchmark soll GPUs und Transferwege bewerten und eine sinnvolle Aufgabenverteilung empfehlen.
- Manuelle Kontrolle: Konfiguration und Overrides sollen weiterhin möglich bleiben.
Aktuelles Testsystem
| Rolle | GPU |
|---|---|
| Primary | NVIDIA GeForce RTX 5060 Laptop GPU |
| Worker | Intel(R) UHD Graphics |
Aktueller Entwicklungsstand
- Unreal erkennt beide physischen D3D12-Adapter und filtert den Microsoft Basic Render Driver heraus.
- Die RTX 5060 wird als Primary GPU und die Intel UHD als Worker GPU erkannt.
- Für die Intel-GPU wird unabhängig vom normalen Unreal-RHI ein eigenes
ID3D12Deviceerzeugt. - Für das Worker-Device wird eine eigene D3D12 Direct Command Queue erstellt.
- Eigene Command Lists können auf der Intel-GPU ausgeführt und über einen Fence erfolgreich bestätigt werden.
- Ein realer Datentest kopiert 256 Byte Testdaten über den Pfad Upload → GPU Buffer → Readback.
- Die zurückgelesenen Daten stimmen vollständig mit dem ursprünglichen Testmuster überein. Der Worker-Buffer-Copy-Test meldet PASSED.
Damit läuft UE5.8 regulär auf der RTX 5060, während die Intel UHD gleichzeitig über einen vollständig separaten D3D12-Ausführungspfad angesprochen und tatsächlich für GPU-Arbeit verwendet wird.
Aktuelle Architektur
UE5.8
|
+-- normales UE-D3D12-RHI
| +-- RTX 5060 (Primary)
|
+-- ExperimentalMultiGPU
+-- Intel UHD (Worker)
+-- eigenes ID3D12Device
+-- eigene Direct Command Queue
+-- eigene Command Lists
+-- Fence-Synchronisation
+-- Buffer-Copy / Readback
Modulare Code-Struktur
Der experimentelle Code ist bewusst in kleine, klar abgegrenzte Komponenten aufgeteilt. Das erleichtert die Weiterentwicklung, Fehlersuche und spätere Portierung.
ExperimentalMultiGPU/ +-- MultiGPUAdapterRegistry.* +-- MultiGPUD3D12Device.* +-- MultiGPUD3D12Queue.* +-- MultiGPUD3D12Command.* +-- MultiGPUD3D12Transfer.*
Nächste Entwicklungsstufe
Als nächster Meilenstein soll die Worker-GPU erstmals eine echte Compute-Berechnung durchführen. Dafür soll ein von Unreals normaler Shader-Pipeline kompilierter Compute Shader auf dem unabhängigen Worker-Device ausgeführt werden.
- UE-Shader-Blob verwenden, statt einen separaten DXC-Hack einzubauen
- Root Signature für das Worker-Device erzeugen
- Compute Pipeline State auf der Worker-GPU erstellen
- Testdaten verarbeiten, zurücklesen und auf der CPU verifizieren
- Ressourcen- und Transfer-Benchmarks durchführen
- Cross-Adapter-Datenaustausch erproben
Langfristige Ziele
- Automatische Erkennung und Bewertung beliebiger GPU-Kombinationen
- Benchmarks für Raster-, Compute-, Raytracing- und Transferleistung
- Automatische Empfehlung für Primary- und Worker-Rollen
- Manuelle Zuweisung einzelner Workloads zu bestimmten GPUs
- Unterstützung mehrerer Worker mit unterschiedlichen Update-Raten
- Direkte Cross-Adapter-Transfers, sofern möglich, mit Fallback über den System-RAM
- Vulkan-Implementierung für Linux
- Gleichzeitiger Betrieb von NVIDIA-, AMD- und Intel-GPUs in einem UE-Projekt
Versionsverwaltung und Backup
Die Änderungen werden separat in einem kleinen Git-Repository dokumentiert. Zusätzlich existiert ein vollständiges NAS-Backup der gebauten UE5.8-Engine als Rücksprungpunkt.
Z:\03 Development\UE\UE5.8-MGPU\ +-- Git\ +-- FullBackup\
Zusammenfassung: Der Proof of Concept ist erfolgreich. Eine heterogene Worker-GPU führt bereits echte D3D12-Datenarbeit über ein vom regulären Unreal-RHI unabhängiges Device aus.
