Ukukhishwa kwe-PoCL 5.0 ngokusetshenziswa okuzimele kwezinga le-OpenCL

Ukukhishwa kwephrojekthi ye-PoCL 5.0 (Portable Computing Language OpenCL) kushicilelwe, kuthuthukiswa ukuqaliswa kwezinga le-OpenCL elizimele kubakhiqizi be-accelerator yezithombe futhi livumela ukusetshenziswa kwe-backends ehlukahlukene ukuze kukhishwe izinhlamvu ze-OpenCL ezinhlotsheni ezahlukene zehluzo kanye namaphrosesa amaphakathi. . Ikhodi yephrojekthi isatshalaliswa ngaphansi kwelayisensi ye-MIT. Isekela umsebenzi kumapulatifomu X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU kanye nephrosesa ehlukahlukene ye-ASIP (Application-Specific Instruction-set Processor) kanye ne-TTA (Transport Triggered Architecture) enezakhiwo ze-VLIW.

Ukuqaliswa kwe-OpenCL kernel compiler yakhelwe phezu kwesisekelo se-LLVM, futhi i-Clang isetshenziswa njengesiphetho esingaphambili se-OpenCL C. Ukuze kuqinisekiswe ukuphatheka okufanele nokusebenza kahle, i-OpenCL kernel compiler ingakhiqiza imisebenzi ehlanganisiwe engasebenzisa izinsiza ezihlukahlukene zezingxenyekazi zekhompiyutha ukuze ihambisane nokusebenza kwekhodi, njenge-VLIW, superscalar, SIMD, SIMT, multi-core kanye nentambo eminingi. Kukhona ukwesekwa kwabashayeli be-ICD (Installable Client Driver). Kukhona okungemuva okusekela ukusebenza nge-CPU, i-ASIP (TCE/TTA), i-GPU esekelwe ekwakhiweni kwe-HSA ne-NVIDIA GPU (nge-libcuda).

Enguqulweni entsha:

  • I-backend entsha "Yesilawuli kude" isetshenzisiwe, eklanyelwe ukuhlela ikhompuyutha esabalalisiwe ngokudlulisela ukucutshungulwa kwemiyalo ye-OpenCL kwabanye abasingathi kunethiwekhi esebenzisa inqubo ye-pocld yangemuva.
  • Umshayeli we-CUDA usebenzisa izici ezengeziwe nezandiso ze-OpenCL 3.0, ezifana nokusebenza kwe-athomu, okuguquguqukayo okusikodi, i-intel_sub_group_shuffle, intel_sub_group_shuffle_xor, get_sub_group_local_id, sub_group_barrier, ne-sub_group_ballot.
  • Ukusekelwa okuthuthukisiwe kwama-CPU okusekelwe ekwakhiweni kwe-RISC-V. Ukusebenza kwe-PoCL kwahlolwa ebhodini le-Starfive VisionFive 2 elilayishwe indawo ye-Ubuntu 23.10 ene-LLVM 17 ne-GCC 13.2.
  • Isandiso se-cl_ext_float_atomics sisetshenziswe ngokusekelwa kwe-FP32 ne-FP64.
  • Ukuqaliswa kwesandiso se-cl_khr_command_buffer kubuyekezwe kunguqulo 0.9.4.
  • I-backend ye-AlmaIF yokuhlola yama-FPGAs ihlongoziwe.
  • Kukhishwe usekelo olungaphelele lokumelwa okumaphakathi kwe-SPIR 1.x/2.0 shaders. I-SPIR-V imenyezelwa njengolimi olunconyiwe lwe-shader olumaphakathi.
  • Ukwesekwa okwengeziwe kwe-Clang/LLVM 17.0. Ukusekelwa kwe-Clang/LLVM 10-13 kuhoxisiwe.

Source: opennet.ru

Engeza amazwana