AMD a breveté un processeur doté d’un accélérateur d’apprentissage automatique (ML) qui est empilé au-dessus de sa matrice d’E/S (IOD). Le brevet indique qu’AMD pourrait envisager de construire des systèmes sur puces (SoC) à usage spécial ou de centre de données avec des accélérateurs d’apprentissage automatique intégrés basés sur FPGA ou GPU.
Tout comme AMD peut désormais ajouter du cache à ses processeurs, il peut ajouter un FPGA ou un GPU au-dessus de la matrice d’E/S de son processeur. Mais, plus important encore, la technologie permet à l’entreprise d’ajouter d’autres types d’accélérateurs aux futurs SoC CPU. Comme pour tout travail breveté, le brevet ne garantit pas que nous verrons des conceptions avec la technologie arriver sur le marché. Cependant, cela nous donne une idée de la direction dans laquelle l’entreprise évolue avec sa R&D, et il y a une chance que nous puissions voir des produits basés sur cette technologie, ou un dérivé proche, arriver sur le marché.
Empiler l’accélérateur AI/ML sur une matrice d’E/S
Le brevet d’AMD intitulé «Accélérateur d’apprentissage automatique à connexion directe» décrit assez ouvertement comment AMD pourrait ajouter un accélérateur ML à ses processeurs avec un IOD en utilisant ses technologies d’empilement. Apparemment, la technologie d’AMD lui permet d’ajouter une matrice de traitement programmable sur le terrain (FPGA) ou un GPU de calcul pour les charges de travail d’apprentissage automatique au-dessus d’une matrice d’E/S avec un port d’accélérateur spécial.
AMD décrit plusieurs moyens d’ajouter un accélérateur : l’un implique un accélérateur avec sa propre mémoire locale, un autre implique qu’un tel accélérateur utilise de la mémoire connectée à un IOD, tandis que dans le troisième scénario, un accélérateur pourrait éventuellement utiliser de la mémoire système, et dans ce cas cas, il n’a même pas besoin d’être empilé sur un IOD.
Les techniques d’apprentissage automatique seront largement utilisées par les futurs centres de données. Cependant, pour être plus compétitif, AMD doit accélérer les charges de travail ML à l’aide de ses puces. L’empilement d’un accélérateur d’apprentissage automatique sur une matrice d’E/S de CPU lui permet d’accélérer considérablement les charges de travail ML sans intégrer de coûteux silicium optimisé ML personnalisé dans les puces CPU. Il offre également des avantages en matière de densité, de puissance et de débit de données.
Le brevet a été déposé le 25 septembre 2020, un peu plus d’un mois avant qu’AMD et Xilinx n’annoncent que leurs équipes dirigeantes étaient parvenues à un accord définitif en vertu duquel AMD rachèterait Xilinx. Le brevet a été publié le 31 mars 2022, avec le collègue AMD Maxim V. Kazakov répertorié comme l’inventeur. Les premiers produits d’AMD avec Xilinx IP sont attendus en 2023.
Nous ne savons pas si AMD utilisera son brevet pour de vrais produits, mais l’élégance d’ajouter des capacités ML à presque tous les processeurs rend l’idée plausible. En supposant que les processeurs EPYC « Genoa » et « Bergamo » d’AMD utilisent une matrice d’E/S avec un port d’accélérateur, il pourrait bien y avoir des processeurs Genoa-AI et Bergamo-AI avec un accélérateur ML.
Il convient également de noter que la rumeur veut qu’AMD envisage une puissance de conception thermique configurable (cTDP) de 600 W pour ses processeurs EPYC ‘Turin’ de 5e génération, ce qui est plus de deux fois supérieur au cTDP de la série EPYC 7003 de génération actuelle. Processeurs « Milan ». De plus, la plate-forme AMD SP5 d’AMD pour les processeurs EPYC de 4e et 5e génération fournit jusqu’à 700 W de puissance pendant de très courtes périodes aux processeurs.
Nous ne savons pas de combien de puissance les futurs processeurs AMD 96 – 128 (Genoa et Bergamo) auront besoin, mais l’ajout d’un accélérateur ML dans le package du processeur augmentera certainement la consommation. À cette fin, il est tout à fait logique de s’assurer que les plates-formes de serveurs de nouvelle génération seront effectivement capables de prendre en charge les processeurs avec des accélérateurs empilés.
Construire des SoC de centre de données ultimes
AMD parle d’unités de traitement accéléré (APU) de centre de données depuis l’acquisition d’ATI Technologies en 2006. Au cours des 15 dernières années, nous avons entendu parler de plusieurs projets d’APU de centre de données intégrant des cœurs x86 à usage général pour les charges de travail typiques et des GPU Radeon pour des applications hautement parallèles. charges de travail.
Aucun de ces projets ne s’est jamais concrétisé, et il y a plusieurs raisons à cela. Dans une certaine mesure, parce que les cœurs Bulldozer d’AMD n’étaient pas compétitifs, cela n’avait pas beaucoup de sens de construire une puce volumineuse et coûteuse qui pourrait être en demande très limitée. Une autre raison est que les GPU Radeon conventionnels ne prenaient pas en charge tous les formats de données et instructions requis pour les charges de travail des centres de données/IA/ML/HPC, et le premier GPU basé sur le CDNA centré sur le calcul d’AMD n’est apparu qu’en 2020.
Mais maintenant qu’AMD dispose d’une microarchitecture x86 compétitive, d’une architecture GPU orientée calcul, d’un portefeuille de FPGA de Xilinx et d’une famille de processeurs programmables de Pensando, il n’est peut-être pas très logique de mettre ces divers blocs IP dans une seule grande puce. . Bien au contraire, avec les technologies de packaging actuelles proposées par TSMC et la propre technologie d’interconnexion Infinity Fabric d’AMD, il est beaucoup plus logique de construire des modules multi-tuiles (ou multi-chiplets) dotés de puces de processeur x86 à usage général, une matrice d’E/S comme ainsi que des accélérateurs basés sur GPU ou FPGA.
En fait, il est plus logique de construire un processeur de centre de données multi-chiplet plutôt qu’un grand processeur monolithique avec une IP diversifiée intégrée. Par exemple, un APU de centre de données multi-tuiles pourrait bénéficier d’une tuile CPU fabriquée à l’aide du nœud optimisé pour les performances N4X de TSMC ainsi que d’une tuile d’accélérateur GPU ou FPGA produite à l’aide d’une technologie de processus N3E à densité optimisée.
Port d’accélérateur universel
Une autre partie importante du brevet n’est pas une implémentation particulière conçue pour accélérer les charges de travail d’apprentissage automatique à l’aide d’un FPGA ou d’un GPU de calcul, mais le principe d’ajouter un accélérateur à usage spécial à n’importe quel CPU. Le port d’accélérateur sera une interface universelle présentée sur les matrices d’E/S d’AMD, donc à terme, AMD pourrait ajouter d’autres types d’accélérateurs à ses processeurs destinés aux applications clientes ou de centre de données.
« Il doit être entendu que de nombreuses variantes sont possibles sur la base de la divulgation ici », lit-on dans la description du brevet. « Les processeurs appropriés comprennent, à titre d’exemple, un processeur à usage général, un processeur à usage spécial, un processeur conventionnel, un processeur graphique, un processeur d’apprentissage automatique, [a DSP, an ASIC, an FPGA]et d’autres types de circuits intégrés (CI). […] De tels processeurs peuvent être fabriqués en configurant un processus de fabrication à l’aide des résultats d’instructions en langage de description matérielle (HDL) traitées et d’autres données intermédiaires, y compris des netlists (ces instructions pouvant être stockées sur un support lisible par ordinateur). »
Alors que les FPGA, les GPU et les DSP pourraient être utilisés pour une variété d’applications même aujourd’hui, des éléments tels que les unités de traitement de données (DPU) pour les centres de données ne gagneront en importance que dans les années à venir. Les DPU sont essentiellement une application émergente qu’AMD possède maintenant. Mais à mesure que le centre de données se transforme pour traiter encore plus de types de données et plus rapidement (tout comme les PC clients, comme la façon dont Apple intègre l’accélération spécifique à l’application, comme pour ProRes RAW, dans ses SoC clients), les accélérateurs deviennent de plus en plus courants. Cela signifie qu’il doit y avoir un moyen de les ajouter à n’importe quel processeur de serveur, ou presque. En effet, le port accélérateur d’AMD est un moyen relativement simple de le faire.