Was ist OpenCL?

und warum ist es so toll?

OpenCL ist auf der einen Seite eine Programmiersprache, auf der anderen allerdings auch eine Softwarebibliothek welche in der existierenden Sprache C++ verwendet werden kann. Das ganze Pakit ist zu einem Standard zusammengefass welcher von der OpenCL Gruppe verwaltet wird, welche teil von Khronos ist.

Die OpenCL programmiersprache bietet die Möglichkeit, kurze rechenintensive Programmstücke so zu schreiben, dass sie auf fast allen arten von Prozessoren ausgeführt werden können. Diese programmstücke werden auch Kernel genannt. Die softwarebibliotheg wird dann dazu verwendet, diese Kernel anzusteuern.

Bei einem normalen softwareentwurf siet das ganze folgendermasen aus: Der Grosteil des Codes wird in C++ geschrieben und leuft ausschlieslich auf dem CPU. Damit ist der Entwicklungsaufwand gering.

Bestimmte rechenintensive Stücke des Programmes werden als OpenCL kernel implementiert und kann somit auch auf GPUs oder FPGAs laufen. Wenn die Funktionalität dieser Kernel benötigt wird, so kann mittlels der OpenCL Softwarebibliothek der gewünste Kernel mit beliebigen parametern gestartet werden.

Die berechneten Daten lassen sich ebenfalls mit dieser Bibliothek zum CPU System transferrieren, sodass der normale C++ Code diese weiterverarbeiten kann.

Durch diese Struktur des Standards ist es möglich, effiziente Sortwareapplikationen zu schreiben, ohne unnötigen aufwand zu betreiben.

Miller & Harris, 12 Pike St, New York, NY 10002, (541) 754-3010
Powered by Webnode
Create your website for free! This website was made with Webnode. Create your own for free today! Get started