Kategorien

MICROSOFT WORK GRAPHS API ERMÖGLICHT EINE EFFIZIENTERE ZUSAMMENARBEIT ZWISCHEN CPU UND GPU

Das neue SDK ist in mehrfacher Hinsicht ein wichtiger Meilenstein.
J.o.k.e.r
J.o.k.e.r
Microsoft Work Graphs API ermöglicht eine effizientere Zusammenarbeit zwischen CPU und GPU

Das Microsoft-Entwicklungsteam hat kürzlich ein sehr wichtiges Softwarepaket veröffentlicht, das Agility SDK 1.613. Die neue Version bringt eine Reihe neuer Funktionen, die Spieleentwicklern helfen, einschließlich der Unterstützung für Shader Model 6.8 und die Work Graphs API. Letzteres ist auch deshalb wichtig, weil es dem Prozessor und der GPU eine effizientere Zusammenarbeit ermöglicht und die GPU eigenständig Aufgaben erstellen kann, und zwar in Echtzeit. Das EPIC-Softwareentwicklungsteam fand diese Fähigkeit sehr nützlich und hat darum gebeten, sie in naher Zukunft verfügbar zu machen.

Um die Vorteile der Work Graphs API zu verstehen, lohnt sich zunächst ein Blick darauf, wie die Aufgabenverteilung bisher funktioniert hat. Ein Teil der Aufgaben, die zum Rendern der Bilder erforderlich sind, wurde vom Prozessor erledigt, ein anderer Teil vom Grafikprozessor. Diese Methode ist oft nicht ideal, da der Prozessor manchmal zu viel Zeit damit verbringt, zu entscheiden, welche Aufgabe die Grafikkarte als nächstes erledigen soll. Diese Situation wird durch die Work Graphs API entschärft, die es der CPU ermöglicht, eine Aufgabenliste für den Grafikprozessor im Voraus zu erstellen.

Anstatt auf die Fertigstellung jedes Blocks zu warten, kann die GPU eine Liste von Aufgaben erstellen, an denen sie arbeiten kann, bis die CPU eine neue Aufgabenliste erstellt. Einfach ausgedrückt, ermöglicht diese Methode eine effizientere Zusammenarbeit und eine schnellere Speicherverwaltung, was zu einer reibungsloseren Ausführung komplexer Aufgaben führt. Insgesamt werden die Ressourcen effizienter genutzt, was sich auch positiv auf die Leistung auswirken kann.

Galerie öffnen

Die andere wichtige Neuerung ist die Veröffentlichung von Shader Model 6.8, das eine Menge neuer Funktionen einführt. Dazu gehören "Start Vertex" und "Instance Location", die eine Parametrisierung von Shadern direkt beim API-Aufruf ermöglichen, was sich in vielen Fällen als nützlich erweisen kann, z. B. bei benutzerdefinierten Adressberechnungen, die von festen Funktionsdaten unabhängig sind. Eine weitere interessante neue Funktion ist der Wellengrößenbereich, der es Entwicklern ermöglicht, die bevorzugte Größe von Wellen in Shadern anzugeben, wodurch die erforderliche Shadergröße reduziert und sogar die Verwendung mehrerer Shader vermieden werden kann.

Ebenfalls neu im Repertoire ist die Funktion Expanded Comparison Sampling, mit der die plattformübergreifende Shader-Unterstützung verbessert werden kann. Eine weitere Neuerung ist die Funktion GPU Upload Heaps, die eine schnelle Datenübertragung zwischen CPU und GPU ermöglicht. Diese Neuerung basiert auf dem ResizableBAR-Feature, durch das die CPU mit geringer Latenz direkt in den VRAM schreiben kann - es besteht keine Notwendigkeit, Daten vom VRAM zur CPU über den PCI-Bus zu übertragen, was zu Zeit- und Leistungsverlusten führt und sich negativ auf die Latenz auswirkt.

Das neue SDK steht einigen Entwicklern bereits zur Verfügung, erfordert aber Nvidia-Grafikkarten der Fronton Ampere (GeForce RTX 30) oder Ada Lovelace (GeForce RTX 40) Serie, während AMDs Feld derzeit nur RDNA 3 basierte (Radeon RX 7000 Serie) Grafikkarten unterstützt - beide Hersteller haben bereits Treiber veröffentlicht, um die oben genannten Features zu ermöglichen. Das Intel-Team hat noch keine kompatiblen Treiber veröffentlicht, aber das könnte sich in den nächsten Tagen ändern.

Das neueste SDK kann hier heruntergeladen werden.

Wir empfehlen Ihnen gerne

    Teste

      Diesbezügliche Artikel

      Zurück zum Seitenanfang