Rilaxx ta' PoCL 5.0 b'implimentazzjoni indipendenti tal-istandard OpenCL

Ġie ppubblikat ir-rilaxx tal-proġett PoCL 5.0 (Portable Computing Language OpenCL), li jiżviluppa implimentazzjoni tal-istandard OpenCL li huwa indipendenti mill-manifatturi tal-aċċeleratur tal-grafika u jippermetti l-użu ta 'backends varji għall-eżekuzzjoni ta' kernels OpenCL fuq tipi differenti ta 'grafika u proċessuri ċentrali . Il-kodiċi tal-proġett huwa mqassam taħt il-liċenzja MIT. Jappoġġja xogħol fuq pjattaformi X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU u diversi proċessuri speċjalizzati ASIP (Application-Specific Instruction-set Processor) u TTA (Transport Triggered Architecture) proċessuri b'arkitettura VLIW.

L-implimentazzjoni tal-kompilatur tal-kernel OpenCL hija mibnija fuq il-bażi ta 'LLVM, u Clang jintuża bħala l-parti ta' quddiem għal OpenCL C. Biex tiġi żgurata l-portabbiltà u l-prestazzjoni xierqa, il-kompilatur tal-qalba tal-OpenCL jista 'jiġġenera funzjonijiet ta' kombinazzjoni li jistgħu jużaw diversi riżorsi ta 'hardware biex jipparallelizzaw l-eżekuzzjoni tal-kodiċi, bħal VLIW, superscalar, SIMD, SIMT, multi-core u multi-threading. Hemm appoġġ għas-sewwieqa ICD (Installable Client Driver). Hemm backends biex jappoġġjaw l-operat permezz ta 'CPU, ASIP (TCE/TTA), GPU bbażati fuq arkitettura HSA u NVIDIA GPU (permezz libcuda).

Fil-verżjoni l-ġdida:

  • Ġie implimentat backend ġdid "Remote", iddisinjat biex jorganizza kompjuters distribwiti billi jittrasferixxi l-ipproċessar ta 'kmandi OpenCL lil hosts oħra fuq in-netwerk li jmexxi l-proċess ta' l-isfond pocld.
  • Is-sewwieq CUDA jimplimenta karatteristiċi u estensjonijiet addizzjonali ta' OpenCL 3.0 bħal operazzjonijiet atomiċi, varjabbli b'ambitu, intel_sub_group_shuffle, intel_sub_group_shuffle_xor, get_sub_group_local_id, sub_group_barrier, u sub_group_ballot.
  • Appoġġ imtejjeb għal CPUs ibbażati fuq l-arkitettura RISC-V. L-operazzjoni PoCL ġiet ittestjata fuq il-bord Starfive VisionFive 2 mgħobbi b'ambjent Ubuntu 23.10 b'LLVM 17 u GCC 13.2.
  • L-estensjoni cl_ext_float_atomics ġiet implimentata b'appoġġ għall-FP32 u l-FP64.
  • L-implimentazzjoni tal-estensjoni cl_khr_command_buffer ġiet aġġornata għall-verżjoni 0.9.4.
  • Ġie propost backend AlmaIF sperimentali għall-FPGAs.
  • Tneħħa appoġġ mhux komplut għal rappreżentazzjoni intermedja ta 'shaders SPIR 1.x/2.0. SPIR-V huwa ddikjarat bħala l-lingwaġġ tax-shader intermedju rakkomandat.
  • Appoġġ miżjud għal Clang/LLVM 17.0. L-appoġġ għal Clang/LLVM 10-13 ġie deprecato.

Sors: opennet.ru

Żid kumment