Izdanje PoCL 1.3, nezavisne implementacije OpenCL standarda

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

Implementacija kompajlera OpenCL kernela izgrađena je na bazi LLVM-a, a Clang se koristi kao prednji kraj za OpenCL C. Da bi osigurao odgovarajuću prenosivost i performanse, kompajler jezgre OpenCL može generirati funkcije kombinacije koje mogu koristiti različite hardverske resurse za paraleliziranje izvršavanja koda, kao što su VLIW, superskalar, SIMD, SIMT, višejezgarni i multi-threading. Dostupna podrška za ICD drajver
(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).

izvor: opennet.ru

Dodajte komentar