Az OpenCL programozási nyelv

WebCL

Az utóbbi években a webes technológiák hatalmas fejlődésen mentek keresztül. Rengeteg komplex webalkalmazás található az interneten, a böngészők programok napjainkra alkalmazás platformokká nőtték ki magukat. A vállalatok, szervezetek közti versengés során azok JavaScript végrehajtási sebessége az utóbbi időben nagyságrendekkel gyorsabbá vált. A korszerű böngészől a gördülékeny megjelenítés érdekében egyre nagyobb mértékben támaszkodnak a számítógépben található grafikus processzor teljesítményére. Közelmúltban pedig véglegessé vált az első webes 3D-s szabvány a WebGL, melynek segítségével látványos 3D-s elemekkel gazdagíthatjuk oldalainkat.

A WebGL elkészültével egyidőben jelentették be, hogy megkezdődtek a WebCL szabvány kidolgozásának munkálatai. Segítségével sokkal funkciókban sokkal gazdagabb multimédiás weboldalakat állíthatunk majd elő, a számításigényes problémákat hatékonyan végezhetjük el a CPU-n, vagy akár a GPU-n is. A szabvány lényegében az OpenCL gazdaoldali API-jának egy böngésző oldali változata, míg a kernelek megírásához használt nyelv az OpenCL C ugyanaz maradt. Ezeket a szabványokat nem csak az asztali, illetve hordozható számítógépek támogatják, hanem a napjainkban oly népszerű tabletek, illetve okostelefonok, ahol az energiagazdálkodás végett a célnak legmegfelelőbb végrehajtó processzor használata hatványozottan fontos.

Bár a szabvány még közel sincs a végleges kidolgozáshoz már rendelkezésre egy kezdetleges implementáció egy Firefox 4 plugin formájában. Ennek előnye, hogy a plugin telepítése után, ha megfelelő OpenCL driverrel rendelkezünk azonnal megkezdhetjük a technológia megismerését nincs szükség SDK, illetve fejlesztő környezetek telepítésére és beállítására. A példaprogramok között található néhány egyszerű WebCL-t használó weboldal, melynek segítségével interaktívan ismerkedhetünk az OpenCL C nyelvvel.

FIGYELEM! Mivel ez egy előzetes implementációja a szabványnak lehet, hogy nem minden környezetben működőképes, illetve használata a rendszer működését instabillá teheti!