AFDS12, erster Tag: HSA, GPU-Compute und Spiele
APUs beschleunigen Spiele, indem sie der CPU Aufgaben von der Sichtbarkeitsprüfung bis hin zu ganzen Subsystemen wie Physik oder KI abnehmen - über dieses Ziel von AMDs Heterogeneous System Architecture HSA samt der zugehörigen Intermediate Language IL sprach Matthijs De Smedt auf dem AFDS12.
DirectX 11 bietet mit DirectCompute bereits eine Möglichkeit, Algorithmen nach Wahl des Entwicklers auf der GPU auszuführen. Doch bislang erschöpft sich der Nutzen hauptsächlich in Screenspace-Techniken, welche beim Post-Processing oder - im Falle von Civilization V - bei der Dekompression von Daten in den GPU-Speicher zum Einsatz kommen. Auch beschleunigte Spielphysik beschränkt sich derzeit zumeist auf reine, nicht den Spielablauf verändernde Effekte wie zum Beispiel Rauch/Nebel oder bewegliche Stoffe. Der gemeinsame, einfache Grund: Die Daten sollten aus Performancegründen nicht noch einmal zurück auf den langen Weg zur CPU geschickt werden müssen.
Das Problem liegt laut De Smedt vom niederländischen Entwickler Nixxes Software, welcher unter anderem für die Grafikengine von Deus Ex: Human Revolution verantwortlich zeichnete, in der Latenz, dem Kopieraufwand und im noch immer begrenzten Funktionsumfang der Grafikprozessoren. Nachdem GPU-Compute oder GPGPU sich bereits mit speziellen APIs wie DirectCompute, OpenCL oder Cuda von der ersten Stufe, in welcher die Grafik-APIs DirectX und OpenGL zweckentfremdet wurden, weiterentwickelt hat, sind heterogene Systeme die nächste Stufe. Genauer gesagt Modelle wie AMDs HSA, die Heterogeneous System Architecture, welche trotz unterschiedlicher Prozessoren ein gemeinsames Programmiermodell und Speichermanagement bieten sollen.
Dadurch würde zum Beispiel das Umkopieren von Programmteilen in den Grafikspeicher entfallen und bei der Nutzung von AMDs HSAIL, der speziellen Programmierumgebung für APUs, auch die zusätzliche Latenz durch exzessives DirectX-Buffering wäre Schnee von Gestern. Per Kompileroption können verschiedene Arten von Prozessoren angesprochen werden - AMD hofft, dass dabei auch Modelle von anderen Firmen sein werden.
Ein Spiel, welches sich diese Technik zu Nutze machen würde, könnte zum Beispiel auf einem System mit einer APU und einer dedizierten GPU - De Smedt ist gesteht Spiele-PCs realistischerweise auch künftig eine dedizierte GPU zu - die in der APU integrierten Recheneinheiten anstelle von asymmetrischem Crossfire zur Beschleunigung bestimmter Algorithmen nutzen. Mögliche Anwendungsgebiete wären einzelne Bearbeitungsstufen der Render-Pipeline wie das Frustrum- oder Objekt-Culling vor der Rasterisierung oder auch ganze Systeme wie Physik-Solver oder Wegfindungsroutinen im Rahmen der Spiel-AI.
Auf die Frage, ob ein solcher Ansatz aufgrund der zusätzlich nötigen, optionalen Pfade die Entwicklung nicht zu sehr verkomplizieren würde, entgegnete De Smedt im persönlichen Gespräch, dass ein gewisser Mehraufwand natürlich darinstecke, man andererseits aber wieder Optimierungszeit einsparen könne, da man durch die APU-Ausnutzung eine höhere Grundperformance in entsprechend ausgestatteten Systemen habe. Außerdem setzten bereits jetzt viele Entwickler spezielle, auf die beiden großen Hersteller AMD und Nvidia angepasste Versionen bestimmter Shader ein.
APUs könnten vergleichbar den SPUs in Sonys Playstation 3 dazu genutzt werden, CPU und/oder Grafikkarte von anderen Aufgaben zu entlasten. So ließe sich nicht nur die Gesamtleistung steigern sondern auch komplett neue Ansätze für verschiedene Techniken könnten sich ergeben, wenn die Kreativität der Programmierer erst einmal geweckt worden sei. APUs würden ohnehin bald so verbreitet wie derzeit herkömmliche Multi-Core-CPUs sein - rechnet mana Intels Core-i-Prozessoren ab der zweiten Generation dazu, stimmt das bereits jetzt. De Smedt hofft daher, dass auch Intel in dieselbe Richtung entwickelt, einen zu AMDs HSA kompatiblen Weg hält er allerdings für unwahrscheinlich, sodass hier Laufzeitcompiler zum Einsatz kommen müssen, um zur verwendeten Systemumgebung passenden Programmcode zu erzeugen.
AMDs hauseigene Entwicklerkonferenz Fusion Developer Summit findet 2012 zum zweiten Mal statt und das erste Mal ist PC Games Hardware live für Sie vor Ort in Bellevue, Washington.
Was halten Sie von den Aussicht, Compute-basierte Techniken in Spiele zu integrieren? Nutzen Sie die Kommentarfunktion und sagen Sie Ihre Meinung.
Welche Spiele unterstützen denn HSA bisher? Und wo zieht dort NV den kürzeren?
Naja also ich sehe es schon als Schwäche das die GTX 680 nur 1/8 der double float Leistung der Radeon 7970 hat.
Aber das ist ja zum Glück für Spieler vollkommen egal. Aber in GPGPU gibt es kaum einen Benchmark in dem NVIDIA eine Chance gegen die 7970 hat.
Der Standard mit der höheren Verbreitung und Unterstützung durch namhafte Firmen wird sich durchsetzen. Also hätte NVIDIA und intel in dem Fall ein problem.
Wobei NVIDIA ohne x86-Lizenz sowieso keine sinnige Option hat.
ansonsten kann man nur sagen das es endlich zeit wurde das mal einer anfängt.schliesslich werden durch die bessere verknüpfung aller hardwarekomponenten diese auch effizienter genutzt.
Welche Spiele unterstützen denn HSA bisher? Und wo zieht dort NV den kürzeren?
Wenn das nun langsam Gestalt annimmt - mich würde es freuen.