Det har presenterats en ny version av PoCL 3.0 (Portable Computing Language OpenCL), som utvecklar en standard för OpenCL som Àr oberoende av grafiska acceleratorer och gör det möjligt att anvÀnda olika bakgrunder för att köra OpenCL-kÀrnor pÄ olika typer av grafiska och centrala processorer. Projektets kod distribueras under MIT-licensen. Det stöder drift pÄ plattformar som X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU och olika specialiserade ASIP (Application-Specific Instruction-set Processor) och TTA-processorer (Transport Triggered Architecture) med VLIW-arkitektur.
Implementeringen av OpenCL-kÀrnkompilatorn bygger pÄ LLVM, och Clang anvÀnds som frontend för OpenCL C. För att sÀkerstÀlla lÀmplig portabilitet och prestanda kan OpenCL-kÀrnkompilatorn generera kombinerade funktioner som kan dra nytta av olika hÄrdvaruresurser för att parallellisera kodens utförande, sÄsom VLIW, superskalÀr, SIMD, SIMT, flerkÀrniga och flertrÄdade miljöer. Det finns stöd för ICD-drivrutiner (Installable Client Driver). Det finns backends för att möjliggöra drift genom CPU, ASIP (TCE/TTA), HSA-baserade GPU:er och NVIDIA GPU:er (via libcuda).
I den nya versionen:
- Den minimiuppsÀttning av funktioner som krÀvs för att stödja OpenCL 3.0-specifikationen har implementerats. Stödet för OpenCL 3.0 Àr för nÀrvarande endast tillgÀngligt i CPU-bakgrunden vid anvÀndning av LLVM 14 (i andra bakgrunder och vid Àldre versioner av LLVM tillhandahÄlls stöd för OpenCL 1.2).
- Stöd för Clang/LLVM 14 har lagts till.
- Tracering och visualisering har förbÀttrats.
- Stöd för att generera specialiserade funktionsgrupper och inkludera dem i körbara filer med OpenCL-kÀrnor har lagts till.
KĂ€lla: opennet.ru
