Esitleti OpenCL 3.0 spetsifikatsiooni

Khronose kontsern, mis vastutab OpenGL, Vulkan ja OpenCL spetsifikatsioonide arendamise eest, kuulutas OpenCL 3.0 spetsifikatsioonide arendamise lõpetamine, mis määratleb API ja keele C laiendused, et korraldada platvormidevahelist paralleeltöötlemist mitme tuumaga CPU-d, GPU-sid, FPGA-sid, DSP-sid ja muid spetsialiseeritud kiipe, alates superarvutites ja pilveteenustes kasutatavast tehnikast kuni mobiilsete seadmete ja sisseehitatud tehnikani. OpenCL standard on täielikult avatud ja ei nõua litsentsitasu. Standardi koosloomega on osalenud ettevõtted nagu IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments ja Toshiba.

Praeguses etapis on spetsifikatsioonile antud esialgne (provisional) staatus, mis tähendab, et seda on võimalik täiendada tagasiside alusel, mis on saadetud läbi GitHub. Pärast märkuste arvestamist saab spetsifikatsioon lõpliku staatuse ning avaldatakse viimane testikomplekt olemasolevate rakenduste ühilduvuse kontrollimiseks.

Esitleti OpenCL 3.0 spetsifikatsiooni

Kõige silmapaistvamad omadused OpenCL 3.0:

  • API OpenCL 3.0 katab kogu OpenCL versioonide (1.2, 2.x) ulatust, ilma et iga versiooni jaoks eraldi spetsifikatsioone esitataks. OpenCL 3.0 võimaldab põhifunktsionaalsuse laiendamist täiendavate spetsifikatsioonide integreerimise kaudu, mis kihistuvad valikutena, mitte blokeerides OpenCL 1.2/2.X monoliitset iseloomu.
  • Kohustuslikuks on kuulutatud ainult funktsionaalsus, mis vastab OpenCL 1.2-le, ning kõik OpenCL 2.x spetsifikatsioonides pakutavad võimalused on klassifitseeritud mitte kohustuslikeks. Selline lähenemine lihtsustab eripäraste teostuste loomist, mis on ühilduvad OpenCL 3.0-ga, ja laiendab seadmete spektrit, kus OpenCL 3.0-d saab kasutada. Näiteks saavad tootjad rakendada OpenCL 3.0 tuge, ilma et peaksid rakendama eraldi OpenCL 2.x funktsioone. Keelt käsitlevate valikuvõimaluste juurde juurdepääsu võimaldamiseks on OpenCL 3.0-sse lisatud kontrollipäringute süsteem, mis võimaldab hinnata üksikute API elementide toetust, samuti spetsiaalseid makrosid.
  • Eelmiste spetsifikatsioonide ühtlustamine lihtsustab rakenduste tõlkimist OpenCL 3.0-le. OpenCL 1.2 rakendused saavad töötada OpenCL 3.0 toetavates seadmetes ilma muudatusteta. OpenCL 2.x rakendused ei vaja samuti koodi muutmist, kuid kui OpenCL 3.0 keskkond pakub vajalikku funktsionaalsust (tulevikus OpenCL 2.x rakenduste ülekantavuse tagamiseks on soovitatav lisada kontrollküsitlusi kasutatavate OpenCL 2.x funktsioonide toe hindamiseks). Draiveriarendajad, kellel on OpenCL teostused, saavad oma tooteid hõlpsasti uuendada OpenCL 3.0-le, lisades ainult API-kutsungite toetamise, ja järk-järgult suurendada funktsionaalsust.
  • OpenCL 3.0 spetsifikatsioon on kohandatud universaalse vahendusvormi SPIR-V keskkonna, laienduste ja spetsifikatsioonidega, mida kasutatakse ka Vulkan API-s. SPIR-V 1.3 spetsifikatsiooni toimetamine on lisatud OpenCL 3.0 põhikoosseisu valikulise funktsioonina. Vahevormi kasutamise kaudu SPIR-V arvutuskerede jaoks on lisatud algrühmade toimingute tugi.
    Esitleti OpenCL 3.0 spetsifikatsiooni
  • Lisatud on toetus asünkroonsete DMA-tehingute täitmiseks (Asynchronous DMA), mida toetavad DSP-tüüpi kiibid, millel on otsene ligipääs mälule. Asynchronous DMA võimaldab kasutada DMA tehinguid andmete edastamiseks globaalsete ja lokaalsete mälude vahel asünkroonses režiimis, samal ajal kui toimub arvutus või muid andmeedastusoperatsioone.
  • C keele paralleelse programmeerimise laienduste spetsifikatsioon on uuendatud versioonile 3.0, ning OpenCL-i keel laienduste arendamine C++ jaoks on lõpetatud C++ for OpenCL projekti kasuks. C++ for OpenCL on Clang/LLVM põhine kompilaator ja transformeerib tuumad C++ ja OpenCL C SPIR-V vaheformaatiks või madalamal tasemel masinkoodiks. SPIR-V-sse transformeerimise kaudu on samuti korraldatud C++ rakenduste koostamine, mis kasutavad SYCL malliraamatukogu, mis lihtsustab paralleelsete rakenduste loomist.

    Esitleti OpenCL 3.0 spetsifikatsiooni
  • OpenCL-i kompileerimiseks Vulkan API kaudu on pakutud kompilaatorit clspv, mis muundab OpenCL tuumad Vulkan SPIR-V kujule, ja kihti clvk , et tagada OpenCL API toimimine Vulkan'i peal.

    Esitleti OpenCL 3.0 spetsifikatsiooni

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster