En lançant le langage de programmation Java en 1996, Sun Microsystems a expliqué aux développeurs que le but était de leur permettre de créer une application une fois pour toutes et de la faire fonctionner sur n'importe quel système d'exploitation. Au lieu qu'un développeur crée une application pour chaque matériel ou système d'exploitation, la promesse de Java était un développement plus uniforme et plus rationnel. Cependant, la possibilité de créer une seule application et de l'exécuter partout n'est toujours pas uniforme dans le paysage informatique de 2022. C'est une situation qu'Intel cherche à faire évoluer.
Enfin, Intel concentre surtout ses efforts sur le calcul accéléré et l'utilisation des GPU. « Aujourd'hui, dans le monde du calcul accéléré et des GPU, vous pouvez utiliser CUDA et alors vous ne pouvez fonctionner que sur un GPU Nvidia, ou vous pouvez aller utiliser l'équivalent CUDA d'AMD fonctionnant sur un GPU AMD. Vous ne pouvez pas utiliser CUDA pour programmer un GPU Intel, alors qu'est-ce que vous utilisez ? », a déclaré Greg Lavender, directeur technique d'Intel. C'est pour cette raison que la firme de Santa Clara a décidé de contribuer fortement à la spécification open source SYCL (SYCL se prononce comme "sickle".
SYCL entend faire pour les GPU et l'informatique accélérée ce que Java a fait il y a des décennies pour le développement d'applications. Intel soutient la spécification pour qu'un seul code les gouverne tous. Le développement de SYCL était jusque-là géré par le Khronos Group, un consortium industriel qui contribue à l'élaboration de normes pour le calcul parallèle, la réalité virtuelle et les graphiques 3D. Le 1er juin, Intel a acquis la société de développement Codeplay Software, qui est l'un des principaux contributeurs à la spécification SYCL. Codeplay est une société de développement de logiciels basés à Édimbourg, en Écosse.
L'investissement d'Intel dans SYCL n'est pas entièrement désintéressé et ne vise pas seulement à soutenir un effort open source ; cela pourrait orienter davantage le développement vers ses GPU grand public et pour centres de données récemment commercialisés. « Nous devrions disposer d'un langage de programmation ouvert avec des extensions au C++ qui sont normalisées et qui peuvent fonctionner sur les GPU Intel, AMD et Nvidia sans changer de code », note Lavender. Mais la tâche risque d'être assez difficile pour Intel et ses pairs. Lavender est réaliste et il sait qu'il existe déjà beaucoup de code écrit spécifiquement pour CUDA.
C'est pourquoi les développeurs d'Intel ont songé à créer un outil automatisé pour la conversion de CUDA en SYCL. Baptisé SYCLomatic, c'est un outil open source qui devrait permettre de convertir le code CUDA vers SYCL. Lavender affirme que SYCLomatic couvre aujourd'hui environ 95 % de toutes les fonctionnalités présentes dans CUDA. Il a précisé que les 5 % que SYCLomatic ne couvre pas sont des fonctionnalités spécifiques au matériel Nvidia. Il n'a pas dit ce qu'Intel comptait faire par rapport à cela. Selon Lavender, SYCL comprend des bibliothèques de code que les développeurs peuvent utiliser et qui sont indépendantes du matériel.
Le code est écrit une fois par le développeur, puis SYCL peut le compiler pour qu'il fonctionne avec n'importe quelle architecture, qu'il s'agisse d'un GPU Nvidia, AMD ou Intel. « Nous devrions avoir la possibilité d'écrire une seule fois et de l'exécuter partout pour le calcul accéléré, puis laisser le marché décider du GPU qu'il veut utiliser, et uniformiser les règles du jeu », a-t-il déclaré. Pour l'avenir, Lavender a déclaré qu'il souhaitait que SYCL devienne un projet de la Fondation Linux afin de favoriser la participation et la croissance de l'effort open source. Intel et Nvidia sont tous deux membres de la Fondation Linux et soutiennent de nombreux projets.
Parmi les projets dont Intel et Nvidia sont membres aujourd'hui figure le projet OPI (Open Programmable Infrastructure), qui vise à fournir un standard ouvert pour les unités de programmation d'infrastructure (IPU) et les unités de traitement de données (DPU). Par ailleurs, lors de la conférence, Lavender a également fait le point sur la norme OneAPI, un modèle de programmation intersectoriel pour l'informatique hétérogène qui permet aux développeurs de choisir la meilleure architecture pour le problème spécifique qu'ils tentent de résoudre. Il a indiqué que les boîtes à outils Intel OneAPI 2023 seront livrées en décembre.
Ces derniers prendront en charge les dernières et prochaines architectures CPU, GPU et FPGA d'Intel. Lavender a également noté que Codeplay assumera désormais la responsabilité de la communauté de développement OneAPI. Il a déclaré que six autres établissements d'enseignement et de recherche avaient formé des centres d'excellence OneAPI pour contribuer à renforcer le soutien à la norme : l'école de logiciels et de microélectronique de l'université de Pékin, le Science and Technology Facilities Council du Royaume-Uni, l'institut de technologie Technion d'Israël, l'université de l'Utah, l'université de Californie-San Diego et l'institut Zuse de Berlin.
En ce qui concerne l'IA, Lavender et le directeur technique de Red Hat, Chris Wright, ont fait équipe lors de l'événement pour révéler qu'Intel et Red Hat lancent un programme commun de développement de l'IA visant à aider les développeurs à déployer des modèles d'IA à l'aide du portefeuille d'IA d'Intel et d'OpenShift Data Science de Red Hat, qui est un service cloud pour les développeurs d'IA et les scientifiques des données. Sur le front de l'informatique quantique, Intel a rejoint la longue liste des entreprises qui proposent des kits de développement logiciel (SDK) pour l'informatique quantique.
Anne Matsuura, directrice des technologies quantiques et moléculaires chez Intel Labs, a déclaré lors d'un briefing avant l'événement Innovation que le SDK quantique de la société est désormais disponible pour certains développeurs dans une version bêta qui utilise le langage de programmation C++, une décision prise par Intel sur la base des demandes des départements universitaires et d'autres utilisateurs. Mettre le SDK quantique à la disposition d'une communauté plus large de développeurs est une autre façon pour l'entreprise d'essayer de promouvoir les efforts d'écosystème ouvert.
Sources : VentureBeat, SYCL
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous de la spécification SYCL ?
En quoi SYCL facilitera-t-il la vie des développeurs ?
Voir aussi
Intel se lance dans la bataille des GPU pour PC de jeu avec Arc, sa nouvelle marque de GPU pour jeux
Intel annonce OneAPI, une couche d'abstraction pour la programmation de CPU, GPU, FPGA et autres accélérateurs
Intel affirme que l'un de ses processeurs de la 13e génération atteindra 6 GHz dès sa sortie, après qu'AMD ait promis 5,7 GHz pour son prochain fleuron