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

Disponible lancement du projet PoCL 1.4 (Portable Computing Language OpenCL), 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. Code de projet distribué par sous licence MIT. Prend en charge le travail sur les plates-formes X86_64, MIPS32, ARM v7, AMD HSA APU et divers processeurs TTA spécialisés (Architecture déclenchée par le transport) avec l'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 assurer le fonctionnement via une architecture basée sur CPU, ASIP (TCE/TTA) et GPU HSA et GPU NVIDIA (CUDA).

В nouvelle version:

  • Prise en charge supplémentaire LLVM/Clang 9.0. La prise en charge des versions LLVM antérieures à 6.0 a été interrompue.
  • Implémentation améliorée basée sur le processeur des représentations de code intermédiaires SPIR и SPIR-V (utilisé dans l'API Vulkan), qui peut être utilisé à la fois pour représenter des shaders pour les graphiques et pour le calcul parallèle ;
  • Ajout du pilote pocl-accel avec un exemple d'infrastructure pour prendre en charge les accélérateurs matériels OpenCL 1.2 qui implémentent une interface de contrôle mappée en mémoire (mmap) ;
  • Ajout de la possibilité de créer des installations pocl qui ne sont pas liées aux répertoires (déplaçables).

Source: opennet.ru

Ajouter un commentaire