PoCL 5.0 leidimas su nepriklausomu OpenCL standarto įgyvendinimu

Paskelbtas PoCL 5.0 projekto (Portable Computing Language OpenCL) leidimas, kuriame kuriamas OpenCL standarto įgyvendinimas, nepriklausomas nuo grafikos spartintuvų gamintojų ir leidžiantis naudoti įvairias užpakalines programas OpenCL branduoliams vykdyti įvairių tipų grafikos ir centriniuose procesoriuose. . Projekto kodas platinamas pagal MIT licenciją. Palaiko darbą platformose X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU ir įvairius specializuotus ASIP (Application-Specific Instruction-set Processor) ir TTA (Transport Triggered Architecture) procesorius su VLIW architektūra.

„OpenCL“ branduolio kompiliatoriaus diegimas yra sukurtas LLVM pagrindu, o „Clang“ naudojamas kaip „OpenCL C“ priekinė dalis. Siekiant užtikrinti tinkamą perkeliamumą ir našumą, „OpenCL“ branduolio kompiliatorius gali generuoti kombinuotas funkcijas, kurios gali naudoti įvairius aparatūros išteklius kodo vykdymui lygiagretinti, pvz., VLIW, superskaliarinis, SIMD, SIMT, kelių branduolių ir kelių gijų. Yra ICD tvarkyklių (Installable Client Driver) palaikymas. Yra backends, palaikančios veikimą per CPU, ASIP (TCE/TTA), GPU, pagrįstą HSA architektūra, ir NVIDIA GPU (per libcuda).

Naujoje versijoje:

  • Įdiegta nauja „Nuotolinė“ programa, skirta organizuoti paskirstytą skaičiavimą, perduodant OpenCL komandų apdorojimą kitiems tinklo pagrindiniams kompiuteriams, kuriuose veikia foninis „pocld“ procesas.
  • CUDA tvarkyklė įdiegia papildomas OpenCL 3.0 funkcijas ir plėtinius, pvz., atomines operacijas, apimties kintamuosius, intel_sub_group_shuffle, intel_sub_group_shuffle_xor, get_sub_group_local_id, sub_group_barrier ir sub_group_ballot.
  • Patobulintas procesorių palaikymas, pagrįstas RISC-V architektūra. PoCL veikimas buvo išbandytas Starfive VisionFive 2 plokštėje, įkelta Ubuntu 23.10 aplinka su LLVM 17 ir GCC 13.2.
  • Plėtinys cl_ext_float_atomics buvo įdiegtas palaikant FP32 ir FP64.
  • Plėtinio cl_khr_command_buffer įgyvendinimas atnaujintas į 0.9.4 versiją.
  • Buvo pasiūlyta eksperimentinė AlmaIF backend FPGA.
  • Pašalintas nepilnas tarpinio SPIR 1.x/2.0 šešėlių atvaizdavimo palaikymas. SPIR-V paskelbta kaip rekomenduojama tarpinė šešėlių kalba.
  • Pridėtas Clang/LLVM 17.0 palaikymas. Clang/LLVM 10-13 palaikymas nebenaudojamas.

Šaltinis: opennet.ru

Добавить комментарий