Inkcazo ye-OpenCL 3.0 yaziswa

Inkxalabo ye-Khronos, enoxanduva lokuphuhlisa i-OpenGL, i-Vulkan kunye ne-OpenCL yosapho olucacileyo, kwaziswa ekugqityweni kophuhliso lweenkcazo ze-OpenCL 3.0 ezichaza ii-APIs kunye nokwandiswa kolwimi lwe-C ukulungiselela i-cross-platform parallel computing usebenzisa i-multi-core CPUs, i-GPUs, i-FPGAs, i-DSPs kunye nezinye iitshiphusi ezikhethekileyo, ukusuka kwezo zisetyenziswa kwii-supercomputers kunye neeseva zefu. kwiitshiphusi ezinokuthi zifumaneke kwizixhobo eziphathwayo kunye nobuchwepheshe obufakwe ngaphakathi. Umgangatho we-OpenCL uvuleke ngokupheleleyo kwaye awufuni mali yelayisensi. 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.

Kwinqanaba langoku, inkcazo yabelwe ubume bethutyana, nto leyo ethetha ukuba nokwenzeka kocokiso olusekwe kwingxelo ethunyelwe nge. GitHub. Nje ukuba amagqabantshintshi athathelwe ingqalelo, inkcazo iya kuqukunjelwa kwaye uluhlu lokugqibela lovavanyo luya kupapashwa ukuvavanya ukuhambelana komiliselo olukhoyo.

Inkcazo ye-OpenCL 3.0 yaziswa

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.
    Inkcazo ye-OpenCL 3.0 yaziswa

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

    Inkcazo ye-OpenCL 3.0 yaziswa

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

    Inkcazo ye-OpenCL 3.0 yaziswa

umthombo: opennet.ru

Yongeza izimvo