L’un des déficits critiques d’Intel par rapport à ses concurrents dans sa plate-forme de serveurs est le nombre de cœurs – d’autres sociétés activent plus de cœurs par l’une des deux voies suivantes : des cœurs plus petits ou des puces individuelles connectées ensemble. Lors de son Architecture Day 2021, Intel a dévoilé des caractéristiques de sa plate-forme Xeon Scalable de nouvelle génération, dont le passage à une architecture en mosaïque. Intel est configuré pour combiner quatre tuiles/chiplets via ses ponts intégrés rapides, conduisant à une meilleure évolutivité du processeur à un nombre de cœurs plus élevé. Dans le cadre de la divulgation, Intel a également développé sa nouvelle technologie Advanced Matrix Extension (AMX), la prise en charge de CXL 1.1, DDR5, PCIe 5.0 et une architecture d’interfaçage d’accélérateur qui pourrait conduire à des processeurs Xeon personnalisés à l’avenir.

Qu’est-ce que Sapphire Rapids ?

Construit sur un processus Intel 7, Sapphire Rapids (SPR) sera le processeur de serveur Xeon Scalable de nouvelle génération d’Intel pour sa plate-forme Eagle Stream. En utilisant ses derniers cœurs de processeur Golden Cove que nous avons détaillés la semaine dernière, Sapphire Rapids rassemblera un certain nombre de technologies clés pour Intel : Acceleration Engines, support natif FP16 demi-précision, DDR5, 300-Series Optane DC Persistent Memory, PCIe 5.0, CXL 1.1, un UPI plus large et plus rapide, sa toute dernière technologie de pontage (EMIB), une nouvelle QoS et télémétrie, HBM et une accélération spécialisée de la charge de travail.

Prévu pour être lancé en 2022, Sapphire Rapids sera le premier produit CPU moderne d’Intel à tirer parti d’une architecture multi-dies qui vise à minimiser la latence et à maximiser la bande passante grâce à sa technologie Embedded Multi-Die Interconnect Bridge. Cela permet des cœurs plus performants (Intel n’a pas encore dit combien), en mettant l’accent sur les « métriques importantes pour sa clientèle, telles que les performances des nœuds et les performances du centre de données ». Intel appelle SPR le « plus grand saut dans les capacités DC en une décennie ».

Les principaux avantages sont faciles à souligner. PCIe 5.0 est une mise à niveau par rapport à la génération précédente Ice Lake PCIe 4.0, et nous passons de six contrôleurs de mémoire 64 bits de DDR4 à huit contrôleurs de mémoire 64 bits de DDR5. Mais les améliorations les plus importantes concernent les cœurs, les accélérateurs et l’emballage.

Golden Cove : un noyau hautes performances avec AMX et AIA

En utilisant la même conception de base sur sa plate-forme d’entreprise Sapphire Rapids et sa plate-forme grand public Alder Lake, il existe certaines des mêmes synergies que celles que nous avons vues au début des années 2000 lorsque Intel a fait la même chose. Nous avons couvert Golden Cove en détail dans notre plongée profonde sur l’architecture d’Alder Lake, mais voici un bref récapitulatif:

Le nouveau cœur, selon Intel, générera un gain d’IPC de +19% dans les charges de travail à thread unique par rapport à Cypress Cove, qui était le backport d’Intel d’Ice Lake. Cela se résume à quelques grands changements de base, notamment :

  • Décodage de longueur 16B → 32B
  • Décodage 4 largeurs → 6 largeurs
  • 5K → 12K cibles de branchement
  • 2,25K → Cache op 4K
  • 5 → 6 allocation large
  • 10 → 12 ports d’exécution
  • 352 → Tampon de réorganisation de 512 entrées

L’objectif de tout cœur est de traiter plus de choses plus rapidement, et la nouvelle génération essaie de le faire mieux qu’avant. De nombreux changements d’Intel ont du sens, et ceux qui veulent des détails plus approfondis sont encouragés à lire notre plongée en profondeur.

Il existe des différences majeures entre la version grand public de ce noyau à Alder Lake et la version serveur à Sapphire Rapids. Le plus évident est que la version grand public n’a pas d’AVX-512, alors que SPR l’aura activé. SPR dispose également d’un cache L2 privé de 2 Mo par cœur, tandis que le modèle grand public dispose de 1,25 Mo. Au-delà de cela, nous parlons d’Advanced Matrix Extensions (AMX) et d’une nouvelle Accelerator Interface Architecture (AIA).

Jusqu’à présent, dans les cœurs de processeur d’Intel, nous avons un fonctionnement scalaire (normal) et un fonctionnement vectoriel (AVX, AVX2, AVX-512). La prochaine étape à partir de cela est un solveur matriciel dédié, ou quelque chose qui s’apparente à un cœur de tenseur dans un GPU. C’est ce que fait AMX, en ajoutant un nouveau fichier de registre extensible avec des instructions AMX dédiées sous la forme d’instructions TMUL.

AMX utilise huit registres de 1024 bits pour les opérateurs de données de base, et grâce aux références de mémoire, les instructions TMUL fonctionneront sur des tuiles de données utilisant ces registres de tuiles. Le TMUL est pris en charge par un coprocesseur de moteur dédié intégré au cœur (dont chaque cœur en a un), et la base derrière AMX est que TMUL n’est qu’un de ces coprocesseurs. Intel a conçu AMX pour qu’il soit plus large que cela – dans le cas où Intel approfondirait sa stratégie multi-dies en silicium, à un moment donné, nous pourrions voir des accélérateurs personnalisés activés via AMX.

Intel a confirmé que nous ne devrions pas voir de baisses de fréquence pires qu’AVX – il existe de nouveaux contrôleurs de puissance à grain fin par cœur lorsque des instructions vectorielles et matricielles sont invoquées.

Cela alimente assez bien la discussion sur AIA, la nouvelle interface d’accélérateur. Généralement, lors de l’utilisation de cartes accélératrices d’extension, les commandes doivent naviguer entre le noyau et l’espace utilisateur, configurer la mémoire et diriger toute virtualisation entre plusieurs hôtes. La façon dont Intel décrit sa nouvelle interface Acceleration Engine revient à parler à un périphérique PCIe comme s’il s’agissait simplement d’un accélérateur intégré au processeur, même s’il est connecté via PCIe.

Initialement, Intel disposera de deux bits de matériel AIA capables.

La technologie Intel Quick Assist (QAT) en est une que nous avons déjà vue, car elle a été présentée dans des variantes spéciales du chipset de Skylake Xeon (qui nécessitait un lien PCIe 3.0 x16) ainsi qu’une carte PCIe complémentaire – cette version prendra en charge jusqu’à Cryptographie symétrique 400 Gb/s, ou jusqu’à 160 Gb/s de compression plus 160 Gb/s de décompression simultanément, soit le double de la version précédente.

L’autre est l’accélérateur de streaming de données (DSA) d’Intel. Intel dispose d’une documentation sur DSA sur le Web depuis 2019, indiquant qu’il s’agit d’un accélérateur de copie et de transformation de données hautes performances pour la diffusion en continu de données depuis le stockage et la mémoire ou vers d’autres parties du système via une unité matérielle de remappage DMA/IOMMU. DSA a été une demande de clients hyperscaler spécifiques, qui cherchent à le déployer dans leur propre infrastructure cloud interne, et Intel tient à souligner que certains clients utiliseront DSA, certains utiliseront la nouvelle unité de traitement d’infrastructure d’Intel, tandis que d’autres utiliseront les deux, selon le niveau d’intégration ou d’abstraction qui les intéresse. Intel nous a dit que DSA est une mise à niveau par rapport au moteur DMA de Crystal Beach qui était présent sur les plates-formes Purley (SKL+CLX).

En plus de tout cela, Sapphire Rapids prend également en charge les instructions AVX512_FP16 pour la demi-précision, principalement pour les charges de travail d’IA dans le cadre de sa stratégie DLBoost (Intel était assez silencieux sur DLBoost pendant l’événement). Ces commandes FP16 peuvent également être utilisées dans le cadre d’AMX, avec le support INT8 et BF16. Intel prend désormais également en charge CLDEMOTE pour la gestion de la ligne de cache.

Un petit mot sur CXL

Tout au long des présentations de Sapphire Rapids, Intel a tenu à souligner qu’il prendra en charge CXL 1.1 au lancement. CXL est une norme de connectivité conçue pour gérer bien plus que ce que PCIe fait – en plus d’agir simplement comme un transfert de données d’un hôte à un périphérique, CXL a trois branches à prendre en charge, appelées IO, Cache et Memory. Tels que définis dans les normes CXL 1.0 et 1.1, ces trois constituent la base d’une nouvelle façon de connecter un hôte à un périphérique.

Naturellement, nous nous attendions à ce que tous les appareils CXL 1.1 prennent en charge ces trois normes. Ce n’est que quelques jours plus tard à Hot Chips que nous avons appris que Sapphire Rapids ne prend en charge qu’une partie de la norme CXL, en particulier CXL.io et CXL.cache, mais CXL.memory ne ferait pas partie de SPR. Nous ne savons pas dans quelle mesure cela signifie que SPR n’est pas conforme à CXL 1.1, ou ce que cela signifie pour les appareils CXL 1.1 – sans CXL.mem, selon le schéma ci-dessus, tout ce qu’Intel perd est la prise en charge du type 2. C’est peut-être plus une indication que le marché autour de CXL est mieux servi par CXL 2.0, qui viendra sans aucun doute dans un produit ultérieur.

Dans la page suivante, nous examinons la nouvelle architecture en mosaïque d’Intel pour Sapphire Rapids.