Рэліз PoCL 3.0 з незалежнай рэалізацыі стандарта OpenCL 3.0

Прадстаўлены рэліз праекта PoCL 3.0 (Portable Computing Language OpenCL), які развівае рэалізацыю стандарту OpenCL, незалежную ад вытворцаў графічных паскаральнікаў і якая дазваляе выкарыстоўваць розныя бэкэнды для выканання OpenCL-ядзер на розных тыпах графічных і цэнтральных працэсараў. Код праекту распаўсюджваецца пад ліцэнзіяй MIT. Падтрымліваецца праца на платформах X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU і розных спецыялізаваных ASIP (Application-Specific Instruction-set Processor) і 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 (праз libcuda).

У новай версіі:

  • Рэалізаваны мінімальны набор магчымасцяў, неабходны для падтрымкі спецыфікацыі OpenCL 3.0. Падтрымка OpenCL 3.0 пакуль даступная толькі ў бэкендзе на базе CPU пры наяўнасці LLVM 14 (у іншых бэкендах і пры наяўнасці старых версій LLVM падаецца падтрымка OpenCL 1.2).
  • Дададзена падтрымка Clang/LLVM 14.
  • Палепшана трасіроўка і візуалізацыя.
  • Дададзена падтрымка генерацыі спецыялізаваных груп функцый і ўключэнні іх у выкананыя файлы з ядрамі OpenCL.

Крыніца: opennet.ru

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