Nvidia stellt OpenCL-Treiber für Linux vor

Nvidia hat einen ersten OpenCL-fähigen Treiber vorgestellt. Und nicht nur das: Linux-User bekommen dieses mal direkt bei Veröffentlichung dasselbe Paket wie Windows-User, was dem plattformunabhängigen Konzept von OpenCL Rechnung trägt.

Der von Apple vorangetriebene, plattform- und herstellerunabhängige Standard zur Programmierung von Grafikchips für alles außerhalb des Grafikbereichs, OpenCL, ist nach der ersten Veröffentlichung in MacOS X 10.6 nun auch für Windows und Linux verfügbar. Nvidia hat als erster OpenCL-fähige Treiber vorgestellt, die Veröffentlichung von ATIs OpenCL-Treibern sollte auch nicht mehr lange auf sich warten lassen. Voraussetzung ist eine CUDA-fähige Nivida-GPU ab der Geforce 8000er-Serie. Nvidia bietet neben dem OpenCL-fähigen Linux-Treiber in Version 190.29 auch für alle Plattformen ein OpenCL-SDK, Beispielcode und einen OpenCL Visual Profiler, welcher beim Optimieren der eigenen OpenCL-Programme helfen soll, zum Download an.

OpenCL wurde zwar entscheidend von Apple vorangetrieben, verantwortlich dafür zeichnet allerdings die Khronos Group, deren Server wohl dem momentanen Ansturm durch die Nvidia-Veröffentlichung nicht standhält und derzeit nicht erreichbar ist. Neben Apple, AMD/ATI und Nvidia gehören der Khronos Group noch 30 andere Firmen an, unter anderem IBM, Intel, ARM, Freescale, Texas Instruments, STM, S3, 3DLABS, QNX, Qualcomm, Nokia, Samsung und Toshiba sowie auch einige bekannte Spiele-Hersteller wie Activision Blizzard und Electronic Arts.

Nun gibt es endlich einen Standard, auf den Programmierer sich verlassen können, so dass ihr Code auf allen Plattformen und Grafikchips läuft. Dies sollte der Nutzung von Grafikchips als Anwendungsbeschleuniger starken Auftrieb bescheren. Bisher konnten Programmierer hierfür entweder auf proprietäre Techniken wie Nvidias CUDA oder ATIs Stream setzen oder aber mittels OpenGL- oder DirectX-Shadern (GPGPU) grafikchipunabhängig programmieren. Da GPU-Shader aber primär für Grafik entworfen wurden war die Realisierung von normalen Rechenaufgaben per Shader sehr mühsam. Das Ergebnis war – je nach Algorithmus und Implementierung – oft nicht so leistungsfähig, wie man erwarten könnte und nutzte das theoretische Rechenpotential der Grafikchips oft nicht aus. OpenCL soll dies nun ändern: Es soll leicht zu programmieren sein und den Programmierer von mühsamen Aufgaben wie der händischen Optimierung des Codes auf die Eigenheiten der Grafikchips entlasten. Eine kurze technische Vorstellung was OpenCL ist, kann und wie es funktioniert findet sich auf Apples Homepage.

Da nur wenige Programmierer und Softwarefirmen willens waren, mühsam Code zu schreiben, der nur auf den Grafikchips eines Herstellers läuft (Der Markt für alle Grafikchips inklusive Chipsatzgrafik verteilt sich momentan zu 49,7 Prozen auf Intel, 17,1 Prozen auf AMD/ATI und zu 31,1 Prozent auf Nvidia mit 2.1 Prozen sonstigen Herstellern) ist die Einführung von OpenCL, was dieses Manko behebt, stark zu begrüßen. Nicht nur auf Grafikchips beliebiger Hersteller läuft OpenCL (Intel hat ebenfalls schon OpenCL-Unterstützung für ihren kommenden Grafikchip Larabee angekündigt), auch für normale CPUs, DSPs und den in den schnellsten Supercomputern und der Playstation 3 verbauten Cell-Prozessor soll es OpenCL-Implementierungen geben, so dass schlussendlich auf fast jeder Hardware OpenCL-Code lauffähig ist.

Die Rechenpower moderner Grafikchips eignet sich inzwischen für sehr viele rechenintensive Aufgaben, unter anderem für Video- und Audio-Encoding, Videoeffekte, Raytracing, Kryptographie, Physiksimulation, Flüssigkeits-Simulation, 2D-Grafik-Filterberechnung, Soundsynthese oder Audio-Effektberechnung.

Für Linux ist OpenCL eine tolle Sache, ebenso wie OpenGL für Grafik und OpenAL für Sound: Code ist einfach zwischen den Welten portierbar und bedarf keiner Anpassungen. Microsoft hat die Entwicklung etwas verschlafen, ihre proprietäre Alternative zu OpenCL, DirectX Compute Shader genannt, ist erst Ende Juli mit DirectX 11 im Service Pack 2 für das nur mäßig populäre Windows Vista eingeführt worden, die Aufmerksamkeit der Entwicklergemeinde gilt allerdings deutlich eher OpenCL.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben