Ukucaciswa kokugcina kwe-OpenCL 3.0 kushicilelwe

Ukukhathazeka kwe-Khronos, okubhekele ukuthuthukisa imininingwane yomndeni ye-OpenGL, i-Vulkan kanye ne-OpenCL, kumenyezelwe ekushicilelweni kwemininingwane yokugcina Vula i-CPS 3.0, echaza ama-API nezandiso zolimi C zokuhlela i-cross-platform parallel computing kusetshenziswa ama-multi-core CPUs, ama-GPU, ama-FPGA, ama-DSPs namanye ama-chips akhethekile, kusukela kulawo asetshenziswa kuma-supercomputers namaseva amafu kuya kuma-chips angatholakala kumadivayisi eselula kanye ubuchwepheshe owakhelwe ngaphakathi. Izinga le-OpenCL livuleke ngokuphelele futhi alidingi izimali zelayisensi.

Ngasikhathi sinye eshicilelwe vula i-OpenCL SDK ngamathuluzi, izibonelo, imibhalo, amafayela anhlokweni, izibopho ze-C++ kanye nemitapo yolwazi ye-C yokuthuthukisa izinhlelo zokusebenza ezihambisana ne-OpenCL 3.0. Futhi kwethulwe ukuqaliswa kokuqala kwe-OpenCL 3.0 okusekelwe kusihlanganisi se-Clang, esesigabeni sokubuyekeza amapheshana ukuze afakwe esakhiweni esikhulu se-LLVM. Izinkampani ezifana ne-IBM, i-NVIDIA, i-Intel, i-AMD, i-Apple, i-ARM, i-Electronic Arts, i-Qualcomm, i-Texas Instruments ne-Toshiba yabamba iqhaza emsebenzini wezinga.

Ukucaciswa kokugcina kwe-OpenCL 3.0 kushicilelwe

Okuphawuleka kakhulu izici Vula i-CPS 3.0:

  • I-OpenCL 3.0 API manje ihlanganisa zonke izinguqulo ze-OpenCL (1.2, 2.x), ngaphandle kokunikeza izincazelo ezihlukene zenguqulo ngayinye. I-OpenCL 3.0 inikeza ikhono lokunweba ukusebenza okubalulekile ngokuhlanganiswa kwezicaciso ezengeziwe ezizofakwa kwifomu yezinketho ngaphandle kokuvimbela imvelo ye-monolithic ye-OpenCL 1.2/2.X.
  • Ukusebenza okuthobelana ne-OpenCL 1.2 kuphela okumenyezelwa ukuthi kuyisibopho, futhi zonke izici ezihlongozwayo ekucacisweni kwe-OpenCL 2.x zihlukaniswa njengezingakhethwa. Le ndlela izokwenza kube lula ukudala ukusetshenziswa kwangokwezifiso okuhambisana ne-OpenCL 3.0, futhi izonweba ububanzi bamadivayisi lapho i-OpenCL 3.0 ingasetshenziswa khona. Isibonelo, abakhiqizi bangasebenzisa ukwesekwa kwe-OpenCL 3.0 ngaphandle kokusebenzisa izici ezithile ze-OpenCL 2.x. Ukuze ufinyelele izici zolimi ozikhethela zona, i-OpenCL 3.0 yengeze isistimu yemibuzo yokuhlola ekuvumela ukuthi uhlole ukusekelwa kwezinto ezingazodwana ze-API, kanye namamakhro akhethekile.
  • Ukuhlanganiswa nokucaciswa okukhishwe ngaphambilini kwenza kube lula ukuthuthela izinhlelo zokusebenza ku-OpenCL 3.0. Izinhlelo zokusebenza ze-OpenCL 1.2 zizokwazi ukusebenza kumadivayisi asekela i-OpenCL 3.0 ngaphandle kokuguqulwa. Izinhlelo zokusebenza ze-OpenCL 2.x nazo ngeke zidinge izinguquko zekhodi, inqobo nje uma imvelo ye-OpenCL 3.0 inikeza ukusebenza okudingekayo (ukuqinisekisa ukuphatheka kwesikhathi esizayo, izinhlelo zokusebenza ze-OpenCL 2.x zinconywa ukuthi zengeze imibuzo yokuhlola ukuze kuhlolwe ukusekelwa kwezici ze-OpenCL 2.x ukusetshenziswa). Onjiniyela babashayeli abanokusetshenziswa kwe-OpenCL bangathuthukisa kalula imikhiqizo yabo baye ku-OpenCL 3.0, bengeze ukucutshungulwa kwemibuzo kuphela kumakholi athile e-API, futhi kancane kancane bakhulise ukusebenza ngokuhamba kwesikhathi.
  • Ukucaciswa kwe-OpenCL 3.0 kuhambisana nendawo ezungezile, izandiso, kanye nokucaciswa kokumelwa okujwayelekile kwe-SPIR-V okujwayelekile, okuphinde kusetshenziswe yi-Vulkan API. Ukusekelwa kokucaciswa kwe-SPIR-V 1.3 kufakwe ku-OpenCL 3.0 eyinhloko njengesici ongasikhetha. Ngokusebenzisa ukumelwa okuphakathi I-SPIR-V ukwesekwa kokusebenza ngamaqembu amancane kwengezwe kuma-cores ekhompyutha.
    Ukucaciswa kokugcina kwe-OpenCL 3.0 kushicilelwe

  • Ukwesekwa okwengeziwe kwesandiso sokwenza imisebenzi ye-DMA engavumelaniyo (i-Asynchronous DMA), esekelwa ngama-chips afana ne-DSP anokufinyelela kwememori okuqondile. I-Asynchronous DMA yenza kube nokwenzeka ukusebenzisa ukuthengiselana kwe-DMA ukudlulisa idatha phakathi kwenkumbulo yomhlaba neyendawo ngokuhambisanayo, ngokuhambisana nokubala noma eminye imisebenzi yokudlulisa idatha.
  • Ukucaciswa kwezandiso ze-C Parallel Programming kubuyekezwe ukuze inguqulo 3.0, kanye nokuthuthukiswa kwezandiso zolimi ze-OpenCL ze-C++ kwanqanyulwa kuvumela iphrojekthi ye-β€œC++ ye-OpenCL”. I-C++ ye-OpenCL ingumqambi osuselwe ku-Clang/LLVM kanye ukusakaza I-C++ kanye nezinhlamvu ze-OpenCL C zibe ukumelwa okuphakathi kwe-SPIR-V noma ikhodi yomshini yezinga eliphansi. Ngokusakaza, i-SPIR-V iphinde ihlele ukuhlanganiswa kwezinhlelo zokusebenza ze-C++ kusetshenziswa umtapo wezincwadi wezifanekiso we-SYCL, okwenza kube lula ukwakhiwa kwezinhlelo zokusebenza ezifanayo.

    Ukucaciswa kokugcina kwe-OpenCL 3.0 kushicilelwe

  • Kuphakanyiswe inhlanganisela yokusakaza i-OpenCL nge-Vulkan API clspv, eguqula izinhlamvu ze-OpenCL zibe ukumelwa kwe-Vulkan SPIR-V, kanye nesendlalelo clvk ukuze unike amandla i-OpenCL API ukuthi isebenze phezu kwe-Vulkan.

    Ukucaciswa kokugcina kwe-OpenCL 3.0 kushicilelwe

Source: opennet.ru

Engeza amazwana