Yekupedzisira OpenCL 3.0 yakatarwa yakaburitswa

Iyo Khronos kunetseka, ine basa rekugadzira iyo OpenGL, Vulkan uye OpenCL mhuri yakatarwa, yakaziviswa pakuburitswa kwezvakatemwa zvekupedzisira VhuraCL 3.0, kutsanangura maAPI uye mawedzero emutauro weC kuronga muchinjika-chikuva chakafanana komputa uchishandisa akawanda-core CPUs, GPUs, FPGAs, DSPs uye mamwe machipisi akasarudzika, kubva kune ayo anoshandiswa mumakomputa makuru nemaseva egore kusvika kumachipisi anogona kuwanikwa munharembozha uye. yakavakirwa-mukati tekinoroji. Iyo OpenCL chiyero yakavhurika zvachose uye haidi muripo werezinesi.

Panguva imwe chete yakabudiswa vhura OpenCL SDK ine maturusi, mienzaniso, zvinyorwa, misoro mafaera, C++ zvinosungirirwa uye C maraibhurari ekugadzira maapplication anoenderana neOpenCL 3.0. Zvakare yakaunzwa kwekutanga kuita kweOpenCL 3.0 zvichibva pane iyo Clang compiler, iri padanho rekuongorora zvigamba zvekuiswa muchimiro chikuru cheLLVM. Makambani akadai IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments uye Toshiba akatora chikamu mubasa pachiyero.

Yekupedzisira OpenCL 3.0 yakatarwa yakaburitswa

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.
    Yekupedzisira OpenCL 3.0 yakatarwa yakaburitswa

  • 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.

    Yekupedzisira OpenCL 3.0 yakatarwa yakaburitswa

  • 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.

    Yekupedzisira OpenCL 3.0 yakatarwa yakaburitswa

Source: opennet.ru

Voeg