Vydání PoCL 1.3, nezávislé implementace standardu OpenCL

K dispozici je verze projektu PoCL 1.3 (Portable Computing Language OpenCL), která vyvíjí implementaci standardu OpenCL, která je nezávislá na výrobcích grafických akcelerátorů a umožňuje použití různých backendů pro spouštění OpenCL jader na různých typech grafik a centrálních procesorů. . Kód projektu je distribuován pod licencí MIT. Podporuje práci na platformách X86_64, MIPS32, ARM v7, AMD HSA APU a různých specializovaných procesorech TTA (Transport Triggered Architecture) s architekturou VLIW.

Implementace kompilátoru jádra OpenCL je postavena na bázi LLVM a Clang se používá jako frontend pro OpenCL C. Pro zajištění správné přenositelnosti a výkonu může kompilátor jádra OpenCL generovat kombinované funkce, které mohou využívat různé hardwarové prostředky k paralelizaci provádění kódu, jako je VLIW, superskalární, SIMD, SIMT, vícejádrové a vícevláknové. K dispozici je podpora ovladače ICD
(Instalovatelný klientský ovladač). Existují backendy pro podporu provozu přes CPU, ASIP (TCE/TTA), GPU založené na architektuře HSA a NVIDIA GPU (CUDA).

Nová verze přidává podporu pro LLVM/Clang 8.0. Poskytuje podporu pro ICD (Installable Client Driver) na platformě macOS. Implementována schopnost sestavit pocl bez backendových ovladačů pro CPU. Pro HSA (Heterogeneous System Architecture) je poskytována počáteční podpora pro kompilaci ISA nad běhovým prostředím HSA. Základ kódu byl vyčištěn, včetně knihovny Vecmathlib byla odstraněna a podpora starších verzí LLVM (méně než 6.0) byla zastavena.

Zdroj: opennet.ru

Přidat komentář