OpenCL

OpenCL
programvare
Sjangerprogramvarespråk  (ikke  oppført )
UtviklerKhronos-gruppen
Dato for første versjon8. desember 2008
Siste versjon3.0 (30. september 2020)
Siste  beta2.2 (15. mai 2016)
OperativsystemMultiplattform
SpråkC ++
C
TillatelseAvgiftsfri
_ _ _
Nettstedwww.khronos.org/opencl

OpenCL ( Open C omputing L anguage, oversatt til italiensk "åpent dataspråk") er et rammeverk basert på ANSI C og C++ språk med en vertsenhetsstruktur som kan kjøres på en rekke plattformer, CPU , GPU og andre typer prosessorer. Spesielt er potensialet til OpenCL godt uttrykt med svært parallelliserbare og kraftige arkitekturer som GPUer, og i dette tilfellet snakker vi om GPGPU-feltet . Kjernekoden basert på OpenCL C - programmeringsspråket eller OpenCL C++- versjonen kjøres på de forskjellige enhetene(basert på C99 og C ++ 14 standarder).

Historie

Standarden ble opprinnelig foreslått av Apple , deretter ratifisert av det samme sammen med hovedselskapene i sektoren ( Intel , NVIDIA , AMD ), og til slutt fullført av non-profit konsortiet Khronos Group .

Navnet OpenCL ble unnfanget i analogi med OpenGL og OpenAL , som alle åpne industrielle standarder, om enn med forskjellige formål: den første som utnyttet potensialet til nåværende GPUer utover grafisk gjengivelse, og de andre for henholdsvis 3D-grafikk og gjengivelse av posisjonslyd.

OpenCL støttes på AMD- og NVIDIA -skjermkort [1] (både forbruker- og profesjonelle gpu), på Xilinx og Altera FPGA - er og på ARM-prosessorer . Når det gjelder operativsystemer, er det sertifisert på OS X Snow Leopard [2] mens det er tilgjengelig på Linux- og Windows -systemer .

Mange programmer tilbyr innebygd støtte for OpenCl-biblioteker: ArrayFire , Adobe Photoshop , Gimp , Autodesk Maya , FFmpeg , x264, Libreoffice Calc , Microsoft Excel og mange flere.

Khronos Group har kunngjort sin intensjon om å slå sammen OpenCl-bibliotekene med Vulkan API- ene, og transformere dem til en enkelt utviklingsplattform for både spill- og gpgpu-sektoren.

Versjoner

1.0

Endelig forslag for versjon 1.0 datert 18. november 2008 og utgitt 8. desember 2008. 9. desember 2008 kunngjorde Nvidia sin intensjon om å legge til full støtte for OpenCL 1.0-spesifikasjonen til GPU Computing Toolkit, mens RapidMind kunngjorde adopsjonen av OpenCL under utviklingsplattformen for å støtte GPUer fra forskjellige leverandører med ett enkelt grensesnitt. Den ble brukt med Mac OS X Snow Leopard 28. august 2009, mens IBM ga ut sin første OpenCL-implementering som en del av XL-kompilatorene 30. oktober 2009, bestemte AMD seg i stedet for å støtte OpenCL for AMD FireStream (tidligere kjent som " CTM (Close to Metal) "), implementerte støtten i mars 2010.

1.1

Ratifisert av Khronos Group 14. juni 2010 og legger til betydelige funksjoner for større fleksibilitet, funksjonalitet og ytelse for parallell programmering, inkludert:

1.2

Utgitt 15. november 2011, som la til betydelige funksjoner i forhold til tidligere versjoner når det gjelder ytelse og funksjonalitet for parallell programmering. De mest bemerkelsesverdige funksjonene inkluderer:

2.0

Utgitt 18. november 2013, oppdateringer og tillegg til OpenCL 2.0 inkluderer:

2.1

Ratifiseringen og utgivelsen av den foreløpige OpenCL 2.1-spesifikasjonen ble kunngjort 3. mars 2015 på Game Developer Conference i San Francisco. OpenCL 2.1 legger til offisiell, om enn begrenset, støtte for et statisk delsett av C ++ 14 som et kjernespråk. SPIR-V brukes som et mellomspråk som lar front-end høynivåspråk dele en felles målbygging. OpenCL API-oppdateringer inkluderer:

AMD, ARM, Intel, HPC og YetiWare har erklært støtte for OpenCL 2.1.

2.2

Versjon 2.2, publisert i mai 2017, introduserer viktige nye funksjoner:


3.0-finale (september 2020)

Versjon 3.0 er en dyp revisjon av hele OpenCl-"prosjektet", ettersom utviklerne av Kronos Group følte at kjernen i språkets potensial, nemlig fleksibilitet og kraft, var i ferd med å gå tapt. Av denne grunn har de besluttet å "gå tilbake", som en base, til versjon 1.2, og gjør alle funksjonene til 2.x-versjonene valgfrie. De introduserte også et nytt lag for C++-språket (OpenCl for C++ i stedet for OpenCl C++) og en ny versjon av SPIR-V for å gi utviklere enklere tilgang, men ikke mindre ytelse, til språket.

Videre, med denne versjonen, har Kronos-gruppen besluttet å programmere et mer konsistent og raskere veikart i introduksjonen av nye funksjoner og/eller versjoner av språket.


Merknader

  1. ^ Khronos-produkter
  2. ^ https://www.apple.com/it/macosx/technology/#opencl Arkivert 22. mars 2011 på Internet Archive . Apple OpenCL offisielle seksjon

Relaterte elementer

Andre prosjekter

Eksterne lenker