D3D12 Cooperative Vector: Neural-Rendering-Inferenz direkt aus dem Shader-Thread

Das DirectX-Team hat mit Cooperative Vector eine D3D12-Funktion vorgestellt, die Hardware-Beschleunigung für Vektor- und Matrixoperationen direkt in den Shader bringt. Wie das DirectX-Entwicklerteam am 2. Juni 2025 im DirectX Developer Blog dargelegt hat, lassen sich damit kleine neuronale Netze unmittelbar aus einzelnen Shader-Threads heraus ausführen. Verfasst wurde der Beitrag von Amar Patel und Greg Roth. Cooperative Vector ist Teil von Shader Model 6.9 und baut auf den HLSL Long Vectors sowie den DXIL Vectors auf.

Der Kerngedanke besteht darin, klassische Berechnungen wie Beleuchtung, Materialauswertung oder Texturkompression durch ein neuronales Netz zu ersetzen, ohne die übrige Renderpipeline umzubauen. Laut Microsoft kann ein Shader-Thread die Inferenz aufrufen, „with no other change to the rendering pipeline“. Die Funktion liegt als Preview vor und setzt das Agility SDK 1.717.1-preview sowie den DirectX Shader Compiler v1.8.2505 voraus. Damit landet ein Ansatz im Standard-API-Stack, den NVIDIA auf der GDC 2025 rund um Neural Rendering demonstriert hatte.

Wave-Kooperation als Beschleunigungsprinzip

Der Namensbestandteil „Cooperative“ verweist auf ein Implementierungsdetail der Hardware-Beschleunigung. Nach Darstellung des Blogs werden einzelne Vektor-Matrix-Multiplikationen, die von den Threads innerhalb einer Wave abgesetzt werden, zu einer Matrix-Matrix-Operation zusammengeführt und kollektiv für die gesamte Wave beschleunigt. So nutzen einzelne Threads die für Tensoroperationen ausgelegten Recheneinheiten der GPU, ohne dass die Entwicklung die Datenparallelität manuell organisieren muss.

Für die lineare Algebra stehen vier Intrinsics bereit. Mul() führt die Matrix-Vektor-Multiplikation aus, MulAdd() ergänzt diese um die Addition eines Bias-Vektors. OuterProductAccumulate() bildet das äußere Produkt zweier Vektoren, VectorAccumulate() übernimmt die akkumulierende Vektoraddition. Diese Operationen decken die im Inferenzpfad kleiner neuronaler Netze üblichen Rechenschritte ab und werden direkt von den Treibern beim Kompilieren der Shader auf die jeweilige GPU abgebildet. Wie solche kompakten Netze überhaupt in den Renderprozess greifen, hatte NVIDIA bereits in einer Folge des GeForce TechTalks zu neuronalen Netzwerken in Spielen erläutert.

Hardware-Unterstützung und erste Messwerte

Die Preview wird von mehreren Anbietern getragen. Auf NVIDIA-Seite unterstützen die GeForce-RTX-GPUs die Funktion über einen Entwickler-Preview-Treiber, Intel nennt die Arc-B-Serie sowie Core-Ultra-Prozessoren der zweiten Serie. Auch AMD stellt einen Preview-Treiber bereit, zusätzlich steht die Funktion im Software-Rasterisierer WARP zur Verfügung. Damit lässt sich Cooperative Vector auch ohne passende Hardware testen.

Als konkreten Anwendungsfall nennt der Blog die neuronale Texturkompression von Intel. Deren Neural Block Texture Compression läuft nach Angaben des Unternehmens mit Cooperative Vectors auf den Intel-Arc-GPUs der B-Serie um den Faktor zehn schneller. Weitere herstellerspezifische Zahlen führt der Beitrag nicht auf. Mit der Einbettung der Inferenz in den Shader-Thread zielt DirectX darauf, neuronale Verfahren als reguläre Bausteine der Echtzeit-Renderpipeline nutzbar zu machen.

Weitere News

Weitere News

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein