Quelles pistes pour les superordinateurs d’un exaflops ?

En 1964 a été construit le premier superordinateur, nommé Control Data 6600, avec une puissance de calcul d’un mégaflops, c’est-à-dire un million d’opérations en virgule flottante chaque seconde (comme additionner deux nombres à virgule). Il a été conçu par Seymour Cray, qui a lancé la société Cray, connue pour son activité dans les supercalculateurs.

Vingt et un ans plus tard, en 1985, la barre du gigaflops a été franchie par Cray-2. Actuellement, un processeur haut de gamme (comme un Intel i7 de dernière génération) fournit approximativement cent gigaflops.

Une dizaine d’années plus tard, en 1997, ASCI Red explose le téraflops, mille milliards d’opérations en virgule flottante par seconde ; dans cette série de records, c’est le premier à ne pas être associé au nom de Cray. Un processeur graphique moderne haut de gamme (comme la GeForce GTX Titan X) dépasse maintenant quelques téraflops.

Il y a presque dix ans, Roadrunner atteignant le pétaflops, en combinant une série de processeurs similaires à ceux utilisés dans les PlayStation 3. Aujourd’hui, le plus puissant est Tianhe-2, installé en Chine (alors que les précédents sont américains), avec une cinquantaine de pétaflops. La route semble encore longue jusqu’à l’exaflops, c’est-à-dire un milliard de milliards d’opérations en virgule flottante par seconde. À nouveau, les États-Unis ont lancé un projet pour atteindre cette puissance de calcul à l’horizon 2020 — plus particulièrement, le Département de l’Énergie, le même à investir massivement dans un compilateur Fortran moderne libre.

Ces nombres paraissent énormissimes : un milliard de milliards d’opérations par seconde. Outre les aspects purement informatiques, ce genre de projets a une grande importance pour la recherche scientifique : les laboratoires américains de l’Énergie étudient notamment l’arme nucléaire et la destruction en toute sécurité d’ogives ; en Europe, le Human Brain Project vise à simuler toute l’activité cérébrale d’un cerveau humain au niveau neuronal, ce qui nécessiterait une puissance de calcul de cet ordre de grandeur.

Comment y arriver ?

Le Département de l’Énergie estime que, actuellement, toutes les technologies nécessaires pour construire un tel superordinateur sont réunies. Cependant, il serait extrêmement difficile de l’alimenter : il faudrait un réacteur nucléaire complet pour y arriver ! Même si la construction de réacteurs fait partie de ses compétences, l’objectif de l’administration est de proposer une machine qui ne consomme « que » vingt mégawatts (un réacteur nucléaire produit généralement mille mégawatts). Erik DeBenedictis voit trois technologies pour réduire la consommation du facteur cinquante demandé : des transistors opérant à une tension d’un millivolt, la mémoire 3D et les processeurs spécialisés.

En théorie, un transistor peut fonctionner avec des tensions bien plus faibles qu’actuellement, en passant d’un volt à quelques millivolts à peine, ce qui augmenterait l’efficacité énergétique des processeurs d’un facteur dix à cent à court terme (jusqu’à dix mille à plus long terme !). La diminution de tension a jusqu’à présent suivi la loi de Moore, suivant la taille des transistors ; cependant, elle est bloquée depuis une décennie au niveau du volt… mais personne ne sait comment y arriver. Plusieurs technologies pourraient néanmoins passer cette barre :

Les mémoires empilées (aussi dites « en trois dimensions ») sont d’ores et déjà en cours de déploiement, sous des noms comme HBM ou HMC, dans les processeurs graphiques haut de gamme ou des accélérateurs spécifiquement prévus pour le calcul scientifique. Ils permettent une grande réduction de la consommation énergétique, d’autant plus enviable que l’objectif de vingt mégawatts réserve un tiers de la consommation à la mémoire. Une autre piste serait d’abandonner autant que possible la mémoire non volatile, pour passer par exemple à la mémoire résistive, comme la technologie Octane d’Intel.

Le troisième axe de recherche propose d’exploiter des architectures beaucoup plus spécifiques aux problèmes à résoudre. Elle est déjà exploitée, puisqu’une bonne partie des superordinateurs les plus puissants utilisent des processeurs graphiques. Cependant, Erik DeBenedictis propose de pousser l’idée plus loin encore : installer des processeurs extrêmement spécifiques aux tâches à réaliser, qui seraient activés seulement quand ils sont nécessaires. Pour effectuer d’autres types de calculs sur l’ordinateur, il faudrait alors installer d’autres processeurs spécialisés, ce qui n’est plus déraisonnable actuellement, au vu du prix des puces spécialisées.

Des compromis à réaliser

Ces trois pistes ont l’air intéressantes, mais n’ont pas du tout les mêmes propriétés quant au modèle de programmation actuel : si la physique derrière les processeurs change complètement, ils restent programmables de la même manière ; par contre, pour exploiter efficacement de nouveaux processeurs spécialisés, il faudrait changer complètement sa manière de pensée. La mémoire est dans une situation intermédiaire : empilée sur le processeur, les délais d’accès changent radicalement, l’ancien code n’est donc plus aussi efficace s’il tirait parti de ces spécificités, mais continuera à fonctionner ; au contraire, pour la mémoire résistive, il n’y aurait plus de distinction entre la mémoire utilisée pour effectuer les calculs et celle pour le stockage à long terme.

Sources : Three paths to exascale supercomputing (paru en ligne sous le titre Power problems threaten to strangle exascale computing), FLOPS.

Merci à Claude Leloup pour ses corrections.

AMD annonce sa prochaine architecture de GPU, dénommée Polaris

AMD tente depuis quelques mois de redorer son blason par la communication, avec un retour dans le monde du HPC suivi du projet GPUOpen. Faisant suite à des années de recherche et développement, le groupe vient d’annoncer sa nouvelle architecture pour les processeurs graphiques (principalement pour la gamme Radeon, puis pour les APU des séries A, C et E), dénommée Polaris.

Ce nom de code a été choisi en référence aux étoiles : l’étoile polaire (Polaris en latin) est la plus brillante de la constellation de la Petite Ourse. AMD indique que cette architecture proposera un saut historique en performance par watt consommé, tout comme les étoiles sont des processus extrêmement efficaces pour générer de la lumière. De fait, l’objectif affiché est de multiplier la performance par watt consommé par un facteur de deux et demi — là où NVIDIA propose un saut d’un facteur deux avec son architecture Pascal, sachant qu’ils partent de puces moins gourmandes qu’AMD.

Une affaire de FinFET

Ce saut est en bonne partie dû au changement de technologie pour la gravure des puces, c’est-à-dire leur réalisation effective à partir de silicium : la résolution de la lithographie sur le semiconducteur passe de vingt-huit nanomètres à quatorze et les transistors sont réalisés en trois dimensions plutôt que deux (FinFET). En d’autres termes, les transistors des nouveaux GPU seront beaucoup plus petits et consommeront moins d’énergie — et pourront fonctionner à une fréquence plus élevée. (Dans le même temps, NVIDIA fait le même changement de processus de fabrication.)

De plus, pour continuer à améliorer la performance et l’efficacité énergétique, AMD a implémenté une série de nouvelles fonctionnalités, comme un ordonnanceur de tâches au niveau du GPU (et non seulement pour le pilote du côté du système d’exploitation), la prélecture des instructions à effectuer ou encore la compression des données lues en mémoire. Cette prélecture est une fonctionnalité qui se trouve depuis longtemps dans les processeurs traditionnels (CPU) pour limiter les temps d’attente de la mémoire, mais relativement complexe à gérer ; elle arrive maintenant dans les processeurs graphiques (GPU), ce qui montre à quel point ces processeurs deviennent eux aussi extrêmement compliqués dans leur conception.

Beaucoup de nouveautés… pas encore vraiment divulguées

En réalité, cette gestion de la mémoire n’est qu’un des nouveaux éléments de cette nouvelle architecture : dans une description fonctionnelle de ces nouveaux GPU, énormément de blocs sont nouveaux ou fortement retravaillés, notamment avec un contrôleur mémoire plus costaud. Selon la gamme de prix, la mémoire embarquée devrait être de type GDDR5 (comme la plupart des GPU actuels) ou HBM (avec une bande passante supérieure).

De même, de nouvelles technologies devraient être incluses, comme DisplayPort 1.3 et HDMI 2.0a pour la connectique ou un codec H.265 (aussi connu comme HEVC) pouvant fonctionner à soixante images par seconde en résolution 4K, tant en encodage qu’en lecture. AMD aimerait également élargir le public utilisant des écrans à large gamut, avec une gestion native des couleurs codées sur dix bits (au lieu des huit habituels) — y compris pour le codec HEVC.

Cependant, AMD reste relativement silencieux quant aux détails de ces blocs, plus devant être révélé à proximité de la sortie effective de ces produits, prévue pour la mi-2016 (les plans de NVIDIA semblent indiquer que la concurrence sera rude à ce moment, leur architecture Pascal étant également prévue dans ces eaux-là).

Sources : AMD Announces Polaris, 2016 Radeon Graphics Architecture To Bring A Historic Leap In Perf/Watt With 14nm / 16nm FinFET Process, AMD Reveals Polaris GPU Architecture: 4th Gen GCN to Arrive In Mid-2016.

En réponse à GameWorks, AMD annonce GPUOpen

Depuis quelques années, NVIDIA a lancé sa suite de bibliothèques logicielles baptisée GameWorks. Elles sont spécifiquement prévues pour le jeu vidéo et donnent la possibilité aux développeurs d’intégrer aisément des effets, comme la simulation de poils en tout genre avec HairWorks ou encore d’herbe avec Turf Effects. La famille compte aussi GameWorks VR, qui promet d’importants gains en performance pour les jeux exploitant la réalité virtuelle.

NVIDIA met en avant l’optimisation effectuée sur ces implémentations et la facilité d’intégration, ce qui décharge les studios d’une bonne partie du travail… sauf qu’il semblerait que l’optimisation peut se faire au détriment d’AMD. L’exemple de Witcher 3 a montré que HairWorks exploitait un point fort du matériel vendu par NVIDIA, la tesselation — ce qui nuisait fortement à la performance sur les cartes AMD.

Une stratégie : l’ouverture

Justement, AMD prépare sa réponse à GameWorks sous le nom de GPUOpen, en arrêtant de se focaliser sur l’aspect matériel du jeu vidéo. La différence principale par rapport à GameWorks est la licence du code : là où les bibliothèques GameWorks sont disponibles gratuitement après enregistrement, sous une licence propriétaire peu restrictive (les sources sont disponibles sur demande sous licence), AMD envisage de proposer ses bibliothèques GPUOpen comme logiciels libres, sous licence MIT, distribués sur GitHub, dès janvier. Rien n’indique cependant que le développement aura bien lieu sur GitHub et que les contributions seront facilement acceptées (y compris les optimisations pour le matériel autre que celui d’AMD).

Cet élément n’est pas le premier de la stratégie actuelle de AMD. Peu auparavant, ils avaient annoncé une couche de compatibilité avec CUDA, la technologie propriétaire de calcul sur processeur graphique de NVIDIA. AMD a aussi lancé une nouvelle version de leurs pilotes pour carte graphique, dénommée Radeon Software Crimson Edition, qui a apporté un tout nouveau panneau de configuration, bien plus pratique à l’usage que le précédent, ainsi qu’une performance améliorée pour les jeux (bien qu’invisible sous Linux). Globalement, AMD essaye de rattraper son retard par rapport à ses concurrents du côté PC — malgré son omniprésence sur le marché des consoles.

Du contenu pour les jeux…

Dans les bibliothèques disponibles, une bonne partie du contenu sera tout à fait nouveau. Il y aura bien sûr TressFX, sa solution de simulation de cheveux, poils et brins d’herbe, dans la version 3.0. Elle était déjà disponible gratuitement, sources comprises, sur le site d’AMD — un mécanisme moins facile d’accès que GitHub. Également, AMD devrait rendre disponibles en janvier les bibliothèques GeometryFX (opérations géométriques ou simulation physique, selon les sources), ShadowFX pour les ombres et AOFX pour l’occultation ambiante. AMD inclura ses exemples de code, tant pour DirectX 11 et 12 qu’OpenGL.

Les bibliothèques proposées ne devraient pas seulement s’étendre du côté des effets pour des jeux vidéo, avec notamment LiquidVR pour la réalité virtuelle, le moteur de rendu par lancer de rayons FireRender et la bibliothèque de lancer de rayons FireRays, RapidFire pour le déploiement dans le nuage. Pour faciliter le développement, AMD devrait aussi fournir CodeXL pour l’analyse statique de code (y compris pour DirectX 12) et Tootle pour le prétraitement des maillages des modèles 3D à afficher afin d’améliorer la performance au rendu (même si le développement de cet outil a officiellement cessé en 2010).

… mais pas seulement !

GPUOpen ne profitera pas seulement au secteur du jeu vidéo, mais aussi pour le calcul de haute performance, l’initiative Boltzmann étant incluse sous ce nom, avec un nouveau compilateur HCC, un pilote pour Linux spécifiquement optimisé pour le calcul sur GPU ou encore HIP pour la compatibilité avec CUDA.

Ils participent aussi au projet Caffe, actif dans le domaine de l’apprentissage profond (technique notamment utilisée avec succès dans la vision par ordinateur), pour lequel ils optimisent une version OpenCL (sans indiquer d’avantage en performance par rapport à cuDNN, l’option de NVIDIA).

Du libre aussi pour Linux

Le dernier point mis en avant par AMD pour ce projet GPUOpen est la mise en place effective de leur architecture de pilote libre pour leurs cartes graphiques. La performance des pilotes actuellement fournis par AMD n’est pas optimale pour tous les types d’utilisation, étant parfois largement dépassés par l’implémentation complètement libre Radeon — les deux étant souvent décrits comme largement en deçà des attentes, notamment pour les machines Steam.

La nouvelle architecture, déjà annoncée l’année dernière, s’articule autour d’une partie libre — AMDGPU —, directement incluse dans le noyau Linux. Cette partie n’aura aucune implémentation des piles graphiques telles que OpenGL ou Vulkan — totalement inutiles dans les applications de calcul pur.

Ensuite, les implémentations libre et propriétaire pourront diverger pour tout ce qui concerne OpenGL, l’accélération du décodage de vidéos, OpenCL et HSA. L’implémentation propriétaire d’OpenCL et de Vulkan devrait être distribuée en libre dans le futur, un mouvement qui n’est pas encore prévu pour OpenGL. Les fonctionnalités spécifiques aux cartes professionnelles FirePro seront, bien évidemment, uniquement propriétaires, même si rien n’empêche l’implémentation libre de les fournir.

Ces suppléments au pilote noyau fonctionneront entièrement en espace utilisateur, ce qui devrait améliorer la sécurité de l’implémentation et diminuer le nombre de changements de contexte utilisateur-noyau.

Sources : présentation d’AMD, Direkte Kontrolle der Radeon-Hardware für Spieleentwickler, AMD Further Embraces Open Source with GPUOpen, for Games and Compute, AMD embraces open source to take on Nvidia’s GameWorks.

Merci à Claude Leloup pour ses corrections.

Altera annonce le premier FPGA lié à de la mémoire superposée HBM2

Pour les processeurs graphiques, une limite fondamentale est depuis longtemps la mémoire, très lente par rapport aux débits que peut traiter un processeur : le bus est relativement rapide (de l’ordre de deux cents mégabits par seconde pour de la GDDR5), mais insuffisant pour tenir toutes les unités de calcul en activité (plus d’un térabit par seconde requis). L’avancée la plus récente (présente dans la série AMD Fiji et dans la prochaine génération côté NVIDIA) est le remplacement de cette mémoire par des composants embarqués sur la puce du GPU par le biais d’un interposeur (d’où l’appellation de « mémoire empilée »), notamment HBM (high bandwidth memory) — une technologie équivalente au HMC (hybrid memory cube) utilisé par Intel pour certains processeurs. Les gains promis en bande passante sont de l’ordre d’un facteur dix !

Cette technologie — HBM — est maintenant également disponible sur certains FPGA d’Altera, avec le même genre d’intégration. Par rapport aux processeurs traditionnels (CPU ou GPU), ils ont l’avantage d’être entièrement configurable : ils n’ont pas d’instructions fixes, puisque l’utilisateur peut assembler comme il le souhaite les portes logiques pour adapter le matériel à ses besoins. L’avantage n’est pas de traiter des tâches plus spécifiques (les processeurs traditionnels peuvent toutes les effectuer), mais bien plus efficacement (en temps ou en énergie).

Cette innovation sera utile dans les cas où la mémoire est une limite (pas tellement pour les gains en énergie, bien que la technologie permette de réduire par deux tiers l’énergie requise par bit transféré), comme dans l’apprentissage automatique ou le traitement de flux vidéo 8K : les quantités de données à gérer sont alors astronomiques, avec parfois des garanties de délai à maintenir — et empêche d’implémenter des fonctionnalités plus avancées, qui demandent plus de calculs.

Les premiers prototypes seront envoyés à des clients choisis en 2016 et seront disponibles plus largement en 2017. Avec le rachat d’Altera par Intel, il reste à voir si ces FPGA seront également intégrés dans certains processeurs Xeon Phi (les prochains seront pourvus de mémoire HMC), notamment pour contrer le partenariat entre IBM et Xilinx.

Source : communiqué de presse, Intel and Altera Develop World’s First HBM2, 2.5D Stacked, SiPs With Integrated Stratix 10 FPGA and SoC Solution.

[SC15] Collaboration entre IBM et Xilinx

La conférence ACM/IEEE Supercomputing 2015 (SC15) est un haut lieu américain dédié aux superordinateurs, l’occasion pour les fabricants de présenter leurs dernières avancées dans de domaine. Ce lundi, IBM et Xilinx ont annoncé un partenariat stratégique autour de leurs FPGA et de leur intégration dans des systèmes OpenPOWER, principalement en ce qui concerne le calcul scientifique. Là où un processeur traditionnel (qualifié, par les électroniciens, d’ASIC — application-specific integrated circuit) est prévu uniquement pour certaines opérations, qui correspondent à des circuits gravés en dur dans le silicium, les FPGA (field-programmable gate array) peuvent se reconfigurer à l’envi : conceptuellement, ils peuvent créer des instructions spécifiques pour le traitement demandé, ce qui leur permet d’atteindre une performance extrême — et une efficacité énergétique plus importante.

De manière générale, les accélérateurs sont de plus en plus utilisés dans les superordinateurs pour contrebalancer la faiblesse de la croissance de la performance des CPU traditionnels. Par exemple, une bonne proportion du Top 500 des machines les plus puissantes au monde utilise ces accélérateurs (principalement des GPU) pour atteindre les sommets. Les FPGA sont également très présents sur le marché de niche du calcul de haute performance, notamment grâce à leur flexibilité : un CPU ou un GPU a une architecture invariable et adaptée à des situations différentes, quand un FPGA peut s’adapter à toutes les situations, bien qu’avec des fréquences moindres. Par exemple, Altera indique que, avec leurs produits, l’apprentissage d’un réseau neuronal profond peut s’effectuer deux fois plus vite que sur un GPU.

Pour l’instant, en calcul de haute performance, les FPGA sont plutôt intégrés comme des cartes d’extension, auxquelles le processeur principal peut accéder par le bus PCI Express (comme la gamme Virtex de Xilinx ou une des cartes proposées par Altera). L’objectif est d’arriver à un plus haut niveau d’intégration, comme Intel avec le rachat en juin d’Altera, grand concurrent de Xilinx — toujours pour tendre vers des systèmes de plus en plus intégrés, y compris comme AMD et ses APU, mêlant CPU et GPU sur une même puce.

Le niveau d’intégration de la technologie de Xilinx était déjà bon dans la plateforme POWER, en exploitant l’interface CAPI, spécifique à POWER et prévue pour la connexion vers tous les accélérateurs. Cette annonce marque surtout que les FPGA sont de plus en plus utiles et qu’IBM souhaite un partenariat plus privilégié avec au moins un fabricant qu’une simple compatibilité. Xilinx dispose maintenant d’un siège au conseil d’administration du consortium OpenPOWER, probablement au détriment d’Altera, suite au rachat par Intel.

Source : IBM and Xilinx Announce Strategic Collaboration to Accelerate Data Center Applications, IBM & Xilinx @ SC15: Collaborating For Better POWER/FPGA System Integration.

AMD se lance dans le HPC

Malgré quelques superordinateurs utilisant ses processeurs Opteron (notamment, le deuxième le plus puissant), d’autres plus nombreux ses processeurs graphiques Firepro, AMD est loin d’être une figure proéminente du HPC. Dans un article paru dans la revue IEEE Micro (Achieving Exascale Capabilities through Heterogeneous Computing), le fondeur semble vouloir prendre sa revanche, avec une surenchère sur les annonces récentes d’Intel.

Leur prochain APU (accelerated processing unit), mêlant des parties CPU et GPU, sera nommé EHP, pour exascale heterogeneous processor. En peu de mots, de processeur devrait contenir trente-deux cœurs CPU, plusieurs milliers de cœurs GPU avec une mémoire jusqu’à trente-deux gigaoctets, directement intégrée à la puce. Là où Intel prévoit d’utiliser la technologie HMC, AMD profite de son partenariat avec SK Hynix et intègre HBM2. Ce processeur très spécifique pourrait être disponible en 2016-2017 au plus tôt.

Cette nouvelle puce est exclusivement prévue pour le monde des supercalculateurs, où la course à l’exaflops (un milliard de milliards d’opérations en virgule flottante, avec une précision de soixante-quatre bits) est lancée. La solution conçue par AMD propose des superordinateurs s’étendant sur cent mille nœuds de calcul, chacun fournissant de l’ordre de dix teraflops de puissance de calcul : en comparaison, le superordinateur le plus puissant actuellement, Tianhe-2, s’étend sur seize mille nœuds, chacun fournissant approximativement deux téraflops.

Une telle machine nécessiterait cependant encore beaucoup de recherche, notamment au niveau de l’interconnexion des nœuds, mais également de la consommation énergétique : Tianhe-2 a besoin d’un peu moins de vingt-cinq mégawatts en comptant le refroidissement, un quarantième de la production d’un réacteur nucléaire moyen (utiliser le même système pour atteindre l’exaflops nécessiterait tout un réacteur !). Les projections actuelles font état d’une efficacité de l’ordre de quarante à cinquante gigaflops pare watt pour les nouvelles puces AMD.

Un nouveau paradigme est donc requis. Il est très similaire à celui déjà utilisé : complémenter les CPU avec des accélérateurs. AMD propose d’intégrer ces accélérateurs directement sur la même puce que le processeur principal, afin notamment de partager la même mémoire et de ne pas être limité par les bus disponibles, y compris à l’intérieur d’un nœud de calcul — les déplacements de données forment également une bonne partie de la consommation énergétique d’un supercalculateur. D’autres avantages incluent une meilleure densité de performance, mais également l’absence de recours à un système d’exploitation pour une série de tâches (une tâche exécutée sur le GPU pourrait lancer de nouvelles tâches sur le GPU ou le CPU sans nécessiter d’appel aux pilotes ou au système d’exploitation). Les parties CPU pourraient s’occuper des éléments de calcul difficiles à paralléliser, c’est-à-dire les parties qui ne peuvent pas être lancées efficacement sur les accélérateurs.

Cependant, AMD ne propose pas d’intégrer tous les composants dans la puce elle-même : notamment, elle disposerait de huit canaux DDR4 pour l’accès à de la mémoire supplémentaire, ajoutée sous la forme de barrettes plus traditionnelles, jusqu’à atteindre les besoins actuels en mémoire. Chaque canal pourrait adresser jusqu’à deux cent cinquante-six gibioctets de mémoire (c’est-à-dire deux tébioctets en tout). Au niveau de l’architecture globale, chaque cœur aurait des deux fils d’exécution du cœur, avec un cache cache L2 d’un demi-kibioctet ; chaque groupe de quatre cœurs partagerait un cache L3 de huit mébioctets. La conception globale pourrait s’accommoder de cœurs x86 ou ARM.

Au vu de ces caractéristiques, il semble peu probable, au vu des techniques de lithographie actuelles, que tout ce petit monde tienne sur la même pastille : le processeur serait séparé en deux parties, chacune ayant seize cœurs, plus la partie GPU, rassemblées par un interposeur, d’ores et déjà nécessaire pour intégrer la mémoire HBM2.

Sources : AMD Reveals the Monsterous ‘Exascale Heterogeneous Processor’ (EHP) with 32 x86 Zen Cores and Greenland HBM2 Graphics on a 2.5D Interposer, AMD’s Exascale Strategy Hinges on Heterogeneity, AMD announces EHP (exascale heterogeneous processor), High performance AMD APU

La nouvelle mouture de l’Intel Xeon Phi approche

Pour contrecarrer le mouvement des processeurs graphiques (GPU) dans le domaine du calcul scientifique de haute performance (HPC), Intel a lancé en 2013 ses coprocesseurs Xeon Phi. L’idée principale est de fournir un grand nombre de cœurs (une soixantaine pour la première génération), atout principal des GPU (les modèles actuels montent à plusieurs milliers de cœurs). La première génération de Xeon Phi est notamment utilisée dans le supercalculateur chinois Tianhe-2, le plus puissant au monde depuis sa construction en 2013, selon le classement Top500.

Cependant, comme pour les GPU, ces cœurs sont très différents de ceux des processeurs plus traditionnels (comme les gammes Core i3-7 d’Intel, par exemple) : ils sont nettement moins véloces, avec des fréquences de l’ordre du gigahertz — le parallélisme de ces coprocesseurs est leur principale caractéristique. Néanmoins, contrairement aux GPU, ils peuvent se programmer d’une manière très similaire aux processeurs classiques.

La deuxième génération est sur le point d’arriver, elle devrait être commercialisée cette année. Connue sous le nom de code Knights Landing, cette nouvelle mouture tient du superlatif pour ses caractéristiques : pas moins de septante-deux cœurs, chacun hébergeant deux unités de traitement vectoriel AVX-512 (qui travaillent sur des registres de cinq cent douze bits) ; individuellement, ces cœurs devraient être trois fois plus rapides que précédemment. La puce elle-même est gravée avec un processus à quatorze nanomètres, ce qui se fait de mieux pour le moment, avec notamment de grands gains en termes de puissance consommée (et de chaleur dissipée).

L’architecture prévoit aussi des bus DDR4 pour la mémoire principale, mais surtout seize gigaoctets de mémoire intégrée sur la puce elle-même (avec une bande-passante jusqu’à cinq fois supérieure à celle de la DDR4, quinze fois par rapport à la DDR3, encore majoritaire dans les ordinateurs actuels). Cette mémoire sera à peu près aussi rapide que les caches L3 des processeurs actuels (bien qu’ils soient limités à quelques mégaoctets !), avec une bande passante de cinq cents gigaoctets par seconde.

Cette super-mémoire cache utilisera l’interface HMC (hybrid memory cube), concurrente de HBM (high bandwidth memory) en cours de déploiement sur les processeurs graphiques (les cartes Fury remettent AMD à l’avant-plan en termes de performance). In fine, un tel processeur pourra proposer une puissance de calcul de l’ordre de trois téraflops, c’est-à-dire trois mille milliards d’opérations en virgule flottante par seconde.

Une autre nouveauté par rapport à la génération précédente est que ces coprocesseurs pourront servir de processeurs principaux et faire fonctionner le système d’exploitation de la machine. L’intérêt majeur est de se débarrasser d’une connexion par bus PCI-Express, qui limitait la performance de son prédécesseur (une constatation partagée par le concurrent NVIDIA, qui s’apprête à proposer sa technologie NVLink).

Au niveau de la communication, Intel s’apprête également à communiquer plus d’informations sur son Omni Path, une interface d’interconnexion entre nœuds dans un supercalculateur. Intel s’apprête ainsi à marcher sur les platebandes de géants comme InfiniBand, avec une technologie présentée comme supérieure. Notamment, les latences de communication devraient être de l’ordre de cent nanosecondes, quand InfiniBand monte à presque deux microsecondes, Ethernet à dix à cent microsecondes.

Chaque processeur Xeon Phi Knights Landing aura deux ports Omni Path. L’objectif semble être l’intégration verticale dans les supercalculateurs, Intel ayant annoncé un partenariat avec HP pour la construction de serveurs autour des technologies HPC d’Intel, rassemblées sous le nom de SSF (scalable system framework), dans le contexte de la gamme Apollo de HP.

Sources et crédit images : Intel’s Xeon Phi 14nm ‘Knights Landing’ Co-Processors Detailed – OmniPath Architecture 100 Series and 16GB HMC on a 2.5D Interposer et Quick Note: Intel “Knights Landing” Xeon Phi & Omni-Path 100 @ ISC 2015.