Lansarea PoCL 1.3, o implementare independentă a standardului OpenCL

Este disponibilă o versiune a proiectului PoCL 1.3 (Portable Computing Language OpenCL), care dezvoltă o implementare a standardului OpenCL care este independentă de producătorii de acceleratoare grafice și permite utilizarea diferitelor backend-uri pentru executarea nucleelor ​​OpenCL pe diferite tipuri de grafică și procesoare centrale. . Codul proiectului este distribuit sub licența MIT. Acceptă lucrul pe platformele X86_64, MIPS32, ARM v7, AMD HSA APU și diferite procesoare specializate TTA (Transport Triggered Architecture) cu arhitectură 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
(Driver pentru client instalabil). Există backend-uri pentru a suporta operarea prin CPU, ASIP (TCE/TTA), GPU bazat pe arhitectura HSA și GPU NVIDIA (CUDA).

Noua versiune adaugă suport pentru LLVM/Clang 8.0. Oferă suport pentru ICD (Installable Client Driver) pe platforma macOS. Implementat capacitatea de a construi pocl fără drivere backend pentru procesor. Pentru HSA (Arhitectura Sistemului Heterogene), este oferit suport inițial pentru compilarea ISA-urilor pe partea superioară a runtime-ului HSA. Baza de cod a fost curățată, inclusiv biblioteca Vecmathlib a fost eliminată și suportul pentru versiunile mai vechi de LLVM (mai puțin de 6.0) a fost oprit.

Sursa: opennet.ru

Adauga un comentariu