Релиз PoCL 3.0 с независимой реализации стандарта OpenCL 3.0

Представлен релиз проекта PoCL 3.0 (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, а в качестве фронтэнда для OpenCL C используется Clang. Для обеспечения должной переносимости и производительности компилятор ядер OpenCL может генерировать комбинированные функции, которые могут использовать различные аппаратные ресурсы для распараллеливания выполнения кода, такие как VLIW, суперскалярность, SIMD, SIMT, многоядерность и многопоточность. Имеется поддержка ICD-драйверов (Installable Client Driver). Присутствуют бэкенды для обеспечения работы через CPU, ASIP (TCE/TTA), GPU на базе архитектуры HSA и GPU NVIDIA (через libcuda).

В новой версии:

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

Источник: opennet.ru

author avatar
ProHoster Consultant, technical specialist
A technical specialist at ProHoster with over six years of experience in server administration, VPN solutions, and network security. I manage infrastructure setup and support, monitor service stability, and implement solutions to protect client data. I also contribute to performance optimization and compliance with modern security and privacy requirements.

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