Grafikkarte mal anders: Das leisten Nvidia CUDA und PhysX heutzutage

 5/13
Wolfgang Andermahr
162 Kommentare

Was macht ATi?

Ohne Zweifel, was das GPU-Computing betrifft hat Nvidia zur Zeit die Nase auf dem Heimanwendersektor vorn und kann eine größere Programmvielfalt als ATi anbieten. Doch auch die Kanadier sind nicht untätig und unterstützen wie die Konkurrenz im professionellen Segment diverse Programme, die mit einer GPU schneller laufen. Was den Mainstream-Markt betrifft, sieht es aber nicht so rosig aus. Aktuell gibt es bis auf Folding@Home kein Programm, das eklatant von den GPU-Computing-Fähigkeiten der ATi-Grafikkarten profitieren kann. Zwar hat man selbst einen Videokonverter zum Umwandeln von Videocodecs geschrieben, dieser ist aber nur mit der Radeon-X1000-Serie kompatibel.

Wie es genau bei ATi für den herkömmlichen Kunden weiter gehen wird, ist aktuell noch offen. Man kann davon ausgehen, dass es auch für ATi-Produkte angepasste Programme geben wird, wobei es aktuell nur Folding@Home in die ATi-Mainstream-Liste geschafft hat (Adobe soll demnächst folgen). Zusätzlich strebt man an, Physik- sowie KI-Berechnungen über die Grafikkarte ausführen zu lassen. So ist es möglich, dass ATi-GPUs in Zukunft mittels der Havok-Schnittstelle Physikeffekte auf der GPU beschleunigen. Zudem hat man für den RV770-Chip eine eigene Techdemo programmiert, die die komplette künstliche Intelligenz von mehreren 10.000 Einheiten auf dem 3D-Beschleuniger realisiert.

CAL/Brook+
CAL/Brook+

Ähnlich wie Nvidia hat auch ATi eine eigene „GPU-Computing-Sprache“ entwickelt, mit der man ohne die Kenntnisse der 3D-Programmierung Berechnungen auf der GPU durchführen kann. Während die Kanadier ursprünglich mit CTM (Close to Metal) nur eine hardwarenahe Programmierumgebung (Low-Level-Programmierung) anboten, hat sich CTM nun in zwei „Schichten“ aufgeteilt: HAL (Hardware Abstract Layer) sowie CAL (Compute Abstract Layer).

Während mit HAL immer noch eine recht hardwarenahe und somit optimierte (dafür aber umständliche und komplizierte) Programmierung geboten wird, ist CAL ähnlich wie Nvidias CUDA eine Hochsprache, für die man nicht explizite Kenntnisse zu GPUs haben muss. Um mit CAL arbeiten zu können, benötigt man nur das AMD Stream SDK. Als Compiler und Runtime-Umgebung nutzt AMD Brook+, das primär den Kern von Brook („GPGPU-Sprache“, entwickelt von der Stanford University) inklusive einiger Erweiterungen für AMD-GPUs beinhaltet.

CAL/Brook+
CAL/Brook+

Laut eigenen Angaben sollten mit CAL geschrieben Programme auch auf zukünftigen GPUs laufen. Allerdings ist es gut möglich, dass die Performance dann noch nicht optimal ist, da die Software doch relativ nahe auf die vorhandene Hardware angepasst ist.