Bola predstavená špecifikácia OpenCL 3.0

Konzornium Khronos, zodpovedné za vývoj špecifikácií rodiny OpenGL, Vulkan a OpenCL, vyhlásil o ukončení vývoja špecifikácií OpenCL 3.0, ktoré definujú API a rozšírenia jazyka C na organizáciu multiplatformných paralelných výpočtov s využitím viacjadrových CPU, GPU, FPGA, DSP a ďalších špecializovaných čipov, od tých, ktoré sa používajú v superpočítačoch a cloudových serveroch, až po čipy, ktoré môžeme nájsť v mobilných zariadeniach a zabudovanej technike. Štandard OpenCL je úplne otvorený a nevyžaduje licenčné poplatky. Na práci na štandarde sa podieľali také spoločnosti ako IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments a Toshiba.

V súčasnej fáze je špecifikácii priradený status predbežnej (provisional), čo znamená možnosť úprav na základe pripomienok zaslaných cez GitHub. Po tom, čo budú pripomienky zohľadnené, špecifikácia získa status finálnej a bude zverejnený konečný testovací balík na kontrolu kompatibility existujúcich realizácií.

Bola predstavená špecifikácia OpenCL 3.0

Najvýraznejšie , taktiež napísaná v jazyku Rust. Tokio umožňuje vytvárať vysoko výkonné aplikácie na báze eventovo orientovanej architektúry (Event-driven), podporujúce multithreading a spracovanie sieťových požiadaviek v asynchrónnom režime. OpenCL 3.0:

  • API OpenCL 3.0 teraz pokrýva všetky verzie OpenCL (1.2, 2.x), bez poskytovania samostatných špecifikácií pre každú verziu. OpenCL 3.0 predpokladá možnosť rozšírenia základnej funkčnosti prostredníctvom integrácie ďalších špecifikácií, ktoré sa budú vrstvať vo forme možností, bez zablokovania monolitického charakteru OpenCL 1.2/2.x.
  • Povinnou je vyhlásená iba funkčnosť zodpovedajúca OpenCL 1.2, zatiaľ čo všetky možnosti, ktoré sú navrhnuté v špecifikáciách OpenCL 2.x, sú považované za voliteľné. Takýto prístup zjednoduší vytváranie špecializovaných implementácií kompatibilných s OpenCL 3.0 a rozšíri spektrum zariadení, na ktorých môže byť OpenCL 3.0 používané. Napríklad výrobcovia môžu implementovať podporu OpenCL 3.0, aniž by implementovali samostatné možnosti OpenCL 2.x. Na prístup k voliteľným možnostiam jazyka v OpenCL 3.0 bola pridaná systém overovacích dotazov, ktorý umožňuje hodnotiť podporu jednotlivých prvkov API, ako aj špeciálne makrá.
  • Unifikácia s predchádzajúcimi špecifikáciami uľahčuje prevod aplikácií na OpenCL 3.0. Aplikácie OpenCL 1.2 budú schopné fungovať na zariadeniach s podporou OpenCL 3.0 bez zmien. Aplikácie OpenCL 2.x tiež nebudú vyžadovať zmeny v kóde, ale ak prostredie OpenCL 3.0 poskytuje potrebnú funkcionalitu (pre zabezpečenie prenosnosti budúcich aplikácií OpenCL 2.x sa odporúča pridať kontrolné dotazy na hodnotenie podpory využívaných schopností OpenCL 2.x). Vývojári ovládačov s implementáciami OpenCL budú môcť jednoducho aktualizovať svoje produkty na OpenCL 3.0 pridaním iba spracovania dotazov na existujúce API volania a postupne zvyšovať funkcionalitu.
  • Špecifikácia OpenCL 3.0 bola prispôsobená prostrediu, rozšíreniam a špecifikáciám univerzálneho medzičasu SPIR-V, ktoré sa tiež používa v API Vulkan. Podpora špecifikácie SPIR-V 1.3 bola zahrnutá do základnej výbavy OpenCL 3.0 ako voliteľná možnosť. Prostredníctvom použitia medzičasu SPIR-V pre výpočtové jadrá bola pridaná podpora operácií so subgroupami.
    Bola predstavená špecifikácia OpenCL 3.0
  • Bol pridaný podpora rozšírenia pre vykonávanie asynchrónnych DMA operácií (Asynchronous DMA), ktoré sú podporované v DSP-podobných čipoch s priamym prístupom do pamäte. Asynchronous DMA umožňuje používať DMA transakcie na prenos dát medzi globálnou a lokálnou pamäťou v asynchrónnom režime, paralelne s vykonávanými výpočtami alebo inými operáciami prenosu dát.
  • Špecifikácia rozšírení paralelného programovania pre jazyk C bola aktualizovaná na verziu 3.0, a vývoj jazykových rozšírení OpenCL pre C++ bol zastavený v prospech projektu „C++ for OpenCL“. C++ for OpenCL je kompilátor založený na Clang/LLVM a transliteruje jadrá na C++ a OpenCL C do medzičasu SPIR-V alebo nízkoúrovňového strojového kódu. Prostredníctvom translácie do SPIR-V je tiež organizované zostavovanie C++ aplikácií, ktoré používajú knižnicu šablón SYCL, uľahčujúcu vytváranie paralelných aplikácií.

    Bola predstavená špecifikácia OpenCL 3.0
  • Pre transláciu OpenCL cez API Vulkan sú navrhnuté kompilátor clspv, ktorý prevádza jadrá OpenCL do reprezentácie Vulkan SPIR-V, a vrstva clvk na zabezpečenie fungovania API OpenCL nad Vulkanom.

    Bola predstavená špecifikácia OpenCL 3.0

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster