Graphcore annonce ses IPU-POD128/256 et se renforce sur Docker Hub

Je fais un peu de place dans mon salon
Graphcore annonce ses IPU-POD128/256 et se renforce sur Docker Hub

Dans le domaine des accélérateurs spécialisés dans les calculs liés à l'intelligence artificielle, l'anglais Graphcore marche depuis quelque temps sur les platebandes des géants américains. La société continue d'étendre son offre avec deux nouveaux « Pods ». Des évolutions suivent côté logiciel.

Cela fait quelques années maintenant que Graphcore a lancé ses IPU (Intelligence Processing Unit) et son Poplar SDK, des accélérateurs visant spécialement le domaine de l'IA et des clients ayant de gros besoins en la matière. L'entreprise est d'ailleurs partenaire du projet de processeur européen pour supercalculateurs porté par SiPearl.

Cette solution se veut en effet moins généraliste que les GPU mais plus efficace. La seconde génération, Colossus MK2 (GC2000) revendique ainsi 1 472 unités de calcul, 8 832 program threads pouvant être exécuté en parallèle, 900 Mo de cache, 47,5 To/s de bande passante mémoire, 8 To/s pour l'échange inter-IPU (all-to-all) avec une dizaine de liens à 320 Go/s (puce à puce) et une connectique PCIe 4.0 x16 (32 Go/s) pour les relier au le reste du système.

Graphcore Colossus MK2 GC200

De la puissance de calcul empilable sur le réseau

Un petit monstre de 59,7 milliards de transistors (823 mm²), fabriqué en 7 nm chez TSMC, annonçant 250 TFLOPS de puissance de calcul FP16. Un chiffre impressionnant, néanmoins en retrait désormais face à des solutions comme les MI250(X) d'AMD au format OAM qui annoncent jusqu'à 383 TFLOPS (560 watts de TDP).

Mais la solution de Graphcore est commercialisée sous la forme de serveurs 1U (728 mm de profondeur), le M2000. Il embarque quatre IPU à 1,325 GHz, soit 1 PFLOPS (FP16) et 250 TFLOPS (FP32) avec deux modules de DDR4-2400. Jusqu'à 512 Go sont gérés (2x 64 Go par défaut), avec 448 Go maximum attribués aux puces (Streaming Memory).

Le tout annonce une consommation typique de 1 100 watts, soit 275 watts par IPU (intégrant également les autres composants). Le serveur disposant d'une alimentation redondante (1+1) de 1 500 watts (SSI Slim 54 mm). Il est passif, un large bloc de dissipation étant présent au centre, relié à chaque puce par six caloducs.

Le flux d'air nominal est de 60 CFM, de l'avant vers l'arrière, mais peut être assuré de manière inverse sur demande. Il est assuré par 5 ventilateurs (N+1) échangeables à chaud. Le tout pèse 16.395 kg.

GraphCore IPU-M2000GraphCore IPU-M2000

32 Go d'eMMC et 1 To de stockage M.2 sont présents. Ne cherchez pas de processeur central EPYC ou Xeon, il n'y en a pas. On note tout de même la présence d'un « Gateway SoC » qui est en réalité une solution ARM à quatre cœurs gérant le système et les interconnexions. Outre les deux ports RJ45 à 1 Gb/s pour la gestion distante (OpenBMC AST2520), huit ports de « synchronisation » sont présents, à utiliser en cas d'empilage (stacking) de serveurs.

Cette procédure, qui vient en complément d'un usage « Direct attach », nécessite d'ailleurs d'autres liens. Tout d'abord parce que ces baies doivent in fine être reliées à un hôte, une carte réseau 2x 100 Gb/s (QSFP, RoCE v2, PCIe 4.0 x16) étant présente pour cela. Mais aussi parce que les puces échangent directement entre elles d'un serveur à l'autre via 8 IPU-Link (OSFP, 512 Gb/s) soit un total de 2 Tb/s de débit bi-directionnel.

IPU-POD : un pack « clé en main »

Pour faciliter la mise en œuvre de telles solutions, des « Pods » sont commercialisés, leur référence indiquant le nombre d'IPU intégrés au total. Graphcore compte déjà plusieurs partenaires comme Dell, Inspur, SuperMicro et le français Atos. La version de base est l'IPU-POD4 qui prend la forme d'un serveur accompagné d'un serveur hôte. 

Des solutions POD16 et POD64 ont été commercialisées depuis, cette dernière prenant la forme d'un ensemble 16U pouvant atteindre 16 PFLOPS (FP16) ou 4 PFLOPS (FP32), livré avec les serveurs et switchs nécessaires à son bon fonctionnement. Récemment, Graphcore a officialisé ses POD128 et POD256.

L'entreprise revendique un scaling des résultats de 91 % et 95 % lors du passage de 64 à 128 puis à 256 IPU sur l'entraînement de certains modèles comme ResNet50 (v1.5, TensorFlow). Elle précise que dans de telles architectures, les deux (Gateway Links) sont utilisées pour assurer une connexion inter-racks.

  • GraphCore IPU POD Interconnexions
  • GraphCore IPU POD Interconnexions
  • GraphCore IPU POD Interconnexions
  • GraphCore IPU POD Interconnexions
  • GraphCore IPU POD Interconnexions
  • GraphCore IPU POD Interconnexions
  • GraphCore IPU POD Interconnexions
  • GraphCore IPU POD Interconnexions

En effet, il s'agit de la combinaison de plusieurs POD64 reliés entre eux par ces connecteurs permettant d'encapsuler un IPU-Link au sein d'un flux Ethernet à 100 Gb/s. La fiche technique est disponible ici.

Ils se destinent « aux hyperscalers dans le cloud, aux laboratoires de calcul scientifique et de recherche axés IA en entreprise, ainsi qu'aux équipes IA actives dans les milieux financier et pharmaceutique afin qu’ils puissent augmenter leur capacité de calcul » selon Graphcore. Korea Telecom est ainsi le premier client à déployer des IPU-POD128 au sein de son infrastructure. Cirrascale les proposera également via son offre cloud.

Actuellement, un IPU-POD64 est facturé 20 000 dollars la semaine, 64 000 dollars par mois ou encore 475 000 dollars par an. Notez au passage qu'outre des évolutions de ses couches logicielles, Graphcore vient d'annoncer qu'il était désormais membre du Verified Publisher Program de Docker, y proposant notamment son Poplar SDK.

2000 - 2021 INpact MediaGroup - SARL de presse, membre du SPIIL. N° de CPPAP 0326 Z 92244.

Marque déposée. Tous droits réservés. Mentions légales et contact