La version 1.3 du projet PoCL (Portable Computing Language OpenCL) est disponible. Elle dĂ©veloppe une mise en Ćuvre de la norme OpenCL indĂ©pendante des fabricants de GPU, permettant d'utiliser diffĂ©rents backends pour exĂ©cuter des noyaux OpenCL sur divers types de processeurs graphiques et centraux. Le code du projet est distribuĂ© sous la licence MIT. Il prend en charge les plateformes X86_64, MIPS32, ARM v7, AMD HSA APU et divers processeurs TTA spĂ©cialisĂ©s (Transport Triggered Architecture) avec une architecture VLIW.
L'implémentation du compilateur de noyaux OpenCL est basée sur LLVM, et Clang est utilisé comme frontend pour OpenCL C. Pour garantir une portabilité et des performances appropriées, le compilateur de noyaux OpenCL peut générer des fonctions combinées qui exploitent différentes ressources matérielles pour paralléliser l'exécution du code, telles que VLIW, la superscalarité, SIMD, SIMT, la multicoeur et le multitùche. Un support pour les pilotes ICD est inclus.
(Installable Client Driver). Des backends sont présents pour assurer le travail via CPU, ASIP (TCE/TTA), GPU basés sur l'architecture HSA et GPU NVIDIA (CUDA).
La nouvelle version ajoute le support pour LLVM/Clang 8.0. Le support de ICD (Installable Client Driver) sur la plateforme macOS a Ă©tĂ© assurĂ©. Il est dĂ©sormais possible de compiler pocl sans les pilotes backend pour CPU. Pour HSA (Heterogeneous System Architecture), un support initial pour la compilation ISA au-dessus de HSA runtime a Ă©tĂ© introduit. La base de code a Ă©tĂ© nettoyĂ©e, y compris la suppression de la bibliothĂšque Vecmathlib et l'arrĂȘt du support des versions anciennes de LLVM (infĂ©rieures Ă 6.0).
Source : opennet.ru
