Release fan PoCL 5.0 mei ûnôfhinklike ymplemintaasje fan de OpenCL standert

De frijlitting fan it PoCL 5.0-projekt (Portable Computing Language OpenCL) is publisearre, it ûntwikkeljen fan in ymplemintaasje fan 'e OpenCL-standert dy't ûnôfhinklik is fan fabrikanten fan grafyske acceleratoren en it brûken fan ferskate backends foar it útfieren fan OpenCL-kernels op ferskate soarten grafiken en sintrale processors . De projektkoade wurdt ferspraat ûnder de MIT-lisinsje. Unterstützt wurk op platfoarms X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU en ferskate spesjalisearre ASIP (Applikaasje-spesifike ynstruksje-set-prosessor) en TTA (Transport Triggered Architecture) processors mei VLIW-arsjitektuer.

De ymplemintaasje fan 'e OpenCL-kernel-kompiler is boud op basis fan LLVM, en Clang wurdt brûkt as front-end foar OpenCL C. Om goede portabiliteit en prestaasjes te garandearjen, kin de OpenCL-kernelkompiler kombinaasjefunksjes generearje dy't ferskate hardware-boarnen brûke kinne om koade-útfiering te parallelisearjen, lykas VLIW, superskalar, SIMD, SIMT, multi-core en multi-threading. D'r is stipe foar ICD-bestjoerders (ynstalleare client-bestjoerder). D'r binne backends om operaasje te stypjen fia CPU, ASIP (TCE / TTA), GPU basearre op HSA-arsjitektuer en NVIDIA GPU (fia libcuda).

Yn de nije ferzje:

  • In nije "Remote" backend is ymplementearre, ûntworpen om ferdield komputer te organisearjen troch de ferwurking fan OpenCL-kommando's oer te bringen nei oare hosts op it netwurk dat it eftergrûn pocld-proses útfiert.
  • De CUDA-bestjoerder ymplementearret ekstra funksjes en útwreidingen fan OpenCL 3.0, lykas atomêre operaasjes, scoped fariabelen, intel_sub_group_shuffle, intel_sub_group_shuffle_xor, get_sub_group_local_id, sub_group_barrier, en sub_group_ballot.
  • Ferbettere stipe foar CPU's basearre op de RISC-V-arsjitektuer. PoCL-operaasje waard hifke op it Starfive VisionFive 2-boerd laden mei Ubuntu 23.10-omjouwing mei LLVM 17 en GCC 13.2.
  • De cl_ext_float_atomics-útwreiding is ymplementearre mei stipe foar FP32 en FP64.
  • De ymplemintaasje fan de cl_khr_command_buffer tafoeging is bywurke nei ferzje 0.9.4.
  • In eksperimintele AlmaIF-backend foar FPGA's is foarsteld.
  • Fuortsmite ûnfolsleine stipe foar tuskenlizzende fertsjintwurdiging fan SPIR 1.x / 2.0 shaders. SPIR-V wurdt ferklearre as de oanrikkemandearre intermediate shader-taal.
  • Stipe tafoege foar Clang/LLVM 17.0. Stipe foar Clang/LLVM 10-13 is ôfkard.

Boarne: opennet.ru

Add a comment