Naar inhoud springen

OpenCL

Uit Wikipedia, de vrije encyclopedie
Dit is een oude versie van deze pagina, bewerkt door ErikvanB (overleg | bijdragen) op 24 okt 2010 om 19:44. (-spaties)
Deze versie kan sterk verschillen van de huidige versie van deze pagina.
OpenCL
Logo
OpenCL
Ontwerper(s) Apple Inc.
Ontwikkelaar(s) Apple
Uitgebracht 28 augustus 2009 (16 jaar geleden)
Recentste versie 1.0 
(9 december 2008)
Besturings­systeem Cross-platform
Geschreven in C++, C
Categorie API
Licentie(s) OSI-approved license
Website http://www.khronos.org/opencl/
Portaal  Portaalicoon   Informatica

OpenCL (Open Computing Language) is een programmeertaal en platform ontwikkeld door Apple voor het uitvoeren van parallelle berekeningen op de CPU en de GPU. De taal is gebaseerd op C en stelt applicaties in staat om de GPU te gebruiken voor allerlei berekeningen (ook bekend als GPGPU).

Geschiedenis

OpenCL werd door Apple bij de Khronos Group voorgesteld als open standaard, zoals OpenGL en OpenAL, standaarden voor respectievelijk 3D-computergraphics en 3D geluid. Op 16 juni 2008 werd de Compute Working Group opgericht bij Khronos Group met als doel met standaardiseren van berekeningen op heterogene data (data van allerlei bronnen) en parallelle berekeningen op de CPU en de GPU.[1] Op 9 december 2008 werd versie 1.0 van de standaard uitgebracht.[2] Op dezelfde dag kondigde Nvidia ook aan deze versie geheel te zullen ondersteunen.[3] Op 12 december 2008 werd OpenCL door AMD en Nvidia voor het eerst gedemonstreerd op SIGGRAPH Asia 2008.

Aan OpenCL wordt meegewerkt door allerlei bedrijven, zoals Activision Blizzard, AMD, Apple, Electronic Arts, Ericsson, IBM, Intel, Motorola, Nokia, Nvidia, Samsung en Texas Instruments.

OpenCL is uitgebracht in Mac OS X 10.6 Snow Leopard.[4]

Sinds de versie 10.10 bevat ook Ubuntu OpenCL.[5]

Techniek

OpenCL maakt gebruik van een deelverzameling van de ISO/IEC C99-standaard van C met uitbreidingen voor parallellisme.[2] De IEEE 754-standaard wordt gebruikt voor berekeningen met zwevendekommagetallen.

De implementaties van Apple,[6] Nvidia,[6] RapidMind[6] en Mesa Gallium3D[7] zijn gebaseerd op LLVM met clang als frontend.

Toepassingen

OpenCL kan toegepast worden op gebieden waarbij de rekenkracht van de grafische kaart een prestatievoordeel biedt. Voorbeelden zijn: simulaties van vloeistoffen, beeldbewerking, wiskundige operaties (vb. Fast Fourier Transform), medische beeldverwerking en computerspellen.

Zie ook

  • (en) OpenCL, Khronos Group
  • (en) Specificatie van versie 1.0, Khronos Group

[bron?]

  1. (en) Khronos Launches Heterogeneous Computing Initiative, Khronos Group, 16 juni 2008
  2. a b (en) The Khronos Group Releases OpenCL 1.0 Specification, Khronos Group, 9 december 2008
  3. (en) NVIDIA Adds OpenCL To Its Industry Leading GPU Computing Toolkit, SIGGRAPH Asia 2008, 9 december 2008
  4. (en) Apple Previews Mac OS X Snow Leopard to Developers, Apple, 9 juni 2008
  5. (en) Ubuntu 10.10: GPU hardware acceleration (OpenCL) available, Ubuntugeek 6 oktober 2010
  6. a b c (en) Users, The LLVM Compiler Infrastructure
  7. (en) OpenCL, Zack Rusin, 1 februari 2009