Выпуск PoCL 0.14, независимой реализации стандарта OpenCL

Представлен релиз проекта PoCL 0.14 (Portable Computing Language OpenCL), развивающего реализацию стандарта OpenCL, независимую от производителей графических ускорителей и позволяющую использовать различные бэкенды для выполнения OpenCL-ядер на разных типах графических и центральных процессоров. Код проекта распространяется под лицензией MIT.

Реализация компилятора ядер OpenCL построена на базе LLVM, а в качестве фронтэнда для OpenCL C используется Clang. Для обеспечения должной переносимости и производительности компилятор ядер OpenCL может генерировать комбинированные функции, которые могут использовать различные аппаратные ресурсы для распараллеливания выполнения кода, такие как VLIW, суперскалярность, SIMD, SIMT, многоядерность и многопоточность.

В новой версии реализована возможность использования выпусков LLVM/Clang 3.9 и 4.0. Представлен новый бинарный формат, включающий итоговые исполняемые компоненты, которые позволяют запускать OpenCL-приложения на хостах без online-компилятора. Обеспечена начальная поддержка планирования выполнения задач по неупорядоченной очереди команд. Внесены оптимизации и исправлены некоторые давно висевшие проблемы.

© OpenNet