PoCL 3.1 leidimas su nepriklausomu OpenCL standarto įgyvendinimu

Представлен релиз проекта PoCL 3.1 (Portable Computing Language OpenCL), развивающего реализацию стандарта OpenCL, независимую от производителей графических ускорителей и позволяющую использовать различные бэкенды для выполнения OpenCL-ядер на разных типах графических и центральных процессоров. Код проекта распространяется под лицензией MIT. Поддерживается работа на платформах X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU и различных специализированных ASIP (Application-Specific Instruction-set Processor) и TTA-процессорах (Transport Triggered Architecture) c архитектурой VLIW.

„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:

  • Добавлена поддержка Clang/LLVM 15.0.
  • Значительно улучшена поддержка промежуточного представления шейдеров SPIR-V для драйверов, использующих CPU и CUDA.
  • Значительно переработан драйвер для специализированного аппаратного обеспечения (CL_DEVICE_TYPE_ACCELERATOR) и собственных устройств (CL_DEVICE_TYPE_CUSTOM), не поддерживающих online-компиляцию. Драйверы accel и ttasim объединены в новый драйвер AlmaIF.
  • Продолжена работа над драйвером для графического API Vulkan.
  • Предложена базовая реализация расширения cl_khr_command_buffer, позволяющего записать последовательность команд OpenCL для их выполнения одним вызовом.

Šaltinis: opennet.ru

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