Original-URL des Artikels: https://www.golem.de/1009/78144.html    Veröffentlicht: 22.09.2010 10:15    Kurz-URL: https://glm.io/78144

Mehr Arbeit für GPUs

CUDA für Matlab, 3ds Max - und x86-CPUs

Zur Eröffnung der GTC 2010 hat Nvidia-Chef Jen-Hsun Huang einige neue Anwendungen vorgestellt, die per Berechnungen auf der GPU beschleunigt werden. Zudem soll es bald einen Compiler geben, dessen Code sich auch ohne Nvidia-GPU ausführen lässt. Damit soll das Framework auf jedem x86-PC laufen.

Die Beispiele, die Huang für den Einsatz von GPUs jenseits von Spielen anführte, kamen aus den bekannten Bereichen: Wissenschaft, Forschung, 3D-Animation, aber auch Medizintechnik. So verwendet unter anderem das California Pacific Medical Center GPUs, um die Bilder von endoskopischen Operationen aufzubereiten. Anstelle des Chirurgen soll in Zukunft sogar ein Roboter die Eingriffe vornehmen. Die Mechanik der Maschine soll dabei die Bewegungen eines schlagenden Herzens ausgleichen. Dazu werden zuvor 3D-Videos des Herzens aufgenommen, GPUs berechnen dann die Bewegungen des Roboters in Echtzeit, abhängig vom Verhalten des Organs.

Viel näher am bereits Machbaren ist 3ds Max. Die 3D-Marktführer von Autodesk führten ihren Raytracer iRay für Max vor, der nun auf CUDA optimiert ist. IRay soll nach Angaben des Unternehmens ohne jegliche Tricks arbeiten, sondern seine Bilder absolut physikalisch korrekt mit jedem einzelnen Photon der Lichtquelle berechnen. Die so erzeugten Bilder brauchen immer noch einige Minuten, aber: IRay skaliert - wie die meisten Raytracer - nahezu linear mit den zur Verfügung stehenden Rechenwerken. Das klappt nun auch per Internet, wenn beispielsweise ein Architekt seinem Kunden neue Ideen vor Ort vorführen will. Autodesk und Nvidia demonstrierten das mit einer Wohnzimmerszene, die von einem GPU-Cluster in Toronto berechnet und nach San Jose gestreamt wurde.

Matlab-Algorithmen direkt auf der GPU

Ein CUDA-Plugin für das Mathematikprogramm Matlab gibt es schon länger. Das vom Drittanbieter Accelereyes vorgestellte Jacket 1.5 kann nun ohne neue Kompilierung die Algorithmen aus Matlab direkt auf GPUs ausführen. Auch das Programm Amber (Assisted Model Building with Energy Refinement), das Molekulardynamik untersucht, arbeitet nun mit CUDA. Dafür legte Huang auch Benchmarks vor: Um die Rechengeschwindigkeit von acht Fermi-GPUs zu erreichen, braucht es laut Nvidia schon 192 Quad-Core-Xeons. Die passen gerade so noch in ein Rack, die acht GPUs aber in einen Rack-Einschub von vier Höheneinheiten.

CUDA ist nicht offen

Der große Nachteil aller solcher Anwendungen: Sie lassen sich bisher nur sehr einfach auf und für Nvidia-GPUs entwickeln, weil das Framework CUDA proprietär und nicht offen ist. So weisen die Entwickler von Amber beispielsweise auf zahlreiche Probleme mit GPUs hin, da deren Code noch nicht so gut erforscht ist wie der für CPUs. Was der CUDA-Treiber letztendlich aus den Rechenaufgaben macht, sehen die Forscher immer nur am Ergebnis.

Um das schon vorher abschätzen zu können, entwickelt die unter Programmierern bekannte Portland Group (PGI) nun mit Nvidias Hilfe einen Compiler namens CUDA-x86. Damit können Entwickler in C - ebenso wie bei CUDA - Programme schreiben, die dann aber auf jedem x86-Rechner ausgeführt werden können. Das reduziert die Notwendigkeit der teuren professionellen CUDA-GPUs (Quadro, Tesla) und es reduziert auch die Portierungszeiträume. Anders als die vielen CUDA-Tools, die Nvidia bisher fast immer kostenlos zur Verfügung gestellt hat, soll der PGI-Compiler aber ein kommerzielles Produkt werden. Was er kostet, haben weder Nvidia noch PGI bisher bekanntgegeben.

Interesse bei den Hardwareherstellern

Bei so viel etablierter Software für GPU-Computing zeigen auch immer mehr Hardwarehersteller Interesse an Systemen mit vielen GPUs. IBM bietet diese schon länger an, nun soll es sie auch für die Bladecenter-Serie geben. Ein neuer Hersteller ist T-Platforms aus Russland, und Crays schon verfügbare Supercomputer-Linie XE6 wird Nvidia zufolge auch bald mit Fermi-GPUs aufrüstbar sein.

Ganz außen vor konnte freilich auch Jen-Hsun Huang die Spiele nicht lassen, mit denen sein Unternehmen groß geworden ist. Er führte Hawx 2 in stereoskopischem 3D vor und machte einige Angaben zur darin verwendeten Geometrie. Demnach soll die Auflösung des Spiels so hoch sein, dass ein Level aus 128 Quadratkilometern besteht, alle zwei Meter gibt es dabei ein Polygon. Die Level-of-Detail-Algorithmen (LOD) sorgen dabei dafür, dass die Datenmenge auch für eine GPU beherrschbar bleibt. Möglich macht das unter anderem Tessellation, die Huang als "die heißeste Sache bei Spielen heutzutage" bezeichnete.  (nie)


Verwandte Artikel:
CUDA, Directcompute, Open CL: Möglichkeiten und Grenzen von GPU-Computing   
(21.09.2010, https://glm.io/78101 )
GPU Technology Conference: Nvidias CUDA-Convention beginnt in San Jose   
(20.09.2010, https://glm.io/78100 )
Wacom Cintiq Pro Engine: Steckkassette macht Stiftdisplay zum Grafiker-PC   
(28.02.2018, https://glm.io/133061 )
Meltdown und Spectre: NSA will nichts von Prozessor-Schwachstelle gewusst haben   
(07.01.2018, https://glm.io/131999 )
Inno3D P104-100: Hybrid aus GTX 1070 und GTX 1080 berechnet Kryptowährungen   
(14.12.2017, https://glm.io/131666 )

© 1997–2020 Golem.de, https://www.golem.de/