Release av PoCL 1.3, en oberoende implementering av OpenCL-standarden

En release av PoCL 1.3-projektet (Portable Computing Language OpenCL) är tillgänglig, som utvecklar en implementering av OpenCL-standarden som är oberoende av grafikacceleratortillverkare och tillåter användning av olika backends för att exekvera OpenCL-kärnor på olika typer av grafik och centrala processorer . Projektkoden distribueras under MIT-licensen. Stöder drift på X86_64, MIPS32, ARM v7, AMD HSA APU-plattformar och olika specialiserade TTA (Transport Triggered Architecture)-processorer med VLIW-arkitektur.

Implementeringen av OpenCL-kärnkompilatorn är byggd på basis av LLVM, och Clang används som frontend för OpenCL C. För att säkerställa korrekt portabilitet och prestanda kan OpenCL-kärnkompilatorn generera kombinationsfunktioner som kan använda olika hårdvaruresurser för att parallellisera kodexekvering, såsom VLIW, superskalär, SIMD, SIMT, multi-core och multi-threading. ICD-drivrutinsstöd tillgängligt
(Installerbar klientdrivrutin). Det finns backends för att stödja drift via CPU, ASIP (TCE/TTA), GPU baserad på HSA-arkitektur och NVIDIA GPU (CUDA).

Den nya versionen lägger till stöd för LLVM/Clang 8.0. Ger stöd för ICD (Installable Client Driver) på macOS-plattformen. Implementerade möjligheten att bygga pocl utan backend-drivrutiner för CPU. För HSA (Heterogen System Architecture) tillhandahålls initialt stöd för att kompilera ISA ovanpå HSA-körtiden. Kodbasen rensades, inklusive Vecmathlib-biblioteket togs bort och stödet för äldre versioner av LLVM (mindre än 6.0) stoppades.

Källa: opennet.ru

Lägg en kommentar