OpenCL
Meer info
- Gemaakt door
- Apple, gestandaardiseerd door de Khronos Group
- Jaar
- 2009 (1.0)
- Type
- Open standaard voor parallel rekenen
- Officiële site
- khronos.org/opencl
Een open standaard om berekeningen op gpu's, cpu's en FPGA's uit te voeren met dezelfde broncode — het leveranciersneutrale tegenwicht voor CUDA dat nooit helemaal won.
Apple schreef het eerste voorstel en droeg het over aan de Khronos Group, die eind 2008 versie 1.0 uitbracht. Het programmeermodel lijkt op dat van CUDA: een kernel wordt in een C-dialect geschreven en uitgevoerd door duizenden work items in work groups, met expliciet beheerd globaal, lokaal en privégeheugen. Het verschil was dat dezelfde code op hardware van elke leverancier moest draaien.
In de praktijk verloor portabiliteit het. Nvidia had betere tooling, betere profilers en een bibliotheekecosysteem waar CUDA-code op kon leunen, terwijl de kwaliteit van OpenCL-drivers sterk verschilde per leverancier. De standaard leeft voort in embedded systemen, signaalverwerking en als tussenformaat via SPIR-V, terwijl nieuw werk vaker naar Vulkan Compute en SYCL gaat.