PoCL 1.3:n julkaisu, OpenCL-standardin itsenäinen toteutus

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

OpenCL-ytimen kääntäjän toteutus on rakennettu LLVM:n pohjalta ja Clangia käytetään OpenCL C:n käyttöliittymänä. Oikean siirrettävyyden ja suorituskyvyn varmistamiseksi OpenCL-ytimen kääntäjä voi luoda yhdistelmätoimintoja, jotka voivat käyttää erilaisia ​​laitteistoresursseja koodin suorittamisen rinnakkain, kuten VLIW, superskalaari, SIMD, SIMT, moniytiminen ja monisäie. ICD-ohjaintuki saatavilla
(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).

Lähde: opennet.ru

Lisää kommentti