OpenCL 1.0 und OpenGL 3.0

Wie Golem heute berichtet, hat wie geplant das Khronos-Konsortium noch vor dem Ende des Jahres 2008 die Spezifikationen für die 3D-Schnittstellen Open GL 3.0 und OpenCL 1.0 veröffentlicht. Damit ist unter anderem der Weg frei für eine hardwareunabhängige Programmierung von Grafikprozessoren mit Rechenanwendungen.

OpenGL 3.0 war im August 2008 zur Konferenz Siggraph vorgestellt worden. Inzwischen haben die Mitglieder des Khronos-Konsortiums die Schnittstelle ratifiziert und sie für Entwickler freigegeben. Die neue Version der Schnittstelle bricht mit einigen bisherigen Dogmen der OpenGL-Programmierung – so bietet sie beispielsweise eine volle Programmierung der GPU und kann als vollwertiges Pendant zu DirectX11 gesehen werden.

Mit Spannung war die erste Version der „Open Compute Language“ (OpenCL) erwartet worden. Ursprünglich von Apple entwickelt, wurde OpenCL (Wikipedia) Khronos als offener Standard für die Programmierung von Mehrkernsystemen zur Verfügung gestellt. Nicht nur GPUs, auch CPUs lassen sich damit ansprechen.

Der Schwerpunkt liegt jedoch bei den Grafikprozessoren, für die unabhängig vom Hersteller nun erstmals eine Programmiersprache samt Framework zur Verfügung steht, um die schnellen 3D-Prozessoren auch für Rechenanwendungen zu verwenden. Auf der PC-Seite bekriegen sich hier bisher Nvidia mit „CUDA“ und AMD mit einem ähnlichen Paket „Stream“. Details dazu habe ich bereits in einem früheren Post veröffentlicht.

Beide Hersteller unterstützen neben Apple (SnowLeopard) OpenCL, dazu kommen noch weitere Hardwareschwergewichte wie Intel, Imagination, IBM, Motorola, HP und Samsung. Auch auf der Softwareseite sind unter anderem Activision-Blizzard, Codeplay und QNX dabei – nicht aber Microsoft, das mit den „Compute Shaders“ von DirectX 11 ein eigenes Konzept verfolgt.

Über den Autor

Andreas Unterhuber studierte Wirtschatfsinformatik und ist seit 2007 Geschäftsführer der KIM Keep In Mind GmbH mit Sitz in Bozen. Mit seinem Fachwissen in Video Encoding, diverser Programmiersprachen sowie in Datenbanken und Serversystemen unterstützt er zahlreiche nationale und internationale IT Projekte.