OpenCL 3.0 yakatarwa yakaunzwa

Iyo Khronos kunetseka, ine basa rekugadzira iyo OpenGL, Vulkan uye OpenCL mhuri yakatarwa, yakaziviswa pakupedzwa kwekuvandudzwa kweOpenCL 3.0 zvirevo zvinotsanangura maAPI uye mawedzero emutauro weC kuronga muchinjika-puratifomu parallel komputa uchishandisa multi-core CPUs, GPUs, FPGAs, DSPs nemamwe machipisi akasarudzika, kubva kune ayo anoshandiswa mumakomputa makuru nemaseva emakore. kune machipisi anogona kuwanikwa mune nharembozha uye yakamisikidzwa tekinoroji. Iyo OpenCL chiyero yakavhurika zvachose uye haidi muripo werezinesi. Makambani akadai seIBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments uye Toshiba akatora chikamu mubasa pachiyero.

Padanho razvino, iyo yakatarwa yakapihwa chinzvimbo chenguva, izvo zvinoreva mukana wekukwenenzverwa zvichienderana nemhinduro inotumirwa kuburikidza. GitHub. Kana zvirevo zvave kuverengerwa, iyo yakatarwa ichapedzwa uye yekupedzisira test suite ichaburitswa kuyedza kuenderana kwezviitwa zviripo.

OpenCL 3.0 yakatarwa yakaunzwa

Zvinonyanya kukosha maficha VhuraCL 3.0:

  • Iyo OpenCL 3.0 API ikozvino inovhara ese mavhezheni eOpenCL (1.2, 2.x), pasina kupa zvakapatsanurwa kune yega yega vhezheni. OpenCL 3.0 inopa kugona kwekuwedzera core performance kuburikidza nekubatanidzwa kwemamwe maratidziro ayo anozoiswa muchimiro chesarudzo pasina kuvhara monolithic chimiro cheOpenCL 1.2/2.X.
  • Kushanda chete kunoenderana neOpenCL 1.2 ndiko kunonzi kunofanirwa kuitwa, uye zvese zvinotsanangurwa muOpenCL 2.x zvakatemwa zvinoiswa mumhando yesarudzo. Iyi nzira ichaita kuti zvive nyore kugadzira tsika dzekushandisa dzinoenderana neOpenCL 3.0, uye ichawedzera huwandu hwemidziyo iyo OpenCL 3.0 inogona kushandiswa. Semuyenzaniso, vagadziri vanogona kushandisa OpenCL 3.0 tsigiro vasina kuita chaiyo OpenCL 2.x maficha. Kuti uwane zvingasarudzika zvemutauro, OpenCL 3.0 yakawedzera hurongwa hwebvunzo dzebvunzo iyo inobvumidza iwe kuti uongorore kutsigirwa kweiyo yega API zvinhu, pamwe neakakosha macros.
  • Kubatanidzwa nezvakamboburitswa zvakatemwa kunoita kuti zvive nyore kutamisa maapplication kuenda kuOpenCL 3.0. OpenCL 1.2 maapplication achakwanisa kumhanya pamidziyo inotsigira OpenCL 3.0 isina kugadziridzwa. OpenCL 2.x zvikumbiro hazvizodewo shanduko yekodhi, chero nharaunda yeOpenCL 3.0 ichipa mashandiro anodiwa (kuti ive nechokwadi chekutakurika kweramangwana, OpenCL 2.x zvikumbiro zvinokurudzirwa kuwedzera mibvunzo yebvunzo kuti iongorore rutsigiro rweOpenCL 2.x maficha. kushandiswa). Vagadziri vevatyairi vane OpenCL mashandisirwo vanogona kukwidziridza zvigadzirwa zvavo zviri nyore kuOpenCL 3.0, vachiwedzera chete query process kune mamwe ma API mafoni, uye zvishoma nezvishoma kuwedzera kushanda nekufamba kwenguva.
  • Iyo OpenCL 3.0 tsananguro inofambirana nenharaunda, mawedzero, uye zvakatemwa zveSPIR-V generic yepakati inomiririra, iyo inoshandiswa zvakare neVulkan API. Tsigiro yeSPIR-V 1.3 yakatarwa inosanganisirwa mukati meiyo OpenCL 3.0 sechinhu chinosarudzika. Kuburikidza nekushandiswa kwemumiriri wepakati SPIR-V tsigiro yekushanda nemasubgroups yakawedzerwa pacomputing cores.
    OpenCL 3.0 yakatarwa yakaunzwa

  • Yakawedzerwa tsigiro yekuwedzera kwekuita asynchronous DMA mashandiro (Asynchronous DMA), inotsigirwa muDSP-senge machipisi ane yakananga ndangariro kuwana. Asynchronous DMA inoita kuti zvikwanise kushandisa DMA transaction kuendesa data pakati peyepasirese neyemuno ndangariro asynchronously, mukufambirana nekuverenga kana mamwe mabasa ekufambisa data.
  • Iyo C Parallel Programming Extensions yakatarwa yakagadziridzwa kuti mhando 3.0, uye kuvandudzwa kweOpenCL mutauro wekuwedzera kweC++ kwakamiswa nekuda kwe "C++ yeOpenCL" chirongwa. C++ yeOpenCL muunganidzwa wakavakirwa paClang/LLVM uye kutepfenyura C++ uye OpenCL C kernels muSPIR-V yepakati inomiririra kana yakaderera-level muchina kodhi. Kuburikidza nekutepfenyura, SPIR-V inorongawo kuungana kweC++ application vachishandisa raibhurari yetemplate yeSYCL, iyo inorerutsa kugadzira maapplication akafanana.

    OpenCL 3.0 yakatarwa yakaunzwa

  • A compiler yakakurudzirwa kutepfenyura OpenCL kuburikidza neVulkan API clspv, iyo inoshandura OpenCL kernels kuita Vulkan SPIR-V inomiririra, uye layer clvk kugonesa OpenCL API kushanda pamusoro peVulkan.

    OpenCL 3.0 yakatarwa yakaunzwa

Source: opennet.ru

Voeg