Frigivelse af PoCL 1.3, en uafhængig implementering af OpenCL-standarden

En udgivelse af PoCL 1.3-projektet (Portable Computing Language OpenCL) er tilgængelig, som udvikler en implementering af OpenCL-standarden, der er uafhængig af producenter af grafikacceleratorer og tillader brugen af ​​forskellige backends til at udføre OpenCL-kerner på forskellige typer grafik og centrale processorer . Projektkoden distribueres under MIT-licensen. Understøtter drift på X86_64, MIPS32, ARM v7, AMD HSA APU platforme og forskellige specialiserede TTA (Transport Triggered Architecture) processorer med VLIW arkitektur.

Implementeringen af ​​OpenCL-kernekompileren er bygget på basis af LLVM, og Clang bruges som frontend for OpenCL C. For at sikre korrekt portabilitet og ydeevne kan OpenCL-kernekompileren generere kombinationsfunktioner, der kan bruge forskellige hardwareressourcer til at parallelisere kodeudførelse, såsom VLIW, superscalar, SIMD, SIMT, multi-core og multi-threading. ICD driver support tilgængelig
(Installerbar klientdriver). Der er backends til at understøtte drift via CPU, ASIP (TCE/TTA), GPU baseret på HSA-arkitektur og NVIDIA GPU (CUDA).

Den nye version tilføjer understøttelse af LLVM/Clang 8.0. Giver support til ICD (Installable Client Driver) på macOS-platformen. Implementeret muligheden for at bygge pocl uden backend-drivere til CPU'en. For HSA (Heterogen System Architecture) tilbydes indledende support til kompilering af ISA'er oven på HSA runtime. Kodebasen blev renset, inklusive Vecmathlib-biblioteket blev fjernet, og understøttelse af ældre versioner af LLVM (mindre end 6.0) blev stoppet.

Kilde: opennet.ru

Tilføj en kommentar