Pagpagawas sa PoCL 5.0 nga adunay independente nga pagpatuman sa sumbanan sa OpenCL

Ang pagpagawas sa PoCL 5.0 nga proyekto (Portable Computing Language OpenCL) gipatik, nga nagpalambo sa usa ka pagpatuman sa OpenCL nga sumbanan nga independente sa mga tiggama sa graphics accelerator ug nagtugot sa paggamit sa nagkalain-laing mga backend alang sa pagpatuman sa OpenCL kernels sa lain-laing mga matang sa mga graphic ug sentral nga mga processor. . Ang code sa proyekto giapod-apod ubos sa lisensya sa MIT. Nagsuporta sa trabaho sa mga plataporma nga X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU ug nagkalain-laing espesyal nga ASIP (Application-Specific Instruction-set Processor) ug TTA (Transport Triggered Architecture) nga mga processor nga adunay VLIW architecture.

Ang pagpatuman sa OpenCL kernel compiler gitukod base sa LLVM, ug ang Clang gigamit isip front end para sa OpenCL C. Para masiguro ang saktong portability ug performance, ang OpenCL kernel compiler makamugna ug kombinasyon nga mga function nga makagamit sa lain-laing mga hardware resources para iparehas ang code execution, sama sa VLIW, superscalar, SIMD, SIMT, multi-core ug multi-threading. Adunay suporta alang sa mga drayber sa ICD (Installable Client Driver). Adunay mga backend aron suportahan ang operasyon pinaagi sa CPU, ASIP (TCE/TTA), GPU base sa HSA nga arkitektura ug NVIDIA GPU (pinaagi sa libcuda).

Sa bag-ong bersyon:

  • Usa ka bag-ong "Remote" nga backend ang gipatuman, nga gidesinyo sa pag-organisar sa distributed computing pinaagi sa pagbalhin sa pagproseso sa OpenCL commands ngadto sa ubang mga host sa network nga nagpadagan sa background pocld process.
  • Ang drayber sa CUDA nagpatuman ug dugang nga mga feature ug extension sa OpenCL 3.0 sama sa atomic operations, scoped variables, intel_sub_group_shuffle, intel_sub_group_shuffle_xor, get_sub_group_local_id, sub_group_barrier, ug sub_group_ballot.
  • Gipauswag nga suporta alang sa mga CPU base sa RISC-V nga arkitektura. Ang operasyon sa PoCL gisulayan sa Starfive VisionFive 2 board nga puno sa Ubuntu 23.10 nga palibot nga adunay LLVM 17 ug GCC 13.2.
  • Ang extension sa cl_ext_float_atomics gipatuman nga adunay suporta alang sa FP32 ug FP64.
  • Ang pagpatuman sa cl_khr_command_buffer extension kay gi-update sa bersyon 0.9.4.
  • Usa ka eksperimento nga backend sa AlmaIF alang sa mga FPGA gisugyot.
  • Gikuha ang dili kompleto nga suporta alang sa intermediate nga representasyon sa SPIR 1.x/2.0 shaders. Ang SPIR-V gideklarar nga girekomendar nga intermediate shader nga pinulongan.
  • Gidugang nga suporta alang sa Clang/LLVM 17.0. Ang suporta alang sa Clang/LLVM 10-13 wala na gigamit.

Source: opennet.ru

Idugang sa usa ka comment