Avaldati OpenCL 3.0 lõplikud spetsifikatsioonid

Khronose kontsern, mis vastutab OpenGL, Vulkan ja OpenCL spetsifikatsioonide arendamise eest, kuulutas teatas lõplikest spetsifikatsioonidest OpenCL 3.0, mis määratlevad API ja C-keele laiendused platvormidevaheliste paralleelsete arvutuste korraldamiseks, kasutades mitmetuumalisi CPU-sid, GPU-sid, FPGA-sid, DSP-sid ja teisi spetsialiseeritud kiipe, alates nendest, mida kasutatakse superarvutites ja pilveserverites, kuni kiipideni, mida võib leida mobiilseadmetes ja sisseehitatud seadmetes. OpenCL standard on täielikult avatud ja ei nõua litsentsitasusid.

Samuti avaldatud avatud OpenCL SDK koos tööriistade, näidiste, dokumentatsiooni, pealkirjade failide, C++ ja C-i teekide sidemete arendamiseks, mis on ühilduvad OpenCL 3.0-ga. Samuti esitatud on algne OpenCL 3.0 teostus, mis põhineb Clang-i kompilaatoril ja on ülevaatamisprotsessis, et lisada selle põhikomplekti LLVM. Standardi arendamisel osalesid sellised ettevõtted nagu IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments ja Toshiba.

Avaldati OpenCL 3.0 lõplikud spetsifikatsioonid

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.
    Avaldati OpenCL 3.0 lõplikud spetsifikatsioonid
  • 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.

    Avaldati OpenCL 3.0 lõplikud spetsifikatsioonid
  • 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.

    Avaldati OpenCL 3.0 lõplikud spetsifikatsioonid

Allikas: opennet.ru

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