OpenCL стандартын көз карандысыз ишке ашыруу менен PoCL 3.1 чыгаруу

Представлен релиз проекта 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 өзөк компиляторун ишке ашыруу LLVMдин негизинде курулган жана Clang OpenCL C үчүн алдыңкы аягы катары колдонулат. Тийиштүү көчүрүүнү жана аткарууну камсыз кылуу үчүн, OpenCL өзөк компилятору VLIW, суперскаляр, SIMD, SIMT, көп ядролуу жана көп жиптүү сыяктуу коддун аткарылышын параллелдештирүүгө ар кандай аппараттык ресурстарды колдоно турган комбинациялуу функцияларды түзө алат. ICD драйверлери үчүн колдоо бар (Орнотулуучу Кардар драйвери). CPU, ASIP (TCE/TTA), HSA архитектурасына негизделген GPU жана NVIDIA GPU (libcuda аркылуу) аркылуу иштөөнү колдоо үчүн аркалар бар.

Жаңы версияда:

  • Добавлена поддержка 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 для их выполнения одним вызовом.

Source: opennet.ru

Комментарий кошуу