PoCL 3.0 išleidimas su nepriklausomu OpenCL 3.0 standarto įgyvendinimu

Pristatytas PoCL 3.0 (Portable Computing Language OpenCL) projekto leidimas, kuriame kuriamas OpenCL standarto diegimas, nepriklausomas nuo grafikos spartintuvų gamintojų ir leidžiantis naudoti įvairias užpakalines programas OpenCL branduoliams vykdyti įvairių tipų grafikoje ir centrinėje. procesoriai. 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:

  • Реализован минимальный набор возможностей, требуемый для поддержки спецификации OpenCL 3.0. Поддержка OpenCL 3.0 пока доступна только в бэкенде на базе CPU при наличии LLVM 14 (в других бэкендах и при наличии старых версий LLVM предоставляется поддержка OpenCL 1.2).
  • Pridėtas Clang/LLVM 14 palaikymas.
  • Улучшена трассировка и визуализация.
  • Добавлена поддержка генерации специализированных групп функций и включения их в исполняемые файлы с ядрами OpenCL.

Šaltinis: opennet.ru

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