Bemutatásra kerül az OpenCL 3.0 specifikációja.

A Khronos Szövetség, amely felelős az OpenGL, Vulkan és OpenCL család specifikációinak fejlesztéséért, bejelentette bejelentette az OpenCL 3.0 specifikációk fejlesztésének befejezését, amelyek az API-t és a C nyelv kiterjesztéseit határozzák meg a platformok közötti párhuzamos számítások lebonyolításához, többmagos CPU-k, GPU-k, FPGA-k, DSP-k és más speciális chippek segítségével, a szuperszámítógépekben és felhőalapú szerverekben használt chipektől kezdve a mobil eszközökben és beágyazott technológiákban található chipekig. Az OpenCL szabvány teljesen nyílt, és nem igényel licencdíjat. A szabvány kidolgozásában olyan vállalatok vettek részt, mint az IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments és Toshiba.

A specifikációnak jelenleg előzetes (provisional) státusza van, ami lehetőséget ad a módosításokra a beérkezett visszajelzések alapján, amelyeket a GitHubkeresztül lehet küldeni. Miután a megjegyzéseket figyelembe vették, a specifikáció végleges státuszt kap, és közzéteszik az utolsó tesztkészletet a meglévő megvalósítások kompatibilitásának ellenőrzésére.

Bemutatásra kerül az OpenCL 3.0 specifikációja.

Legfontosabb jellemzői OpenCL 3.0:

  • Az OpenCL 3.0 API mostantól minden OpenCL verziót (1.2, 2.x) lefed, anélkül, hogy minden verzióhoz külön specifikációkat biztosítanának. Az OpenCL 3.0 lehetőséget biztosít a fő funkciók kiterjesztésére további specifikációk integrálásán keresztül, amelyek opciók formájában ráépülnek, anélkül hogy blokkolnák az OpenCL 1.2/2.X monolitikus jellegét.
  • Csak az OpenCL 1.2-nek megfelelő funkcionalitás kötelező, míg az OpenCL 2.x specifikációkban javasolt összes funkció opcionálisnak minősül. Ez a megközelítés megkönnyíti a szakterületi megvalósítások létrehozását, amelyek kompatibilisek az OpenCL 3.0-val, és szélesíti azakat az eszközök körét, amelyeken az OpenCL 3.0 használható. Például a gyártók implementálhatják az OpenCL 3.0 támogatását anélkül, hogy a külön OpenCL 2.x funkciókat implementálnák. Az OpenCL 3.0-ban bevezetésre került egy ellenőrző lekérdezési rendszer is, amely lehetővé teszi az API egyes elemeinek támogatásának értékelését, valamint speciális makrók alkalmazását.
  • A korábbi kiadású specifikációkkal való egységesítés megkönnyíti az alkalmazások áttérését az OpenCL 3.0-ra. Az OpenCL 1.2 alkalmazások változtatás nélkül fognak működni az OpenCL 3.0-t támogató eszközökön. Az OpenCL 2.x alkalmazások szintén nem igényelnek kódváltoztatást, de ha az OpenCL 3.0 környezet a szükséges funkcionalitást nyújtja, ajánlott, hogy a jövőbeni OpenCL 2.x alkalmazások átjárhatósága érdekében a fejlesztők ellenőrző lekérdezéseket adjanak hozzá az OpenCL 2.x által használt képességek támogatottságának értékeléséhez. Az OpenCL megvalósításokkal rendelkező meghajtófejlesztők könnyen frissíthetik termékeiket az OpenCL 3.0-ra, csupán az API-hívások meglétének ellenőrzésével, és idővel fokozatosan növelhetik a funkcionalitást.
  • Az OpenCL 3.0 specifikációja összhangba került a SPIR-V univerzális köztes reprezentálás környezetével, kiterjesztéseivel és specifikációival, amely szintén alkalmazva van a Vulkan API-ban. A SPIR-V 1.3 specifikáció támogatása opcionális lehetőségként került be az OpenCL 3.0 fő összetevőibe. Közvetett reprezentálás alkalmazásán keresztül SPIR-V a számítási magok számára támogatás került az alcsoportokkal végzett műveletekhez.
    Bemutatásra kerül az OpenCL 3.0 specifikációja.
  • Támogatás került bevezetésre az aszinkron DMA-műveletek (Asynchronous DMA) végrehajtásához, amelyeket DSP-szerű chipek támogatnak közvetlen memória-hozzáféréssel. Az Asynchronous DMA lehetővé teszi a DMA tranzakciók használatát az adatok globális és lokális memória közötti aszinkron átvitelére, párhuzamosan a végrehajtott számításokkal vagy más adatrészvénysekkel.
  • A C nyelv párhuzamos programozásának kiterjesztési specifikációja frissítésre került 3.0-ás verzióra, míg az OpenCL nyelvi kiterjesztések C++-ra való fejlesztése leállt a «C++ for OpenCL» projekt javára. A C++ for OpenCL egy Clang/LLVM alapú fordító, amely lefordítja a magokat C++ és OpenCL C nyelvről SPIR-V köztes reprezentációra vagy alacsony szintű gépi kódra. Az SPIR-V-be való lefordítás révén a C++ alkalmazások összeállítása is lehetővé válik, amelyek a SYCL sablonkönyvtárat használják, egyszerűsítve a párhuzamos alkalmazások létrehozását.

    Bemutatásra kerül az OpenCL 3.0 specifikációja.
  • OpenCL Vulkan API-n keresztüli lefordításához a következő fordító javasolt: clspv, amely az OpenCL magokat a Vulkan SPIR-V reprezentációjává alakítja, és egy köztes réteg, clvk , amely biztosítja az OpenCL API működését a Vulkan felett.

    Bemutatásra kerül az OpenCL 3.0 specifikációja.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster