Software Dev Blog

Mobile, Multicore, Multithreading & Visual Computing

Deshalb ist Larrabee für realistische 3D-Spiele wichtig

| 0 comments

Gerade hab ich mir zwei Demofilme zu Lara Croft – Underworld angesehen, und da ist mir mal wieder aufgefallen, wie wichtig realistische 3D-Darstellungen sind. Denn das gesamte Gameplay steht und fällt mit den physikalischen Verhaltensmustern des Spieletitels: Wie echt fällt der Regen auf eine strukturierte Oberfläche? Sieht Laras wehendes Haar wirklich naturgetreu aus? Was passiert mit Gras, wenn sich Mrs. Croft auf demselben geschmeidig abrollt?

All diese Aspkete (und viele mehr) werden mit dem englischen Terminus “Game Physiscs” zusammengefasst, und hier kommt eine Intel-Architektur ins Spiel, die wohl den gesamten Spielemarkt umkrempeln wird: Larrabee. Dahinter verbirgt sich vornehmlich die Idee, rechenintensive 3D-Aufgaben nicht mehr von einer oder mehreren Grafikkarten, sondern von einer CPU-basierten Einheit ausführen zu lassen. Damit ist Larrabee nichts anderes als ein x86-basierter Multicore-Verbund, der dank eines speziellen Befehlssatzes (LRBni) nicht nur für Excel-Tabellen taugt, sondern auch zum Berechnen und Darstellen aufwendiger 3D-Szenen.

So reagiert beispielsweise ein Ball unterschiedlich, je nachdem, ob er auf einer glatten Oberfläche landet oder auf einer weichen. Hinzu kommt der Wunsch vieler Spieler, 3D-Szenen immer komplexer darzustellen, also mit Dutzenden von verschiedenen Objekten, die sich alle realitätsnah verhalten müssen. Und das erfordert viel Rechenzeit und Speicherbandbreite.

Um besser verstehen zu können, was Larrabee hierfür alles tun kann, hat Intel ganz frisch ein neunseitiges PDF online gestellt, in dem es um verschiedene Simulationsmodelle geht und darum, wie zu diesen Zwecken der Larrabee-spezifische Befehlssatz eingesetzt werden kann. Es werden folgende Aspekte näher beleuchtet:

  • Wie lassen sich Flüssigkeiten mithilfe der SPN-Methode simulieren?
  • Was ist bei der Programmierung von festen Gegenständen zu beachten? Hierzu gehören beispielsweise Autounfälle in 3D-Spielen. Denn es geht dabei um weit mehr als nur das Zweite Newtonsche Gesetz.

Zusätzlich zu den verschiedenen Simulationstechniken werden in dem Dokument die Parallelisierung von 3D-Algorithmen mithilfe der Larrabee-Architektur beschrieben. Diese sorgen für eine optimale Skalierung auf der zukünftigen GPCPU-Multicore-Plattform. Dabei erfährt man unter anderem, dass Larrabee gar kein Hexenwerk ist, sondern sich bekannte Techniken wie OpenMP zu eigen macht. Und natürlich geht es bei Larrabee auch um das Synchronisieren von Threads, das Sperren und Freigeben von gemeinsamen Daten und um die Larrabee-spezifische Implementierung des SIMD-Befehlssatzes.

Leave a Reply