Utgivelse av PoCL 1.3, en uavhengig implementering av OpenCL-standarden

En utgivelse av PoCL 1.3-prosjektet (Portable Computing Language OpenCL) er tilgjengelig, som utvikler en implementering av OpenCL-standarden som er uavhengig av produsenter av grafikkakseleratorer og tillater bruk av ulike backends for å utføre OpenCL-kjerner på forskjellige typer grafikk og sentrale prosessorer . Prosjektkoden er distribuert under MIT-lisensen. Støtter drift på X86_64, MIPS32, ARM v7, AMD HSA APU-plattformer og ulike spesialiserte TTA (Transport Triggered Architecture)-prosessorer med VLIW-arkitektur.

Implementeringen av OpenCL-kjernekompilatoren er bygget på grunnlag av LLVM, og Clang brukes som frontend for OpenCL C. For å sikre riktig portabilitet og ytelse, kan OpenCL-kjernekompilatoren generere kombinasjonsfunksjoner som kan bruke ulike maskinvareressurser for å parallellisere kodekjøring, slik som VLIW, superscalar, SIMD, SIMT, multi-core og multi-threading. ICD-driverstøtte tilgjengelig
(Installerbar klientdriver). Det er backends for å støtte drift via CPU, ASIP (TCE/TTA), GPU basert på HSA-arkitektur og NVIDIA GPU (CUDA).

Den nye versjonen legger til støtte for LLVM/Clang 8.0. Gir støtte for ICD (Installable Client Driver) på macOS-plattformen. Implementerte muligheten til å bygge pocl uten backend-drivere for CPU. For HSA (Heterogen System Architecture) tilbys innledende støtte for kompilering av ISA-er på toppen av HSA-kjøretiden. Kodebasen ble renset, inkludert Vecmathlib-biblioteket ble fjernet og støtte for eldre versjoner av LLVM (mindre enn 6.0) ble stoppet.

Kilde: opennet.ru

Legg til en kommentar