Lansarea PoCL 1.4, o implementare independentă a standardului OpenCL

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

Implementarea compilatorului de kernel OpenCL este construită pe baza LLVM, iar Clang este folosit ca front-end pentru OpenCL C. Pentru a asigura portabilitatea și performanța corespunzătoare, compilatorul de kernel OpenCL poate genera funcții combinate care pot folosi diverse resurse hardware pentru a paraleliza execuția codului, cum ar fi VLIW, superscalar, SIMD, SIMT, multi-core și multi-threading. Suport pentru driverul ICD disponibil
(Installable Client Driver). Присутствуют бэкенды для обеспечения работы через CPU, ASIP (TCE/TTA), GPU на базе архитектуры HSA и GPU NVIDIA (CUDA).

В versiune noua:

  • Sprijin adăugat LLVM/Clang 9.0. Прекращена поддержка версий LLVM старее 6.0.
  • Улучшена реализация на базе CPU промежуточных представлений кода SPIR и SPIR-V (используется в API Vulkan), которые могут применяться как для представления шейдеров для графики, так и для параллельных вычислений;
  • Добавлен драйвер pocl-accel с примером инфраструктуры для поддержки аппаратных ускорителей OpenCL 1.2, реализующих отражаемый в память (mmap) управляющий интерфейс;
  • Добавлена возможность сборки установок pocl, не привязанных к каталогам (relocatable).

Sursa: opennet.ru

Adauga un comentariu