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

veröffentlicht von Michael Hülskötter am 27. März 2009 (0) Kommentare

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.

weiterlesen…

Kategorien : Multicore, Visual Computing Tags : , ,

Programmiermethoden: Daten- und Aufgabenparallelität

veröffentlicht von Michael Hülskötter am 3. Dezember 2008 (0) Kommentare

Bei der parallelen Programmierung unterscheidet man grundsätzlich zwischen drei Formen, die letztlich darüber entscheiden, welche Programmiermethoden man anwenden sollte.

Die eine Form der parallelen Programmierung orientiert sich an den zu verarbeitenden Daten, die zur Laufzeit der Anwendung anfallen. Ein gutes Beispiel für die Datenparallelität ist das Rendern eines Bildes, das aus vielen tausend Bildpunkten besteht, die sich unabhängig voneinander berechnen, zeichnen oder mit einem Filter versehen lassen.

Darin steckt also eine Menge an Multicore-Potenzial, wofür sich der Einsatz von OpenMP oder Intel TBB empfiehlt. Ein weiteres gutes Beispiel ist die Rechtschreibprüfung eines Textverarbeitungsprogramms. Hier können sämtliche Wörter simultan überprüft werden, da sie zueinander in keiner Abhängigkeit stehen.

Auf der anderen Seite existiert der Aufgabenparallelismus, der voneinander getrennte Aufgaben betrachtet, die sich vortrefflich parallel ausführen lassen. Ein gutes Beispiel hierfür ist Outlook, das aus unterschiedlichen Modulen besteht (Adressen, Kalender, E-Mail etc.), die sich grundsätzlich unabhängig voneinander ausführen lassen und damit auf separaten Prozessorkernen laufen können.

weiterlesen…

Kategorien : Multicore Tags : , ,

Multicore-Turbo für Visual Studio: Intel Parallel Studio

veröffentlicht von Michael Hülskötter am 31. Oktober 2008 (0) Kommentare

Erst gestern haben wir über die geplante Entwicklungsumgebung Intel Parallel Studio berichtet, die sich in Microsoft Virtual Studio einbinden lässt und C++-Programmierern und Software-Entwicklern dabei helfen soll, ihre eindimensionalen Singlethread-Anwendungen in leistungsfähige, parallelisierte Multithread-Applikationen zu verwandeln. Zwar befindet sich das Plugin noch in der Beta-Phase (für die Sie sich übrigens kostenlos anmelden können), das ist aber für uns überhaupt kein Grund, nicht schon mal einen Blick darauf zu werfen. Eine Kurzvorstellung.

Intel Parallel Studio setzt sich aus vier einzelnen Programmen zusammen, die entweder als Komplettpaket genutzt werden können oder aber jedes Tool für sich alleine.

Der Parallel Advisor untersucht bestehenden Sourcecode auf mögliches Parallelisierungspotenzial und schlägt bestimmte Routinen und Funktionen vor, mit deren Hilfe aus einfachen Programmen parallelisierte Anwendungen werden, die optimal auf Intel-Multicore-Plattformen laufen. Darüber hinaus analysiert der Advisor mögliche Programmkonflikte und nennt passende Lösungen.

weiterlesen…

Kategorien : Multicore Tags : , ,

Mehr Leistung mit mehreren CPUs: Multicore Computing

veröffentlicht von Michael Hülskötter am 24. Oktober 2008 (0) Kommentare

Der dritte und letzte Teil unserer kleinen Einführungsrunde hinsichtlich der Frage, was die Veranstaltung hier überhaupt soll, handelt vom Thema „Multicore“. Dass sich dahinter mehr verbirgt als die Frage, wie viele Kerne im Intel Core 2 Duo Prozessor stecken, dürfte klar sein. Es geht hier nämlich um zahlreiche Aspekte:

  • Wie bringe ich meine Software dazu, auf Multiprozessorkern-Systemen optimal zu laufen?
  • Welche Tools hat Intel für die Multicore-Optimierung meiner Software in petto?
  • Welche Ansätze parallelisierter Anwendungen gibt es eigentlich?
  • Wie setze ich OpenMP für meine eigenen Software-Projekte sinnvoll ein?
  • Wie programmiere ich überhaupt „multi-threaded“ Applikationen?

Darüber hinaus findet man auf der Multicore-Seite von Intel weitere nützliche Tipps und Hinweise. Zum Beispiel kann man via Feedburner Neuigkeiten aus dem Parallel-Universum abonnieren, die neuesten Blogeinträge lesen und sich im Forum umsehen, auf welche Hürden andere Programmierer stoßen.

weiterlesen…

Kategorien : Multicore Tags : ,

Informationen rund um den Software Dev Blog

veröffentlicht von Michael Hülskötter am 20. Oktober 2008 (0) Kommentare

Dieser Blog zeigt die Vielfalt der modernen Software-Architektur und deren Auswirkungen auf aktuelle Anwendungen. Schwerpunkte hierbei sind die Themen Visual Computing (3D-Grafiken), Multicore (Core 2 Duo Prozessor & Co.) und Virtualisierung.

In regelmäßigen Beiträgen berichtet der Software Dev Blog über aktuelle Entwicklungen in diesen Segmenten, stellt nützliche Software vor, spricht mit den Machern erfolgreicher Software-Projekte und zeigt, was alles notwendig ist, um die eigene Anwendung für Intel-Plattformen zu optimieren.

Mit diesem Blog wollen wir vor allem Kontakt aufnehmen mit der großen Entwicklerschar, die auf Basis von Intel-Prozessoren Anwendungen für eigene Zwecke, aber auch im Auftrag ihrer Kunden konzipiert und realisiert. Lassen Sie uns teilhaben an den Hürden, Problemen und anderen Themen, mit denen Sie tagtäglich konfrontiert werden. Die Kommentarfunktion steht Ihnen 24 Stunden am Tag zur Verfügung …

Kategorien : Multicore, Virtualisierung, Visual Computing Tags : ,