LocalazyLocalazy
OpenCL je nový štandard na programovanie GPU a iných vysoko paralelných procesorov. Je navrhnutý tak, aby poskytol programátorom väčšiu kontrolu nad tým, ako sa údaje v týchto zariadeniach spracovávajú, a aby bol kód lepšie prenosný medzi rôznymi typmi procesorov. OpenCL už prijalo niekoľko spoločností vrátane spoločností Apple, AMD, IBM a nVidia. Podporuje ho aj niekoľko hlavných programovacích jazykov vrátane jazykov C, C++ a Fortran. Existuje niekoľko vecí, ktorými sa OpenCL líši od iných programovacích jazykov pre GPU. Po prvé, je navrhnutý na prácu so širokou škálou procesorov, nielen s GPU. To znamená, že kód napísaný v OpenCL možno ľahko preniesť na iné typy zariadení. Po druhé, OpenCL poskytuje programátorom väčšiu kontrolu nad spôsobom spracovania údajov. V mnohých programovacích jazykoch pre GPU sa údaje spracúvajú lineárne, čo znamená, že sa spracúvajú od začiatku do konca v jednom vlákne. Na druhej strane OpenCL umožňuje spracovávať údaje flexibilnejším spôsobom. Vďaka tomu je jednoduchšie písať kód, ktorý dokáže využiť paralelizmus GPU. Napokon, OpenCL je navrhnutý tak, aby bol efektívnejší ako iné programovacie jazyky pre GPU. Je to preto, že používa efektívnejší pamäťový model a že umožňuje spracúvať údaje flexibilnejším spôsobom. Celkovo je OpenCL sľubným novým štandardom na programovanie GPU a iných vysoko paralelných procesorov. Je navrhnutý tak, aby bol prenosnejší a efektívnejší ako iné programovacie jazyky pre GPU a aby poskytoval programátorom väčšiu kontrolu nad spôsobom spracovania údajov.