Avec l’explosion des traitements IA, les grappes de GPU deviennent une denrée rare, nous a expliqué Michael Buchel, CTO d’Arc Compute lors d’un récent IT Press Tour en Califofnie. "Nous exploitons des optimisations de très bas niveau sur les GPU pour fournir la capacité de prendre en charge autant de tâches que possible et de les condenser dans un ensemble de données plus petit", explique le dirigeant. L’idée est d’optimiser les capacités de traitement parallèle des GPU pour augmenter leur rendement et réduire leur empreinte énergétique. Rappelons qu’à l’origine, les GPU n’ont pas été conçus pour le calcul intensif, mais pour l’affichage graphique et l’accélération 3D. Sur ce marché, Nvidia a été précurseur en tirant parti de la puissance de traitement parallèle des GPU pour l'apprentissage profond et d'autres applications gourmandes en calcul avec le kit de développement Cuda (Compute Unified Device Architecture) lancé en 2007 avec les Geforce 8. La firme de Santa Clara a compris bien avant ses principaux concurrents (ATI, puis AMD suite au rachat de cette entreprise canadienne à l’origine des GPU Radeon et bien sûr Intel) que le marché du calcul intensif (HPC) nécessitait un écosystème logiciel dédié. A la fois plateforme de calcul parallèle généraliste et modèle de programmation, Cuda aide les développeurs à porter leurs applications sur ses GPU pour accélérer certains traitements (compression, finance, simulation de fluides, modélisation du climat, cassage de codes ou encore calculs de structures).
Le kit de développement Cuda a connu de nombreuses évolutions pour accompagner la sortie des architectures GPU et améliorer sa prise en main, réputée difficile. En complément, Nvidia n’a pas perdu de temps pour adopter la technologie Tensorflow utilisée par Google pour ses accélérateurs TPU (Tensor Processing Units ) en 2015. Rappelons qu’un tensor, un tenseur en français, est un objet mathématique, dont la valeur s'exprime dans un espace 3D. En 2015 avec ses premiers TPU pour usage interne, Google a créé son propre cadre d'apprentissage automatique qui utilise des tensors, car ceux-ci permettent d’exploiter des réseaux de neurones hautement évolutifs. Google a surpris les acteurs du marché en rendant open source ses librairies d'apprentissage automatique Tensorflow (Google Brain pour la première version) en novembre 2015 (publié sous licence Apache), mais cela a peut-être été un coup de génie car Tensorflow est rapidement devenu l'un des frameworks d'apprentissage automatique les plus populaires utilisés par les développeurs avec la version 2.0 sortie en février 2017. Nvidia a introduit ses premières unités Tensor en mai 2017 avec la microarchitecture GPU Volta utilisée par les produits Tesla V100. Si AMD a répondu avec retard à Cuda en lançant Radeon Stream, Intel dégainé Larrabee et le Khronos Group fédéré les initiatives autour d’OpenCL (lancé en 2009), la mainmise de Nvidia n’est toujours pas remise en cause sur un marché dopé par les besoins en IA (générative ou discriminative) malgré des initiatives comme la start-up Groq fondée par Jonathan Ross, un ancien de Google, qui a travaillé sur le premier TPU (Tensor Processing Unit) de la firme.
ArcHPC Suite pour piloter finement les GPU
Fondé en 2022 et basé à Toronto, Arc Compute - qui compte 17 employés - vient donc réorienter le travail des GPU, Nvidia principalement, avec ses planificateurs de tâches et le fractionnement des calculs afin de mieux résoudre les problèmes mathématiques sans acquérir de matériel supplémentaire ou recourir à la mise en correspondance manuelle des tâches - un processus qui prend du temps et qui est source d'erreurs. "Il y a des planificateurs de tâches et des interprétateurs tous les GPU. [...] Donc si vous étiez assez intelligent pour identifier un problème à l'avance et que vous compreniez les codes machine générés par le codeur, vous pouvez obtenir une vitesse de traitement supérieur à celle obtenue avec le même GPU". La solution d’Arc Compute s'articule autour de l’ArcHPC Suite avec Nexus, Oracle et Mercury. Le premier est un outil de gestion avancé pour les GPU et autres accélérateurs, qui s’intègre de manière transparente avec des planificateurs de tâches tels que l'ordonnanceur Slurm, permettant aux utilisateurs de maximiser la densité des tâches et les performances des GPU sans avoir besoin d'une intervention manuelle. Grâce à une allocation optimisée des ressources et à un ajustement granulaire des capacités de calcul, Nexus s'assure que les tâches sont efficacement adaptées et exécutées et fournit des recommandations pour de nouvelles améliorations.
En analysant le code machine et en exploitant des algorithmes avancés, Oracle automatise quant à lui le déploiement des tâches et le complexe processus de mise en correspondance de bas niveau éliminant les ajustements manuels. L'outil gère l'exécution de bas niveau des instructions, en procédant à des ajustements en temps réel pour garantir une allocation optimale des ressources. Enfin, Mercury complète les deux premiers outils en s’attaquant à la question de l'adéquation des tâches afin de maximiser le nombre de tâches exécutées simultanément, tout en surveillant l’allocation des ressources GPU. De plus, Mercury fournit aux administrateurs des informations sur leurs infrastructures pour faire face à l'augmentation des charges de travail. En optimisant l'utilisation du matériel et en minimisant le surprovisionnement, Mercury aide les entreprises à réduire leurs coûts et à améliorer leur efficacité globale, explique Michael Buchel.
Aujourd’hui, Arc Compute se développe en mode direct sur le marché des grands comptes, des entreprises et des hyperscalers, qui exploitent des systèmes HPC, et passe par des partenaires intégrateurs travaillant avec AMD, Dell, HP, Nvidia ou Supermicro. Pour les tarifs, la start-up facture au nombre d’accélérateurs, avec une fourchette de prix comprise entre 4 000 et 8 800 dollars par GPU et par an. Il existe également un coût de 0,37 dollar par heure pour les fournisseurs de cloud public.