rilascio del progetto (Portable Computing Language OpenCL), che sviluppa un'implementazione dello standard OpenCL, indipendente dai produttori di acceleratori grafici e permette di utilizzare diversi backend per l'esecuzione di kernel OpenCL su vari tipi di processori grafici e centrali. Codice del progetto sotto licenza MIT. Supporta il funzionamento su piattaforme X86_64, MIPS32, ARM v7, AMD HSA APU e diversi processori TTA specializzati () con architettura .
L'implementazione del compilatore dei kernel OpenCL si basa su LLVM, e utilizza Clang come frontend per OpenCL C. Per garantire la dovuta portabilità e prestazioni, il compilatore dei kernel OpenCL può generare funzioni combinate, che possono utilizzare diverse risorse hardware per parallelizzare l'esecuzione del codice, come VLIW, superscalare, SIMD, SIMT, multi-core e multithreading. È supportata la modalità ICD drivers
(Installable Client Driver). Sono disponibili backend per garantire il funzionamento tramite CPU, ASIP (TCE/TTA), GPU basate su architettura e GPU NVIDIA (CUDA).
In :
- È stata aggiunta la supporto per . È stata interrotta la supporto per le versioni di LLVM precedenti alla 6.0.
- Migliorata l'implementazione basata su CPU delle rappresentazioni intermedie del codice e (utilizzato nell'API Vulkan), che possono essere utilizzati sia per la rappresentazione degli shader per la grafica, sia per i calcoli paralleli;
- Aggiunto il driver pocl-accel con un esempio di infrastruttura per supportare acceleratori hardware OpenCL 1.2, che implementano l'interfaccia di controllo riflessa in memoria (mmap);
- Aggiunta la possibilità di costruire installazioni pocl non legate a directory (relocatable).
Fonte: opennet.ru
