Реліз PoCL 1.3, незалежної реалізації стандарту OpenCL

Доступний реліз проекту PoCL 1.3 (Portable Computing Language OpenCL), що розвиває реалізацію стандарту OpenCL, незалежну від виробників графічних прискорювачів і дозволяє використовувати різні бекенди для виконання OpenCL-ядер на різних типах графічних та центральних процесорів. Код проекту розповсюджується під ліцензією MIT. Підтримується робота на платформах X86_64, MIPS32, ARM v7, AMD HSA APU та різних спеціалізованих TTA-процесорах (Transport Triggered Architecture) з архітектурою VLIW.

Реалізація компілятора ядер OpenCL побудована на базі LLVM, а як фронтенд для OpenCL C використовується Clang. Для забезпечення належної переносимості та продуктивності компілятор ядер OpenCL може генерувати комбіновані функції, які можуть використовувати різні апаратні ресурси для розпаралелювання виконання коду, такі як VLIW, суперскалярність, SIMD, SIMT, багатоядерність та багатопоточність. Є підтримка ICD-драйверів
(Installable Client Driver). Є бекенди для забезпечення роботи через CPU, ASIP (TCE/TTA), GPU на базі архітектури HSA та GPU NVIDIA (CUDA).

У новій версії додано підтримку LLVM/Clang 8.0. Підтримка ICD (Installable Client Driver) на платформі macOS. Реалізовано можливість складання pocl без бекенд драйверів для CPU. Для HSA (Heterogeneous System Architecture) представлено початкову підтримку компіляції ISA поверх HSA runtime. Проведено чищення кодової бази, у тому числі видалено бібліотеку Vecmathlib та припинено підтримку старих версій LLVM (менше 6.0).

Джерело: opennet.ru

Додати коментар або відгук