ATI macht in Stream Computing

Allgemein

Inquirer-Reporter Charlie Demerjian hängt in San Francisco nicht einfach nur ab, sondern ist ständig am Ball. Er war dabei, als ATI sich in die (Grafik-)Karten sehen ließ und verriet, was es mit Stream Computing auf sich haben wird.

ATI redet jetzt richtig ernsthaft von Stream Computing. Während Nvidia schon Gelato hat und das Konzept früh vertrat, ist ATI alles anders als abgeschlagen. In San Francisco führte ATI jetzt Beispiele dafür vor, was Stream Computing in der realen Welt bringen können soll.
Stream Computing benutzt den Grafikprozessor für Berechnungen statt nur für die Grafik. Wenn man ein Problem hat, das ein Grafikprozessor abarbeiten kann, dann geht die Post ab im Vergleich zu einem einfachen alten Hauptprozessor. Sieht man sich die Architektur eines Grafikprozessors an, dann sieht man eine Anzahl Shader, meistens Dutzende davon. Jeder Shader für sich zieht eine Menge schwerer Berechnungen durch, zumindest eine Menge von Berechnungen einer bestimmten Art.
Den Entwicklern bleibt das Problem, wie sie den Code zwischen der CPU und der GPU aufteilen. Wenn sie das nicht gut hinbekommen, dann schaufelt man am Ende jede Menge Daten hin und her, während dabei tatsächlich gar nicht so viele Aufgaben abgearbeitet werden. Wenn sie es richtig machen, dann kommen die Daten herein, werden abgearbeitet, und gehen mit einem extrem hohen Durchsatz wieder zurück. So klang das jedenfalls, als Dave Orton für ATI das Stream Computing vorstellte (das ist der ganz rechts im Bild).

ATI_stream_roll_call.jpg

Die Zielmärkte für eine solche Funktionalität sind besonders aufwendige wissenschaftliche Anwendungen, Klima- und Wetterforschung, Sicherheitstechnologien, Aktien-Research und Risikoeinschätzung, seismische Modelle und Erdbebenforschung. Das sind alles echte Schwerlast-Aufgaben und dazu noch sehr zeitabhängig. Was bringt es, wenn die Gesichtserkennung einen Sprengmeister erst erkennt, wenn er im Flugzeug sitzt, oder eine Erdbebenvorhersage nach dem Erdbeben erfolgt?
Stream Computing kann die Geschwindigkeit um den Faktor 10 bis 40 verbessern, wenn – und das ist das große Fragezeichen – eine Anwendung das richtig unterstützt. Wenn sie nicht passt oder unzureichend programmiert ist, dann kann man Performance verlieren. ATI stellte in San Francisco Vertreter von vier Organisationen bzw. Firmen vor, die die Technologie bereits jetzt oder in naher Zukunft einsetzen:
Vijay Pande von der Stanford University, einer der Leute hinter dem Projekt Folding@Home für Distributed Computing. Michael Mullaney von Peakstream, die Tools für den Einsatz von GPUs von Aktienhandel bis zur Suche nach Öl- und Gasvorräten entwickeln. Chas Boyd von der Graphics Platform Unit bei Microsoft , der einiges darüber verriet, wie DX10 und Vista viele dieser Stream-Techniken nutzen werden. Jeff Yates von Havok, der Physik-Anwendungen mit dem Grafikprozessor vorstellte. Seine Demos zeigten einen Berg herabrollende Felsen, Schutt aufwirbelnde Tornados und ein Spiel mit unzerstörbaren Burgen.
Während noch keine Produkte verfügbar sind, berichtet Charlie Demerjian von einem allgemeinen Empfinden, dass die Technologie des Stream Computing da ist und bleiben wird. Die ersten Beispiele versprechen eine dutzendfache Beschleunigung gegenüber dem schnellsten Hauptprozessor zu einem Bruchteil der Kosten. Wenn der Code stimmt, kann sich Stream Computing bewähren. (Charlie Demerjian/bk)

Linq