Sortie de PoCL 1.3, une implémentation indépendante du standard OpenCL

Une version du projet PoCL 1.3 (Portable Computing Language OpenCL) est disponible, qui développe une implémentation du standard OpenCL indépendante des fabricants d'accélérateurs graphiques et permet l'utilisation de divers backends pour exécuter les noyaux OpenCL sur différents types de graphiques et de processeurs centraux. . Le code du projet est distribué sous licence MIT. Prend en charge le travail sur les plates-formes X86_64, MIPS32, ARM v7, AMD HSA APU et divers processeurs spécialisés TTA (Transport Triggered Architecture) avec architecture VLIW.

L'implémentation du compilateur du noyau OpenCL est construite sur la base de LLVM et Clang est utilisé comme frontal pour OpenCL C. Pour garantir une portabilité et des performances appropriées, le compilateur du noyau OpenCL peut générer des fonctions combinées pouvant utiliser diverses ressources matérielles pour paralléliser l'exécution de code, telles que VLIW, superscalaire, SIMD, SIMT, multicœur et multithreading. Prise en charge du pilote ICD disponible
(Pilote client installable). Il existe des backends pour prendre en charge le fonctionnement via CPU, ASIP (TCE/TTA), GPU basé sur l'architecture HSA et NVIDIA GPU (CUDA).

La nouvelle version ajoute la prise en charge de LLVM/Clang 8.0. Fournit la prise en charge de l'ICD (Installable Client Driver) sur la plate-forme macOS. Implémentation de la possibilité de créer pocl sans pilotes backend pour le CPU. Pour HSA (Heterogeneous System Architecture), la prise en charge initiale de la compilation des ISA au-dessus du runtime HSA est fournie. La base de code a été nettoyée, la bibliothèque Vecmathlib a été supprimée et la prise en charge des anciennes versions de LLVM (inférieures à 6.0) a été arrêtée.

Source: opennet.ru

Ajouter un commentaire