Présentation
RÉSUMÉ
Cet article présente les processeurs à très grand nombre de cœurs (manycores), avec les caractéristiques qui les distinguent des multicœurs et des GPU : type et performances des cœurs, décomposition hiérarchique en clusters de cœurs, modèle mémoire (partagée ou distribuée) et développements logiciels. Ils sont utilisés dans trois classes d’applications : les applications mobiles ou embarquées haute performance à faible consommation, le calcul scientifique haute performance et les accélérateurs pour réseaux de neurones profonds
Six exemples sont détaillés : les Xeon Phi d’Intel, le SW26010 utilisé dans le superordinateur TaihuLight, les versions 16, 64 et 1024 cœurs de l’architecture Epiphany d’Adapteva, lesmanycoresMMPA2 et MMPA3 de Kalray, l’accélérateur Boqueria d’Untether et le circuit WSE-2 de Celebras
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleAuteur(s)
-
Daniel ETIEMBLE : Ingénieur de l’INSA de Lyon - Professeur émérite à l’université Paris Sud
INTRODUCTION
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.
VERSIONS
- Version archivée 1 de mai 2019 par Daniel ETIEMBLE
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
7. Remarques pour conclure
Il apparaît clairement une distinction entre multicœurs et manycores qui ne se résume pas au nombre de cœurs. Les multicœurs utilisent un modèle mémoire partagée à espace d’adressage unique, avec des hiérarchies complexes de caches.
Les manycores utilisent un modèle mémoire distribué, avec des blocs SRAM proches des cœurs de calcul, le plus souvent interconnectés avec des grilles 2D.
C’est cette distribution dans l’espace de blocs calcul-SRAM qui permet d’augmenter considérablement le nombre de cœurs, avec un ou plusieurs niveaux de grilles 2D.
Pour les applications mobiles et embarquées haute performance, les résultats sont mitigés. Les approches visant la très faible consommation, comme Epiphany, sont utilisées dans les versions 16 et 64 cœurs comme coprocesseur dans les cartes Parallela d’Adapteva visant le marché mobile et embarqué haute performance et faible consommation. Par contre, la version Epiphany-V à 1 024 cœurs a été un échec. De même, la société Tilera, qui développait une architecture assez semblable à Epiphany, a été rachetée et Linux a arrêté en 2018 le support de cette architecture. Par contre, avec une architecture dont la puissance dissipée reste de l’ordre de 20 W, l’architecture MPPA3 avec ses extensions arithmétiques pour la vision par ordinateur et l’apprentissage profond, semble bien positionnée dans le domaine de la haute performance embarquée, domaine qui offre d’ailleurs plus de débouchés que le calcul scientifique haute performance. Le nombre de cœurs prévu reste raisonnable (80 ou 160) bien loin des 1 024 cœurs d’Epiphany-V. En comparaison, le multicœur avec le plus grand nombre de cœurs fin 2022 est l’architecture Ryzen Threadripper Pro d’AMD avec 64 cœurs physiques (et 128 cœurs logiques avec l’hyperthreading).
Pour les applications du calcul scientifique, le processeur SW26010 du superordinateur Sunway TaihuLigtht reste un point singulier.
C’est le développement spectaculaire des architectures matérielles pour les réseaux de neurones profonds qui offre le plus d’opportunités aux circuits manycores. Le fait d’utiliser des formats de données réduits permet d’augmenter le nombre de cœurs par rapport aux circuits nécessitant des formats flottants 64 bits.
Alors que les multicœurs restent la norme des processeurs d’usage général, les manycores sont plus des architectures spécialisées, même si l’apprentissage et l’inférence...
TEST DE VALIDATION ET CERTIFICATION CerT.I. :
Cet article vous permet de préparer une certification CerT.I.
Le test de validation des connaissances pour obtenir cette certification de Techniques de l’Ingénieur est disponible dans le module CerT.I.
de Techniques de l’Ingénieur ! Acheter le module
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Remarques pour conclure
BIBLIOGRAPHIE
-
(1) - MATTSON (T.) - The future of Many Core Computing: A tale of two processors, - https://cseweb.ucsd.edu/classes/fa12/cse291-c/talks/SCC-80-core-cern.pdf
-
(2) - DONGARRA (J.) - Report on the Sunway TaihuLigtht System. - http://www.netlib.org/utk/people/JackDongarra/PAPERS/sunway-report-2016.pdf
-
(3) - FU (H.), LI AO (J.), YANG (J.), WANG (L.), HUANG (X.), YANG (C.), XUE (W.), QIAO (F.), ZHAO (W.), YIN (X.), HOU (C.), GE (W.), ZHANG (J.), WANG (Y.), YANG (G.) - The Sunway TaihuLight supercomputer: system and applications, - In SCIENCE CHINA, Information Sciences, 59, 072001 (2016); doi : 10.1007/s11432-016-5588-7.
-
(4) - ADAPTEVA - Epiphany Architecture Reference, - Rev 14.03.11, 2014. Available: http://adapteva.com/docs/epiphany_arch_ref.pdf, [Nov. 25, 2014].
-
(5) - OLOFSSON (A.), NORDSTROM (T.), UL-ABDIN (UL-ABDIN) (Z.) - Kickstarting High-performance Energy-efficient Manycore Architectures with Epiphany, - Proceedings Asilomar Conference on Signal, Systems and Computers, pp 1719-1726 (2014).
- ...
DANS NOS BASES DOCUMENTAIRES
ANNEXES
Adapteva : http://www.adapteva.com/
Caffe: http://caffe.berkeleyvision.org/
Intel Xeon Phi : https://www.intel.fr/content/www/fr/fr/products/processors/xeon-phi/xeon-phi-processors.html
Kalray : https://www.kalrayinc.com/
OpenVx : https://www.khronos.org/openvx/
SYCL, https://www.khronos.org/sycl/
TensorFlow: https://www.tensorflow.org/
Tilera : https://en.wikipedia.org/wiki/Tilera
HAUT DE PAGECet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
QUIZ ET TEST DE VALIDATION PRÉSENTS DANS CET ARTICLE
1/ Quiz d'entraînement
Entraînez vous autant que vous le voulez avec les quiz d'entraînement.
2/ Test de validation
Lorsque vous êtes prêt, vous passez le test de validation. Vous avez deux passages possibles dans un laps de temps de 30 jours.
Entre les deux essais, vous pouvez consulter l’article et réutiliser les quiz d'entraînement pour progresser. L’attestation vous est délivrée pour un score minimum de 70 %.
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive