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

Крыніца: opennet.ru

Дадаць каментар