Le HBM-PIM est une variante de la mémoire à bande passante élevée qui a été présentée par Samsung en 2021, où son acronyme PIM se traduit par « Processing in Memory », ce qui signifie que nous sommes confrontés à une variante avec un processeur intégré à l'intérieur . Comment se présente ce type de HBM à capacité process, à qui s'adresse-t-il et quelle est son utilité ?
La première chose qu'il faut comprendre, au moment de la rédaction de cet article, c'est que le HBM-PIM n'est pas un standard approuvé par le JEDEC, qui est le comité de 300 entreprises en charge de créer les différents standards de mémoire, qu'ils soient volatiles. ou persistant. . Pour le moment, il s'agit d'une proposition et d'un design de Samsung, qui pourrait être converti en un nouveau type de mémoire HBM et être fabriqué par des tiers ou, à défaut, en un produit exclusif de la fonderie sud-coréenne.
Qu'il devienne un standard ou non, le HBM-PIM sera fabriqué pour l'accélérateur Alveo AI de Xilinx, une entreprise dont on se souvient qu'elle a été entièrement rachetée par AMD. Ce n'est donc pas un concept sur papier et pas un produit de laboratoire, mais ce type de mémoire HBM peut être fabriqué en grande quantité. Bien entendu, la Xilinx Álveo est une carte accélératrice basée sur FPGA qui est utilisée dans les centres de données. Ce n'est pas un produit pour le marché de masse, et nous devons garder à l'esprit qu'il ne s'agit que d'une variante de la mémoire HBM, qui en soi est très chère et rare à fabriquer, ce qui réduit son utilisation dans des produits commerciaux tels que les cartes graphiques de jeu. ou processeurs.
Le concept de l'informatique en mémoire
Les programmes que nous exécutons sur nos PC fonctionnent grâce à un mariage entre RAM et Processeur, ce qui serait parfait si nous pouvions mettre les deux sur une seule puce. Malheureusement, cela n'est pas possible et conduit à une série de goulots d'étranglement inhérents à l'architecture de tout ordinateur, un produit de la latence entre la mémoire système et l'unité centrale :
- Comme la distance est plus grande, les données sont transmises plus lentement.
- La consommation d'énergie augmente d'autant plus qu'il y a de l'espace entre l'unité de traitement qui exécute le programme et l'unité de stockage où se trouve le programme. Cela signifie que la vitesse de transfert ou la bande passante est inférieure à la vitesse de traitement.
- La manière habituelle de résoudre ce problème consiste à ajouter une hiérarchie de cache sur le CPU, le GPU ou l'APU ; qui copie les données de la RAM à l'intérieur pour un accès plus rapide aux informations nécessaires.
- D'autres architectures utilisent ce que l'on appelle la RAM Scratchpad, qui est appelée RAM embarquée, elle ne fonctionne pas automatiquement et son contenu doit être contrôlé par le programme.
La RAM intégrée au processeur a donc un problème et c'est sa capacité, où elle stocke très peu de données à l'intérieur en raison des limitations d'espace physique puisque la grande majorité des transistors sont dédiés aux instructions de traitement et non au stockage.
Le concept de calcul en mémoire fonctionne à l'envers par rapport à la DRAM ou à la SRAM embarquée puisque nous parlons de RAM à laquelle nous ajoutons une logique où les cellules de bits ont un poids plus important. Il ne s'agit donc pas d'intégrer un processeur complexe, mais un processeur spécifique au domaine et même des accélérateurs câblés ou à fonction fixe.
Et quels sont les avantages de ce type de mémoire ? Lorsqu'on exécute un programme sur n'importe quel processeur au moins pour chaque instruction, on accède à la RAM affectée audit CPU ou GPU. L'idée de l'informatique en mémoire n'est autre que d'avoir un programme stocké dans la mémoire PIM et que le CPU ou le GPU n'a qu'à utiliser une seule instruction d'appel et attendre que l'unité de traitement en mémoire informatique exécute le programme et renvoie la réponse finale au CPU, qui est libre pour d'autres tâches.
Le processeur du Samsung HBM-PIM
Un petit processeur a été intégré dans chacune des puces de la pile d'une puce HBM-PIM, de sorte que la capacité de stockage de est affectée en dirigeant des transistors qui iraient vers les cellules mémoire pour les affecter aux portes logiques qui composent le système intégré. processeur et comme nous l'avons avancé auparavant, c'est très simple.
- Il n'utilise aucun ISA connu, mais le sien avec très peu d'instructions au total : 9.
- Il a deux ensembles de 16 unités à virgule flottante avec une précision de 16 bits chacun. Le premier ensemble a la capacité d'effectuer des additions et le second d'effectuer des multiplications.
- Une unité d'exécution de type SIMD, c'est donc un processeur vectoriel.
- Ses capacités arithmétiques sont : A + B, A * B, (A + B) * C et (A * C) + B.
- La consommation d'énergie par opération est 70 % plus faible que si le CPU faisait la même tâche, il faut ici prendre en compte la relation entre la consommation d'énergie et la distance avec les données.
- Samsung a baptisé ce petit processeur sous le nom de PCU.
- Chaque processeur ne peut fonctionner qu'avec la puce mémoire dont il fait partie, ou avec l'intégralité de la pile. Les unités du HBM-PIM peuvent également travailler ensemble pour accélérer les algorithmes ou les programmes qui le nécessitent.
Comme on peut le déduire de sa simplicité, il n'est pas adapté à l'exécution de programmes complexes. En retour, Samsung le promeut sous l'idée que nous le relions comme une unité qui accélère les algorithmes de Machine Learning, mais il ne peut pas non plus gérer des systèmes complexes car il s'agit d'un processeur vectoriel et non tenseur. Leurs capacités dans ce domaine sont donc très limitées et se concentrent sur des choses qui ne nécessitent pas beaucoup de puissance, comme la reconnaissance vocale, la traduction de texte et audio, etc. N'oublions pas que sa capacité de calcul est de 1.2 TFLOPS.
Allons-nous voir le HBM-PIM sur nos PC ?
Les applications que Samsung donne comme exemple des avantages du HBM-PIM sont déjà accélérées à une vitesse plus élevée par d'autres composants de nos PC, de plus, le coût élevé de fabrication de ce type de mémoire exclut déjà son utilisation dans un ordinateur de famille. Dans le cas où vous êtes des programmeurs spécialisés en intelligence artificielle, le plus sûr est que vous ayez du matériel dans vos ordinateurs avec une capacité de traitement beaucoup plus élevée que le HBM-PIM de Samsung.
La réalité est que cela semble être un mauvais choix pour le service marketing du géant sud-coréen de parler d'IA. Et oui, nous prenons en compte que c'est la technologie à la mode sur toutes les lèvres, mais nous pensons que le HBM-PIM a d'autres marchés où il peut exploiter ses capacités.
Quelles sont ces applications ? Par exemple, il sert à accélérer la recherche d'informations dans de grandes bases de données que des centaines d'entreprises utilisent quotidiennement et nous pensons qu'il s'agit d'un marché énorme qui déplace des millions de dollars par an. En tout cas, nous ne le voyons pas être utilisé au niveau domestique et dans le calcul scientifique, bien qu'il soit possible que le HBM3 encore inachevé hérite d'une partie des idées du HBM-PIM.