Shop menü

ELÉRHETŐ AZ OPENCL 2.0 ELŐZETES SPECIFIKÁCIÓJA

Az OpenCL 2.0 végleges kiadása a Khronos Group tervei szerint hat hónapon belül elkészül.
Víg Ferenc (J.o.k.e.r)
Víg Ferenc (J.o.k.e.r)
Elérhető az OpenCL 2.0 előzetes specifikációja

A Khronos Group az OpenGL 4.4-es kiadása mellett az OpenCL API 2.0-s szabványtervezetét is bemutatta

Az OpenCL 2.0 jelenlegi specifikációja ideiglenesnek minősül, a végleges változat kiadását a fejlesztőkkel és a piaci szereplőkkel együttműködve fejezik be a Khronos Group szakemberei, méghozzá hat hónapon belül. Az új szabványtervezet több hasznos és fontos újítást is bevezet, amelyeknek köszönhetően hatékonyabban, rugalmasabban fejleszthetőek és futtathatóak az OpenCL alkalmazások, így esetenként jelentősebb teljesítménynövekedésre is lehet számítani.

Shared Virtual Memory: Az adott eszköz és a rendszer kernelei közvetlenül oszthatnak meg egymással komplex adatstruktúrákat, legyen szó fákról vagy akár linkelt listákról.

Dynamic Parallelism: Az új OpenCL kiadás esetében az eszközön futó beágyazott kernelek anélkül tudnak új kerneleket indítani, hogy ehhez a rendszer processzorát igénybe vennék. Alap esetben eddig a rendszer processzora kellett ahhoz, hogy a GPU-n kernelek indulhassanak el, ami nem volt elég hatékony, hiszen a GPU nem dolgozhatott a saját tempójában. Ezzel a megoldással a GPU és a CPU között zajló, kernel indítással kapcsolatos kommunikáció elkerülhető, így sokkal rugalmasabb lehet az ütemezés, ami a teljesítményre is pozitívan hat.

Generic Address Space: Az általános címtér funkció előnye abban rejlik, hogy a programozóknak az egyes alkalmazások esetében úgy nyílik lehetőségük különböző funkciók megírására, hogy ezzel egy időben nem szükséges megadniuk egy névleges címteret az argumentumok számára.

Images: Továbbfejlesztett képkezelés, amely lehetővé teszi a kernelek számára, hogy ugyanazt a képet egyszerre írják és olvassák, de ezen kívül a mip-mappelt és multi-sampled OpenGL textúrákból is lehetőség nyílik OpenCL képek készítésére, ami javítja az OpenGL-lel való együttműködést.

C11 Atomics: C11 atomi és szinkronizációs műveletek részhalmaza, amely lehetővé teszi, hogy az egyes munkafolyamatok a munkacsoportban zajló egyéb munkafolyamatok, illetve a többi munkacsoport számára is láthatóak legyenek.

Pipes: Memória objektumok, amelyek az adatokat FIFO elven tárolják. Az OpenCL 2.0 ezekhez a memóriaobjektumokhoz beépített kernelfunkciókat is kínál, így egy-egy pipe tartalmát egyszerűen lehet olvasni és írni, ezáltal a pipe adatstruktúrák egyértelműen és hatékonyan programozhatóak.

Android Installable Client Driver Extension: Egy új bővítmény az Android alapú rendszerek számára. Az újítás lehetővé teszi az OpenCL implementációk felfedezését és megosztott objektumként való betöltését Android operációs rendszer alatt.

Az újítások mellett az OpenCL SPIR (Standard Portable Intermediate Representation) 1.2-es kiadása is elérhetővé vált. Ez az újítás komoly jelentőséggel bír, ugyanis segítségével a fejlesztők szabványosított formában szállíthatják le a különböző alkalmazásokat a gyártóknak, illetve megrendelőknek, akik aztán az adott hardverkörnyezet utasításkészleteihez tökéletesen passzoló kódot fordíthatnak le belőle. Az LLVM3.2 alapú OpenCL SPIR lehetővé teszi a harmadik féltől származó alternatív programnyelvek fordítói által készített kódok használatát is - ilyen például a C++.

Neked ajánljuk

    Tesztek

      Kapcsolódó cikkek

      Vissza az oldal tetejére