Puces IA : Intel et AMD mettent des fonctions GPU dans leurs processeurs
Le consortium x86 Ecosystem Advisory Group, conçu pour faire front commun face à Nvidia, présente ses premiers résultats : un circuit et son jeu d’instruction ACE pour exécuter les fonctions les plus propriétaires des GPU et rendre ces derniers plus interchangeables.
Intel et AMD ont décidé de joindre leurs forces pour rapatrier dans leurs processeurs une partie des fonctions mathématiques nécessaires aux traitements des IA, mais qui s’exécutent aujourd’hui dans les GPU, voire dans d’autres accélérateurs comme les NPU. Ces fonctions sont regroupées sous l’acronyme ACE (AI Compute Extensions) et seront implémentées sous la forme d’un circuit dédié dans les prochains processeurs des deux fournisseurs.
Il s’agit de l’un des premiers développements issus du consortium x86 Ecosystem Advisory Group, une union sacrée lancée fin 2024 entre AMD et Intel pour se serrer les coudes face à la montée galopante des technologies Nvidia dans les datacenters. Que ce soit pour contrer ses GPU omniprésents, comme pour freiner l’essor des processeurs ARM que Nvidia veut placer en alternative des processeurs x86.
ACE n’a pas vocation à entièrement remplacer les GPU, mais à suffisamment soulager leur travail pour qu’il ne soit plus nécessaire d’investir dans les GPU les plus chers.
Passer de registres à des blocs de registres
Le jeu d’instruction ACE est présenté comme une évolution du jeu d’instructions AVX10 (lui-même intégré au jeu d’instruction AMX), soit une batterie de fonctions vectorielles qui servent essentiellement à exécuter une opération sur plusieurs données en même temps. Les fonctions vectorielles sont utilisées dans les accélérateurs conçus pour l’IA afin de multiplier des matrices, en considérant que les valeurs sont composées d’une partie liée à leur signe, l’autre à un exposant et la dernière à une valeur de base.
Cette approche suppose de refaire des calculs derrière, ce qu’AVX10 ne sait pas faire. En l’occurrence, un processeur x86 ordinaire doit exécuter une série d’instructions en boucle, des multiplications, puis des additions, au prix d’un temps d’exécution ralenti et d’une forte consommation d’énergie. L’enjeu d’ACE est d’implémenter la logique de cette boucle pour réduire ces contraintes, notamment en diminuant la quantité d’efforts nécessaires d’un facteur 16.
Le document de référence cite des exemples : en une opération, il devient possible d’exécuter 1024 multiplications en ACE, contre seulement 64 en AVX10 pour des valeurs représentées sur 8 bits. Et deux fois moins pour les valeurs représentées en 16 bits : 512 au lieu de 32. En fait, plutôt que de fonctionner avec des registres (cases mémoires qui stockent les données en cours de travail dans un processeur), ACE repose sur des blocs de registres.
Pour rendre les applications d’IA universelles
Se voulant compatible avec une multitude de représentations de valeurs (nombre de bits pour l’exposant, nombre de bits pour la valeur de base), ACE est censé avoir le mérite de fonctionner de manière universelle sur tous les prochains processeurs x86.
Cet avantage devrait surtout permettre de rendre les GPU de différentes marques plus facilement interchangeables, car les applications d’IA n’auront plus à implémenter des algorithmes propres au fonctionnement d’un Nvidia Blackwell, d’un AMD Instinct ou d’un Intel Crescent Island.
Selon le x86 Ecosystem Advisory Group, il serait même possible de rendre interchangeables les accélérateurs NPU qui servent à reconnaître des motifs dans les données sources.
