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.

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:

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:

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:

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

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

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

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:

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:

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:

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