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

доступний реліз проекту PoCL 1.4 (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 9.0. Припинено підтримку версій LLVM старіше 6.0.
  • Поліпшено реалізацію на базі CPU проміжних уявлень коду SPIR и СПІР-В (використовується в API Vulkan), які можуть застосовуватися як для представлення шейдерів для графіки, так і для паралельних обчислень;
  • Доданий драйвер pocl-accel з прикладом інфраструктури для підтримки апаратних прискорювачів OpenCL 1.2, що реалізують керуючий інтерфейс, що відображається в пам'ять (mmap);
  • Додано можливість складання установок pocl, не прив'язаних до каталогів (relocatable).

Джерело: opennet.ru

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