Bola predstavená špecifikácia OpenCL 3.0

Koncern Khronos, zodpovedný za vývoj špecifikácií rodiny OpenGL, Vulkan a OpenCL, oznámil o dokončení vývoja špecifikácií OpenCL 3.0, ktoré definujú API a rozšírenia jazyka C na organizovanie multiplatformových paralelných výpočtov pomocou viacjadrových CPU, GPU, FPGA, DSP a iných špecializovaných čipov, od tých, ktoré sa používajú v superpočítačoch a cloudových serveroch na čipy, ktoré možno nájsť v mobilných zariadeniach a vstavaných technológiách. Štandard OpenCL je úplne otvorený a nevyžaduje licenčné poplatky. Na práci na štandarde sa podieľali spoločnosti ako IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments a Toshiba.

V súčasnej fáze bol špecifikácii priradený dočasný stav, čo znamená možnosť spresnenia na základe spätnej väzby odoslanej prostredníctvom GitHub. Po zohľadnení pripomienok bude špecifikácia dokončená a bude zverejnený finálny testovací balík na testovanie kompatibility existujúcich implementácií.

Bola predstavená špecifikácia OpenCL 3.0

Najpozoruhodnejšie rysy OpenCL 3.0:

  • OpenCL 3.0 API teraz pokrýva všetky verzie OpenCL (1.2, 2.x) bez poskytovania samostatných špecifikácií pre každú verziu. OpenCL 3.0 poskytuje možnosť rozšíriť základné funkcie prostredníctvom integrácie ďalších špecifikácií, ktoré budú vrstvené vo forme možností bez blokovania monolitickej povahy OpenCL 1.2/2.X.
  • Iba funkcie, ktoré sú v súlade s OpenCL 1.2, sú vyhlásené za povinné a všetky funkcie navrhnuté v špecifikáciách OpenCL 2.x sú klasifikované ako voliteľné. Tento prístup uľahčí vytváranie vlastných implementácií, ktoré sú kompatibilné s OpenCL 3.0, a rozšíri škálu zariadení, na ktorých je možné OpenCL 3.0 použiť. Výrobcovia môžu napríklad implementovať podporu OpenCL 3.0 bez implementácie špecifických funkcií OpenCL 2.x. Pre prístup k voliteľným jazykovým funkciám OpenCL 3.0 pridal systém testovacích dotazov, ktorý umožňuje vyhodnotiť podporu jednotlivých prvkov API, ako aj špeciálnych makier.
  • Zjednotenie s predtým vydanými špecifikáciami uľahčuje migráciu aplikácií na OpenCL 3.0. Aplikácie OpenCL 1.2 budú môcť bežať na zariadeniach, ktoré podporujú OpenCL 3.0 bez úprav. Aplikácie OpenCL 2.x tiež nebudú vyžadovať zmeny kódu, pokiaľ prostredie OpenCL 3.0 poskytuje požadovanú funkčnosť (na zabezpečenie budúcej prenosnosti sa aplikáciám OpenCL 2.x odporúča pridať testovacie dotazy na vyhodnotenie podpory funkcií OpenCL 2.x používaný). Vývojári ovládačov s implementáciou OpenCL môžu jednoducho upgradovať svoje produkty na OpenCL 3.0, pričom pridávajú iba spracovanie dotazov pre určité volania API a postupne zvyšujú funkčnosť.
  • Špecifikácia OpenCL 3.0 je v súlade s prostredím, rozšíreniami a špecifikáciami generickej strednej reprezentácie SPIR-V, ktorú používa aj Vulkan API. Podpora špecifikácie SPIR-V 1.3 je súčasťou jadra OpenCL 3.0 ako voliteľná funkcia. Prostredníctvom použitia strednej reprezentácie SPIR-V pre výpočtové jadrá bola pridaná podpora operácií s podskupinami.
    Bola predstavená špecifikácia OpenCL 3.0

  • Pridaná podpora pre rozšírenie na vykonávanie asynchrónnych DMA operácií (Asynchronous DMA), podporované v čipoch podobných DSP s priamym prístupom do pamäte. Asynchrónne DMA umožňuje použiť transakcie DMA na asynchrónny prenos údajov medzi globálnou a lokálnou pamäťou, paralelne s výpočtami alebo inými operáciami prenosu údajov.
  • Špecifikácia C Parallel Programming Extensions bola aktualizovaná na verzia 3.0a vývoj rozšírení jazyka OpenCL pre C++ bol prerušený v prospech projektu „C++ for OpenCL“. C++ pre OpenCL je kompilátor založený na Clang/LLVM a vysielanie C++ a OpenCL C jadrá do SPIR-V strednej reprezentácie alebo nízkoúrovňového strojového kódu. Prostredníctvom vysielania SPIR-V organizuje aj zostavovanie C++ aplikácií pomocou knižnice šablón SYCL, čo zjednodušuje vytváranie paralelných aplikácií.

    Bola predstavená špecifikácia OpenCL 3.0

  • Bol navrhnutý kompilátor na vysielanie OpenCL cez Vulkan API clspv, ktorý konvertuje jadrá OpenCL na reprezentáciu Vulkan SPIR-V a vrstvu clvk aby OpenCL API fungovalo nad Vulkanom.

    Bola predstavená špecifikácia OpenCL 3.0

Zdroj: opennet.ru

Pridať komentár