Sans prendre en compte les processeurs graphiques (GPU) qui constituent à eux-seuls une classe d’architecture, les processeurs à grand nombre de cœurs se distinguent des processeurs multicœurs, non seulement par le nombre de cœurs, mais également par un certain nombre de caractéristiques : le type et la performance des cœurs, la décomposition hiérarchique en clusters (ou nœuds) de cœurs, le modèle mémoire (mémoire partagée ou mémoire distribuée) et les problèmes logiciels liés au fait qu’ils sont presque toujours utilisés comme coprocesseurs. Ces manycores sont utilisés dans trois grandes classes d’applications :
-
les applications mobiles et embarquées haute performance pour lesquelles les contraintes énergétiques sont fondamentales ;
-
les applications pour lesquelles la haute performance est le critère le plus important, comme le calcul scientifique ;
-
les circuits spécialisés pour l’apprentissage et l’inférence dans les réseaux de neurones profonds. Cette classe d’applications est celle qui voit apparaître le plus grand nombre de circuits.
Les différentes caractéristiques sont présentées avec les différentes variantes. Puis six exemples de processeurs manycores sont détaillés.
Les deux premiers sont des architectures destinées aux applications mobiles et embarquées haute performance et dissipent de quelques watts à trois dizaines de watts :
-
les processeurs implantant l’architecture Epiphany d’Adapteva, avec deux versions utilisées à 16 ou 64 cœurs et une version 1024 cœurs qui a été un échec ;
-
l’architecture MPPA de Kalray, avec notamment l’étude des versions MMPA2 et MPPA3.
Les deux exemples suivant sont destinés au calcul haute performance et dissipent deux à trois centaines de watts :
-
les processeurs et coprocesseurs Xeon Phi d’Intel avec les modèles Knights Corner et Knights Landing. Leur production a été abandonnée en 2018 ;
-
le manycore SW26010 utilisé dans le superordinateur chinois TaihuLight qui a été de juin 2016 à novembre 2017 le premier au TOP500 des superordinateurs.
Les deux derniers exemples correspondent à l’accélération de l’apprentissage et de l’inférence dans les réseaux de neurones :
-
l’accélérateur Boqueria AI de Untether est constitué d’une grille 2D de blocs mémoire, eux-même constitués d’une grille 2D de blocs avec un processeur élémentaire et une mémoire SRAM ;
-
le circuit WSE-2 de Celebras interconnecte une grille 2D de cœurs au niveau du wafer. Chaque cœur contient une partie calcul et une SRAM. Avec 850 000 cœurs et 15 kW de puissance dissipée, c’est le plus gros circuit en 2022.
Les processeurs manycores ne sont pas la continuité des multicœurs avec un plus grand nombre de cœurs. Le nombre de cœurs est très loin d’une progression exponentielle. Alors que les multicœurs utilisent le modèle mémoire partagée avec une hiérarchie de caches, les manycores utilisent le modèle mémoire distribuée, avec des blocs mémoire près du calcul. L’utilisation pour les réseaux de neurones de formats de donnée réduits (flottants 16 bits et 8 bits) permet d’augmenter le nombre de cœurs à consommation et surface de puce données par rapport aux circuits avec flottants double précision.