È disponibile il rilascio del progetto PoCL 1.3 (Portable Computing Language OpenCL), che sviluppa un'implementazione dello standard OpenCL indipendente dai produttori di acceleratori grafici e consente l'uso di diversi backend per l'esecuzione di kernel OpenCL su vari tipi di processori grafici e centralizzati. Il codice del progetto è distribuito con licenza MIT. È supportato il funzionamento su piattaforme X86_64, MIPS32, ARM v7, AMD HSA APU e vari processori TTA specializzati (Transport Triggered Architecture) con architettura VLIW.
L'implementazione del compilatore dei nuclei OpenCL è basata su LLVM, mentre Clang è utilizzato come frontend per OpenCL C. Per garantire la giusta portabilità e prestazioni, il compilatore dei nuclei OpenCL può generare funzioni combinate che utilizzano diverse risorse hardware per parallelizzare l'esecuzione del codice, come VLIW, superscalare, SIMD, SIMT, multicore e multithreading. È supportato il driver ICD
(Installable Client Driver). Sono presenti backend per garantire il funzionamento tramite CPU, ASIP (TCE/TTA), GPU basate su architettura HSA e GPU NVIDIA (CUDA).
Nella nuova versione è stata aggiunta la supporto per LLVM/Clang 8.0. È garantito il supporto ICD (Installable Client Driver) sulla piattaforma macOS. È stata realizzata la possibilità di compilare pocl senza driver backend per CPU. Per HSA (Heterogeneous System Architecture) è stata introdotta la supporto iniziale per la compilazione ISA sopra HSA runtime. È stata effettuata una pulizia del codice, inclusa la rimozione della libreria Vecmathlib e l'interruzione del supporto per le vecchie versioni di LLVM (inferiori a 6.0).
Fonte: opennet.ru
