De Khronos Group heeft de bijna definitieve versie 2.0 vrijgegeven van de OpenCL-specificatie, bedoeld om GPU‘s en andere hardwareversnellers te programmeren. Een van de belangrijkste toevoegingen is de mogelijkheid om moderne hardware te adresseren waarbij de GPU en CPU over dezelfde virtuele geheugenruimte beschikken. Bovendien is het dankzij een intermediaire taal niet langer nodig om broncode te verschepen met een product.
In het OpenCL-model is er een host-programma op de CPU dat bepaalde rekentaken (de kernels) naar een GPU delegeert. Geschikte taken zijn typisch vrij simpel maar toepasbaar op een grote dataset, bijvoorbeeld het optellen van een kleur bij alle pixels in een afbeelding. GPU‘s beschikken over een groot aantal simpele rekenkernen die deze taak parallel aanpakken, waardoor de berekening een stuk sneller verloopt.
Er is echter een belangrijke bottleneck: de dataset moet eerst gekopieerd worden naar het geheugen van de GPU voordat die er iets mee kan, en het resultaat moet na afloop weer teruggepompt worden naar het CPU-geheugen. Om die reden werken chipfabrikanten aan hybride processoren waarbij CPU en GPU bij hetzelfde werkgeheugen kunnen.
