Galutinės „OpenCL 3.0“ specifikacijos jau buvo išleistos

Prieš kelis mėnesius pasidalijome čia, tinklaraštyje, apie naujienas išleido "OpenCL 3.0" kūrimą „Khronos“ koncernas (Atsakingas už „OpenGL“, „Vulkan“ ir „OpenCL“ šeimos specifikacijų kūrimą).

Ir tai buvo dar visai neseniai paskelbta galutinių „OpenCL 3.0“ specifikacijų išleidimas, apibrėždami API ir C kalbos plėtinius, kad būtų galima organizuoti daugiaplatformį lygiagrečią skaičiavimą naudojant daugiagyslius procesorius, GPU, FPGA, DSP ir kitas specializuotas mikroschemas nuo tų, kurios naudojamos superkompiuteriuose ir debesų serveriuose, iki lustų, kuriuos galima rasti mobiliuosiuose įrenginiuose ir integruotose technologijose.

Tuo pačiu metu buvo išleistas atviro kodo „OpenCL SDK“ su įrankiais, pavyzdžiais, dokumentais, antraštės failais, nuorodomis į C ++ ir C bibliotekas, skirtas kurti „OpenCL 3.0“ suderinamas programas.

Taip pat pateikiamas pradinis „OpenCL 3.0“ diegimas remiantis „Clang“ kompiliatoriumi, kuris yra įtraukimo į pagrindinį LLVM paketą tarpusavio vertinimo etape. Prie šio standarto prisidėjo tokios kompanijos kaip IBM, NVIDIA, „Intel“, AMD, „Apple“, ARM, „Electronic Arts“, „Qualcomm“, „Texas Instruments“ ir „Toshiba“.

Šiandien „Khronos® OpenCL ™“ darbo grupė su malonumu praneša apie galutinių „OpenCL 3.0“ specifikacijų išleidimą, įskaitant naują suvienodintą „OpenCL C 3.0“ kalbos specifikaciją, taip pat išankstinį pradinį „Khronos OpenCL SDK“ leidimą, kad kūrėjai galėtų greitai atsikelti. paspartinti naudojant „OpenCL“.

Pagrindinės „OpenCL 3.0“ funkcijos

„OpenCL 3.0“ API dabar apima visas „OpenCL“ versijas (1.2, 2.x), nepateikiant atskirų specifikacijų kiekvienai versijai.

„OpenCL 3.0“ suteikia galimybę išplėsti pagrindinį funkcionalumą integruojant papildomas specifikacijas, kurios sutaps opcionų forma, neužblokuodamos monolitinio „OpenCL 1.2 / 2.X“ pobūdžio.

Tik funkcionalumas, kuris atitinka „OpenCL 1.2“ yra paskelbta privaloma, ir visos funkcijos, siūlomos „OpenCL 2.x“ specifikacijos vadinamos neprivalomomis.

Šis metodas supaprastins specializuotų diegimų, suderinamų su „OpenCL 3.0“, kūrimą ir išplės įrenginių, kuriuose galima naudoti „OpenCL 3.0“, asortimentą.

Pavyzdžiui, Gamintojai gali įdiegti „OpenCL 3.0“ palaikymą neįdiegę specifinių „OpenCL 2.x“ funkcijų. Norint pasiekti pasirinktines kalbos funkcijas, prie „OpenCL 3.0“ buvo pridėta testavimo užklausų sistema, skirta įvertinti atskirų API elementų palaikymą, taip pat specialias makrokomandas.

Sujungus anksčiau išleistas specifikacijas, galima lengvai išversti programas į „OpenCL 3.0“. „OpenCL 1.2“ programos be pakeitimų galės veikti įrenginiuose, palaikančiuose „OpenCL 3.0“.

Programos „OpenCL 2.x“ taip pat nereikia keisti kodo, bet jei „OpenCL 3.0“ aplinka suteikia reikiamą funkcionalumą (būsimam perkėlimui, „OpenCL 2.x“ programos raginamos pridėti bandomąsias užklausas, kad būtų galima įvertinti suderinamumą su naudojamomis „OpenCL 2.x“ funkcijomis).

Tvarkyklių kūrėjai, turintys „OpenCL“ diegimą, gali lengvai atnaujinti savo produktus į „OpenCL 3.0“, pridėdami tik tam tikrų API skambučių užklausų apdorojimą ir palaipsniui didindami funkcionalumą.

„OpenCL 3.0“ specifikacija buvo suderinta su aplinka, plėtiniais ir specifikacijomis tarpinio tarpinio SPIR-V, kuris taip pat naudojamas „Vulkan“ API. SPIR-V 1.3 specifikacijos palaikymas yra įtrauktas į pagrindinę „OpenCL 3.0“ kaip papildomą funkciją. Operacijų su pogrupiais palaikymas buvo pridėtas naudojant skaičiavimo branduolių tarpinį atvaizdavimą SPIR-V.

neskaitant to pridėtas palaikymas plėtiniui DMA operacijoms atlikti Asinchroninis palaikymas DSP tipo DMA lustuose.

Asinchroninė DMA leidžia naudoti DMA operacijas duomenims perduoti tarp pasaulinės ir vietinės atminties asinchroniškai, tuo pačiu metu atliekant skaičiavimus ar kitus duomenų perdavimus.

Lygiagrečių programavimo plėtinių specifikacija kalbai C buvo atnaujinta į 3.0 versiją o „C ++“ „OpenCL“ kalbos plėtinių kūrimas nutraukiamas projekto „C ++ for OpenCL“ naudai.

Norėdami išversti „OpenCL“ per „Vulkan“ API, siūlomas „clspv“ kompiliatorius, kuris konvertuoja „OpenCL“ branduolius į „Vulkan SPIR-V“ vaizdą ir „clvk“ sluoksnį, kad būtų užtikrinta, jog „OpenCL“ API veikia virš „Vulkan“.

Fuente: https://www.khronos.org/


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.