APU13: Andersson will Mantle für alles und jeden

Artikel-Index:
AMD Mantle-API - Logo

Auf der APU13 gab Johan Andersson, Entwicklerchef von DICE und Mantle bekannt, dass Mantle auch für andere GPU-Hersteller offen stünde und er es auch auf Linux- und Mobilesystemen sehen will.

31apu13_dice

32apu13_dice

33apu13_dice

Auf der letzten obigen Folie wird explizit erwähnt, dass Mantle keine herstellerspezifische Erweiterung sei. Das Problem wird aber wie immer im Detail stecken, schon im nächsten Absatz heißt es nur, dass die meisten Features von allen GPUs unterstützt werden könnten. Einige wenige Funktionen könnten durchaus Probleme bereiten. Für genauere Informationen müsste aber Nvidia eine Stellungsnahme abgeben.

Desweiteren erklärte er die Vorteile des Mantle-Programmiermodells. DirectX und OpenGL seien nicht einmal so schlecht, immerhin würde sie es ermöglichen, mehrere Kerne auszulasten:

15apu13_dice

Allerdings kommt es auch zu Problemen, genannt wurde extra Latenzzeiten, eine schlechte Skalierung jenseits von 2-3 Threads sowie eine gegenseitige Blockierung des Treiber- und des Applikationsthreads. Mantle ändert das nun und ermöglicht eine Spieleprogrammierung wie es auf Konsolen üblich ist, dies wurde folgendermaßen illustriert:

16apu13_dice

Auffallend ist hier insbesondere der fehlende Treiberthread. Dieser ist nicht mehr nötig, nachdem sich die Engine bzw. der Programmierer selbst um die besten Optimierungen kümmert. Außerdem ist die Latenz gering und der Skalierungsgrad für Mehrkernsysteme optimal.

Allgemein wurde Mantles Vorteil gegenüber DirectX und OpenGL folgendermaßen dargestellt:

05apu13_dice

Ebenfalls ein interessanter Punkt war die Tatsache, dass Andersson behauptete, dass die Entwicklerzeiten für komplexe Spieleengines niedriger seien:

07apu13_dice

Wichtig erschien auch das Wegfallen der normalen Grafikpipeline bzw. deren Ersetzen durch Objekte, die sich damit auch cachen lassen:

13apu13_dice

Aber nicht nur die CPU wird besser ausgelastet, auch die GPU profitiert von Mantle:

18apu13_dice

Neben dem naheliegenden Fall, dass man auf von DirectX nicht unterstützte GPU-Features zugreifen kann, erwähnte Andersson „Shader Pipeline Objects” und Resource States. Letzere verhindern redundante Berechungen, während erstere schon vorher unter den CPU-Vorteilen genannt wurden. Für die GPU wären sie aber ebenfalls vorteilhaft, da man die Objekte auf spezifische Hardwareeigenschaften optimieren könnte.

Als weiterer Grafikvorteil werden Warteschlangen für verschiedene GPU-Einheiten angesprochen:

19apu13_dice

Diese wurde bereits im vorherigen Vortrag von heute Nachmittag angesprochen.

Abschließend wurden noch verschiedene Einsatzbeispiele für die Warteschlangen vorgestellt. Vielleicht der interessanteste ist der letzte Punkt, der laut Andersson von der PS3 inspiriert ist:

24apu13_dice

Dabei „füttern” die GPGPU-Engines einer Grafikkarte die Grafikberechnung. Dies wird ein interessanter Anwendungsfall für eine Kaveri-APU in Verbindung mit einer diskreten GPU sein – so er denn genutzt werden wird.

Zum Schluss wurde noch der 2. Titel der Frostbite3-Engine vorgestellt, wichtigster Eckpunkt dabei ist, dass der Mantle-Port sofort funktioniert und keine weiteren Anpassungen nötig sind:

36apu13_dice

Damit hat AMD und DICE vermutlich das Maximale getan, man darf auf die Antworten der Konkurrenz und die Mantle-Zukunft unter Linux samt MacOS und im Mobilbereich gespannt sein.

Alle Folien gibt es auf der nächsten Seite:

Alle Folien »