Projet Intel oneAPI: de nombreuses architectures, une API



Lors de l'Intel Software Technology Day en juin, les principaux ingénieurs de l'entreprise ont parlé d'un projet de logiciel appelé Intel oneAPI, un modèle de programmation unifié pour faciliter le développement de logiciels pour une variété d'architectures informatiques, y compris un nouveau langage de programmation. Dans cet article, nous donnerons une brève description de ce projet - comme on dit, à suivre ...

oneAPI est un projet qui développe un ensemble unifié d'outils pour les développeurs de logiciels productifs. Le parc de plates-formes informatiques s'est récemment considérablement développé grâce à des accélérateurs spécialisés. Intel fournira des solutions logicielles qui permettront aux développeurs de tirer le maximum de performances du fer hétérogène.
Bill Savage, vice-président Intel, directeur général Compute Performance Developer Products

Comme nous le remarquons, les tâches avec lesquelles nous chargeons la puissance de calcul dont nous disposons se diversifient - ainsi que les architectures de ces mêmes pouvoirs, divisés en Scalar (CPU), Vector (GPU), Matrix (accélérateurs AI) et Spatial (FPGA). L'ensemble de ces architectures, appelé Intel SVMP (SVMS), nécessite un modèle de programmation efficace pour des performances maximales. La tâche de oneAPI est de garantir la facilité d'utilisation et l'efficacité, en éliminant la nécessité de maintenir des versions du code dépendantes de l'architecture, en utilisant différents langages de programmation et des outils de développement pour eux.

Intel OpenVINO , un ensemble d'outils pour un développeur de logiciels qui fournit un processus d'inférence cohérent et optimisé pour les algorithmes d'apprentissage en profondeur basé sur n'importe quelle architecture Intel UHMW, est un exemple de la façon dont Intel implémente déjà le développement multiplateforme.

oneAPI prend en charge la programmation directe et la programmation d'API en fournissant un langage de programmation unifié et des bibliothèques unifiées offrant des performances de code natif maximales sur diverses plates-formes UHMWP.

  • Programmation directe oneAPI contient le nouveau langage de programmation Data Parallel C ++ (DPC ++) - une alternative ouverte et complète aux langages propriétaires pour des architectures spécifiques. DPC ++ offre commodité et performances à l'aide d'un modèle de programmation familier aux développeurs. DPC ++ est basé sur C ++, inclut SYCL de The Khronos Group, ainsi que des extensions développées dans la communauté ouverte.
  • Programmation API. Les bibliothèques oneAPI vous permettent de déployer plusieurs domaines de chargement pour lesquels une optimisation est possible. Les fonctions de bibliothèque sont personnalisées pour des architectures spécifiques.

De plus, Intel fournira des versions améliorées d'outils d'analyse et de débogage (Intel VTune Amplifier, Intel Advisor) qui prennent en charge DPC ++ et l'ensemble des architectures UHMW.

La version bêta de oneAPI pour les développeurs, ainsi que des détails supplémentaires à ce sujet, seront disponibles fin 2019.

Source: https://habr.com/ru/post/fr458638/


All Articles