Intel apporte le SYCL au CUDA de Nvidia avec l'outil de migration


Après des années de faux départs et de retards avec divers produits, nous sommes enfin à un point où Intel va vraiment commencer à tester l’étendue de sa stratégie informatique hétérogène, grâce à la sortie des nouvelles puces d’apprentissage automatique Gaudi2 d’Intel et au lancement prochain de son GPU “Ponte Vecchio” très attendu qui alimentera le supercalculateur exascale “Aurora” du Laboratoire National d’Argonne.

Mais si Intel espère concurrencer le moteur de croissance qu’est l’activité informatique accélérée de Nvidia et prouver que ces nouveaux produits ne disparaîtront pas comme les précédents efforts d’accélération, il devra convaincre un nombre incalculable de développeurs et montrer qu’il a un meilleur modèle de programmation que CUDA, l’environnement de programmation parallèle propriétaire de Nvidia qui a permis au géant du GPU de s’approprier une part importante du marché de l’informatique accélérée.

Entrez oneAPI, le modèle de programmation parallèle multiplateforme d’Intel qui vise à simplifier le développement sur une large gamme de moteurs de calcul : CPU, GPU, FPGA et autres types de processeurs, même ceux de concurrents. L’effort, qu’Intel a construit comme une norme ouverte, est livré avec une variété de boîtes à outils, desservant des applications qui sont importantes pour les lecteurs de Le Plate-forme suivante, tels que le calcul haute performance, l’apprentissage en profondeur et l’analyse de l’IA, ainsi que d’autres domaines, comme le rendu et l’Internet des objets.

Il y a beaucoup de choses qu’Intel doit faire avec OneAPI si le fabricant de puces veut que sa stratégie de calcul à plusieurs volets fonctionne le même genre de magie que Nvidia a évoqué avec CUDA, et la première chose dont il a besoin est un moyen facile pour les développeurs de porter le code à partir de CUDA.

Intel a intensifié ses efforts de migration CUDA ce mois-ci en open source les technologies alimentant l’outil de compatibilité Intel DPC++, qui est utilisé pour déplacer le code de CUDA vers le langage Data Parallel C++ de OneAPI. Mais plutôt que de regrouper les développeurs dans OneAPI, le nouvel outil open source, appelé SYCLomatic, se concentre simplement sur le déplacement de ce code vers SYCL, la couche d’abstraction de programmation inter-architecture libre de droits qui sous-tend l’implémentation C++ compatible parallèle d’Intel.

Sachant très bien que Nvidia a construit son empire avec une approche de jardin clos, Intel positionne le SYCLomatic comme un effort communautaire qui renforcera la prise en charge des développeurs SYCL plus rapidement et gratuitement “à partir d’un écosystème propriétaire à fournisseur unique”. La société affirme qu’elle y parviendra en leur donnant une “voie plus simple et plus courte pour permettre le choix du matériel”.

Ce qu’Intel entend par là que SYCLomatic, qui est hébergé sur GitHub avec une licence Apache 2.0, peut automatiquement porter jusqu’à 95 % du code CUDA avant que les développeurs n’aient à intervenir et à effectuer des ajustements manuels afin que les applications s’exécutent au niveau optimal sur leur architecture de choix.

Une organisation qui envisage de tirer parti de SYCLomatic n’est autre que le Laboratoire national d’Argonne, qui prévoit d’utiliser l’outil open source pour combler les lacunes de l’outil de compatibilité Intel DPC++ pour préparer le code de simulation cosmologique CRK-HACC en cours de développement pour le supercalculateur Aurora. , qui devrait être mis en ligne plus tard cette année.

« Pour nous préparer à Aurora, l’outil de compatibilité Intel DPC++ nous a permis de migrer rapidement plus de 20 noyaux vers SYCL », explique Esteban Rangel, informaticien à Argonne. «Étant donné que la version actuelle de l’outil de migration de code ne prend pas en charge la migration vers les foncteurs, nous avons écrit un simple outil clang pour refactoriser le code source SYCL résultant pour répondre à nos besoins. Avec le projet open-source SYCLomatic, nous prévoyons d’intégrer nos travaux précédents pour une solution plus robuste et de contribuer à intégrer les foncteurs dans les options de migration disponibles.

Intel a peut-être un long chemin à parcourir pour gagner l’esprit des développeurs de Nvidia, mais au moins, il montre qu’il existe un autre moyen de créer un écosystème logiciel pour notre nouveau monde informatique courageux. Ou plus précisément, il fait exactement ce qu’AMD a fait avec l’outil HIP pour son environnement ROCm pour porter CUDA sur ses propres accélérateurs GPU Instinct.

Abonnez-vous à notre lettre d’information

Avec des faits saillants, des analyses et des histoires de la semaine directement de nous dans votre boîte de réception, sans rien entre les deux.
Abonnez-vous maintenant