Iinkcukacha zokugqibela ze-OpenCL 3.0 zipapashwe

Inkxalabo ye-Khronos, enoxanduva lokuphuhlisa i-OpenGL, i-Vulkan kunye ne-OpenCL yosapho olucacileyo, kwaziswa ekupapashweni kweenkcukacha zokugqibela I-OpenCL 3.0, ukuchaza i-APIs kunye nezandiso zolwimi lwe-C ukulungiselela i-cross-platform parallel computing usebenzisa i-multi-core CPUs, i-GPUs, i-FPGAs, i-DSPs kunye nezinye ii-chips ezikhethekileyo, ukusuka kwezo zisetyenziswa kwii-supercomputers kunye neeseva zefu ukuya kwii-chips ezinokufumaneka kwizixhobo eziphathwayo kunye iteknoloji eyakhelwe-ngaphakathi. Umgangatho we-OpenCL uvuleke ngokupheleleyo kwaye awufuni mali yelayisensi.

Ngaxeshanye ipapashiwe vula i-OpenCL SDK enezixhobo, imizekelo, amaxwebhu, iifayile ze-header, izibophelelo ze-C ++ kunye neelayibrari ze-C zokuphuhlisa izicelo ezihambelana ne-OpenCL 3.0. Kwakhona imelwe ngu ukuphunyezwa kokuqala kwe-OpenCL 3.0 esekelwe kwi-compiler ye-Clang, ekwinqanaba lokuphonononga ama-patches ukuze afakwe kwisakhiwo esiphambili se-LLVM. Iinkampani ezifana ne-IBM, i-NVIDIA, i-Intel, i-AMD, i-Apple, i-ARM, i-Electronic Arts, i-Qualcomm, i-Texas Instruments kunye ne-Toshiba ithathe inxaxheba kumsebenzi kumgangatho.

Iinkcukacha zokugqibela ze-OpenCL 3.0 zipapashwe

Okuphawuleka kakhulu Iimbonakalo I-OpenCL 3.0:

  • I-OpenCL 3.0 API ngoku igubungela zonke iinguqulelo ze-OpenCL (1.2, 2.x), ngaphandle kokubonelela ngeenkcukacha ezahlukeneyo kwinguqulelo nganye. I-OpenCL 3.0 inika amandla okwandisa ukusebenza okungundoqo ngokudityaniswa kweenkcukacha ezongezelelweyo eziza kufakwa kwiindlela zokukhetha ngaphandle kokuthintela uhlobo lwe-monolithic lwe-OpenCL 1.2 / 2.X.
  • Kuphela kukusebenza okuthobelana ne-OpenCL 1.2 okuchazwa njengokusisinyanzelo, kwaye zonke iimpawu ezicetywayo kwingcaciso ye-OpenCL 2.x zihlelwa njengezingakhethwa. Le ndlela iya kwenza kube lula ukwenza ukuphunyezwa kwesiko okuhambelana ne-OpenCL 3.0, kwaye iya kwandisa uluhlu lwezixhobo apho i-OpenCL 3.0 ingasetyenziswa. Ngokomzekelo, abavelisi banokusebenzisa inkxaso ye-OpenCL 3.0 ngaphandle kokuphumeza iimpawu ezithile ze-OpenCL 2.x. Ukufikelela kwiimpawu zolwimi ezikhethiweyo, i-OpenCL 3.0 yongeze inkqubo yemibuzo yokuvavanya evumela ukuba uvavanye ukuxhaswa kwezinto ezizimeleyo ze-API, kunye ne-macros ekhethekileyo.
  • Ukudityaniswa neenkcukacha ezikhutshwe ngaphambili kwenza kube lula ukufuduka kwezicelo kwi-OpenCL 3.0. Izicelo ze-OpenCL 1.2 ziya kukwazi ukusebenza kwizixhobo ezixhasa i-OpenCL 3.0 ngaphandle kokuguqulwa. Izicelo ze-OpenCL 2.x nazo aziyi kufuna utshintsho lwekhowudi, nje ukuba indawo ye-OpenCL 3.0 ibonelela ngokusebenza okufunekayo (ukuqinisekisa ukuphatheka kwexesha elizayo, izicelo ze-OpenCL 2.x zicetyiswa ukuba zongeze imibuzo yovavanyo ukuvavanya inkxaso yeempawu ze-OpenCL 2.x kusetyenziswa). Abaphuhlisi bomqhubi abanokuphunyezwa kwe-OpenCL banokuphucula ngokulula iimveliso zabo kwi-OpenCL 3.0, bongeza kuphela ukusetyenzwa kwemibuzo kwiifowuni ezithile ze-API, kwaye ngokuthe ngcembe bandise ukusebenza ngexesha.
  • Inkcazo ye-OpenCL 3.0 ihambelana nokusingqongileyo, izandiso, kunye neenkcukacha ze-SPIR-V generic intermediate representation, ekwasetyenziswa yiVulkan API. Inkxaso yenkcazo ye-SPIR-V 1.3 ifakwe kwi-OpenCL 3.0 engundoqo njengento yokuzikhethela. Ngokusetyenziswa komelo oluphakathi I-SPIR-V inkxaso yokusebenza ngamacandelwana yongezwe kwiicores zecomputing.
    Iinkcukacha zokugqibela ze-OpenCL 3.0 zipapashwe

  • Inkxaso eyongeziweyo yolwandiso lokwenza imisebenzi ye-DMA engavumelaniyo (i-Asynchronous DMA), exhaswa kwii-chips ezinjenge-DSP ezinokufikelela ngokuthe ngqo kwimemori. I-Asynchronous DMA yenza kube lula ukusebenzisa ukuthengiselana kwe-DMA ukudlulisa idatha phakathi kwememori yehlabathi kunye neyendawo ngokulandelelana, ngokuhambelana nokubala okanye eminye imisebenzi yokudlulisa idatha.
  • Inkcazo ye-C Parallel Programming Extensions ihlaziywe ukuze Inguqulelo 3.0, kunye nophuhliso lwezandiso zolwimi ze-OpenCL ze-C++ yayekwa ngokuthanda iprojekthi ye-β€œC++ ye-OpenCL”. I-C ++ ye-OpenCL yi-compiler esekelwe kwi-Clang / LLVM kunye usasazo I-C ++ kunye ne-OpenCL C kernels zibe yi-SPIR-V yokumelwa okuphakathi okanye ikhowudi yomatshini ephantsi. Ngosasazo, i-SPIR-V ikwaququzelela ukudityaniswa kwezicelo ze-C++ kusetyenziswa ilayibrari yetemplate yeSYCL, eyenza lula ukuyilwa kwezicelo ezihambelanayo.

    Iinkcukacha zokugqibela ze-OpenCL 3.0 zipapashwe

  • Umqokeleli ucetyiwe ukuba asasaze i-OpenCL ngeVulkan API clspv, eguqula i-OpenCL kernels kumboniso weVulkan SPIR-V, kunye nomaleko clvk ukwenza iOpenCL API isebenze phezu kwe Vulkan.

    Iinkcukacha zokugqibela ze-OpenCL 3.0 zipapashwe

umthombo: opennet.ru

Yongeza izimvo