Menü
Developer

GDC: WebCL – OpenCL-Power für den Browser

Auf der Game Developers Conference wurde WebCL 1.0 präsentiert. Durch den Standard der Kronos Group sollen Webanwendungen die volle Rechenleistung von Grafikprozessoren und Multicore-Architekturen nutzen können.

vorlesen Drucken Kommentare lesen 11 Beiträge

Vor über drei Jahren hatte die Kronos Group eine Arbeitsgruppe zur Spezifizierung von WebCL gegründet. Diese sollte JavaScript-Schnittstellen für OpenCL (Open Computing Language) beschreiben – mit dem Ziel, dass Webanwendungen die volle Rechenleistung von Grafikprozessoren und Multicore-Architekturen nutzen können. Nun wurde auf der Game Developers Conference in San Francisco die Version 1.0 des Standards verabschiedet.

WebCL soll in Verbindung mit WebGL und anderen Standards Webanwendungen ermöglichen, die man in dieser Form bisher nur vom Desktop her kannte, beispielsweise Foto- und Videobearbeitung, wissenschaftliche Simulationen oder auch Spiele. Das Zusammenspiel von WebCL und OpenCL ist vergleichbar mit dem von WebGL und OpenGL bei der Verarbeitung aufwendiger Grafikeffekte. Über die JavaScript-Bindings von WebCL können nun HTML5 unterstützende Webbrowser die APIs von OpenCL so nutzen, dass Webapplikationen den kompilierten OpenCL-C-Code parallel verwaltet über GPUs und CPUs ausführen.

WebCL 1.0 basiert auf OpenCL 1.1 Embedded Profile und lässt sich offenbar im Zusammenspiel mit jeder OpenCL-1.1- und OpenCL-1.2-Implementierung nutzen. Außerdem ist der neue Standard interoperabel mit WebGL. Mit der Veröffentlichung des Standards hat das unabhängige Industriekonsortium einen quelloffenen WebCL-Validator und einen ebenfalls quelloffene Software zur Übersetzung des nativen OpenCL-Codes nach WebCL freigegeben.

Darüber hinaus wurden die Spezifikationen SYCL 1.2 und EGL 1.5 veröffentlicht. SYCL sieht vor, OpenCL nach C++ zu bringen. SYCL 1.2 unterstützt OpenCL 1.2 und lässt sich mit C++11-Compilern nutzen. EGL ist eine Programmierschnittstelle zwischen OpenGL ES und dem Fenstersystem, die vorrangig im mobilen Sektor eine Rolle spielt. Die neue Version scheint eine bessere Interoperabilität mit OpenGL beziehungsweise OpenCL zu bieten und unterstützt nun 64-Bit-Systeme. (ane)