Konačne specifikacije OpenCL 3.0 već su objavljene

Prije nekoliko mjeseci podijelili smo ovdje na blogu vijesti o izdanje razvoja OpenCL-a 3.0 od strane Koncern Khronos (Odgovoran za razvoj specifikacija za obitelj OpenGL, Vulkan i OpenCL).

I to je bilo donedavno to najavljeno izdanje konačnih OpenCL 3.0 specifikacija, definiranje API-ja i proširenja jezika C za organiziranje višeplatformnog paralelnog računanja pomoću višejezgrenih CPU-a, GPU-a, FPGA-a, DSP-a i drugih specijaliziranih čipova od onih koji se koriste u superračunalima i poslužiteljima u oblaku do čipova koji se mogu naći u mobilnim uređajima i integriranoj tehnologiji.

Istodobno je objavljen OpenCL SDK otvorenog koda s alatima, primjerima, dokumentacijom, datotekama zaglavlja, vezama za C ++ i C knjižnice za razvoj aplikacija kompatibilnih s OpenCL 3.0.

Također je predstavljena inicijalna implementacija OpenCL-a 3.0 temeljena na Clang kompajleru, koja je u fazi recenzije radi uključivanja u glavni paket LLVM-a. Tvrtke kao što su IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments i Toshiba doprinijele su standardu.

Danas, Radna skupina Khronos® OpenCL ™ sa zadovoljstvom najavljuje objavljivanje finaliziranih specifikacija OpenCL 3.0, uključujući novu objedinjenu specifikaciju jezika OpenCL C 3.0, zajedno s ranim početnim izdanjem Khronos OpenCL SDK-a kako bi programerima omogućio brzi ustanak ubrzajte s OpenCL-om.

OpenCL 3.0 glavne značajke

OpenCL 3.0 API sada pokriva sve verzije OpenCL-a (1.2, 2 x), bez davanja zasebnih specifikacija za svaku verziju.

OpenCL 3.0 nudi mogućnost proširenja osnovne funkcionalnosti integriranjem dodatnih specifikacija koje će se preklapati u obliku opcija bez blokiranja monolitne prirode OpenCL 1.2 / 2.X.

Jedina funkcionalnost koja je u skladu s OpenCL 1.2 proglašen je obveznimi sve značajke predložene u Specifikacije OpenCL 2.x nazivaju se neobaveznim.

Ovaj pristup pojednostavit će stvaranje specijaliziranih implementacija kompatibilnih s OpenCL 3.0 i proširit će raspon uređaja na kojima se OpenCL 3.0 može koristiti.

Npr. Proizvođači mogu implementirati podršku za OpenCL 3.0 bez primjene određenih OpenCL 2.x značajki. Da bi se pristupilo neobaveznim jezičnim funkcijama, sustav OpenCL 3.0 dodan je sustav zahtjeva za ocjenu podrške za pojedine API elemente, kao i posebne makronaredbe.

Objedinjavanje s prethodno objavljenim specifikacijama olakšava prevođenje aplikacija na OpenCL 3.0. Aplikacije OpenCL 1.2 moći će se izvoditi na uređajima koji podržavaju OpenCL 3.0 bez izmjena.

aplikacije OpenCL 2.x također ne zahtijevaju promjene koda, ali ako okruženje OpenCL 3.0 pruža potrebnu funkcionalnost (za buduću prenosivost, OpenCL 2.x aplikacije potiču se da dodaju probne upite za procjenu kompatibilnosti s korištenim značajkama OpenCL 2.x).

Programeri upravljačkih programa s implementacijama OpenCL-a mogu lako nadograditi svoje proizvode na OpenCL 3.0 dodavanjem samo obrade zahtjeva za određene API pozive i postupnim povećanjem funkcionalnosti s vremenom.

Specifikacija OpenCL 3.0 usklađena je s okolinom, proširenjima i specifikacijama generičkog intermedijara SPIR-V, koji se također koristi u API-ju Vulkan. Podrška za SPIR-V 1.3 specifikaciju uključena je u glavnu OpenCL 3.0 kao dodatna značajka. Podrška za operacije s podskupinama dodana je korištenjem posrednog predstavljanja SPIR-V za računske jezgre.

osim toga dodana podrška za proširenje za izvođenje DMA operacija Asinhroni podržani na DMA čipovima sličnim DSP-u.

Asinkroni DMA omogućuje upotrebu DMA transakcija za asinkroni prijenos podataka između globalne i lokalne memorije, paralelno s tekućim izračunima ili drugim prijenosima podataka.

Specifikacija proširenja paralelnog programiranja za jezik C je ažuriran na verziju 3.0 i razvoj jezičnih proširenja OpenCL za C ++ obustavljen je u korist projekta "C ++ za OpenCL".

Za prevođenje OpenCL-a kroz Vulkan API, predložen je clspv kompajler, koji pretvara OpenCL jezgre u Vulkan SPIR-V reprezentaciju i sloj clvk kako bi osigurao da OpenCL API radi na Vulkanu.

izvor: https://www.khronos.org/


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.