rilascio del progetto (Portable Computing Language OpenCL), sviluppa un'implementazione dello standard OpenCL indipendente dai produttori di acceleratori grafici e consente di utilizzare diversi backend per eseguire i nuclei OpenCL su vari tipi di processori grafici e centrali. Il codice del progetto è sotto licenza MIT. Supporta l'operatività su piattaforme X86_64, MIPS32, ARM v7, AMD HSA APU e vari processori TTA specializzati () con architettura .
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). Ci sono backend per garantire operatività tramite CPU, ASIP (TCE/TTA), GPU basate sull'architettura e GPU NVIDIA (CUDA).
In :
- Aggiunto supporto per . Supporto per versioni di LLVM precedenti alla 6.0 è stato interrotto.
- 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 grafici, sia per calcoli paralleli;
- Aggiunto il driver pocl-accel con un esempio di infrastruttura per il supporto di acceleratori hardware OpenCL 1.2, implementando un'interfaccia di gestione memorizzata in memoria (mmap);
- Aggiunta la possibilità di compilare installazioni pocl, non collegate a directory (relocatable).
Fonte: opennet.ru
