Présentation

Article

1 - INTRODUCTION

2 - « MUR MÉMOIRE »

3 - RAPPROCHER CALCUL ET MÉMOIRE : LES PROBLÉMATIQUES

  • 3.1 - Applications « memory bound »
  • 3.2 - Quelle technologie pour le calcul ?
  • 3.3 - Coordination calcul-mémoire
  • 3.4 - Cinq exemples

4 - CALCUL PRÈS DE BLOCS MÉMOIRE SRAM

5 - CALCUL EN MÉMOIRE DRAM

6 - CALCUL EN TECHNOLOGIE DRAM PRÈS DE BANCS MÉMOIRE DRAM

7 - REMARQUES POUR CONCLURE

Article de référence | Réf : H1205 v1

Rapprocher calcul et mémoire : les problématiques
Calcul en mémoire ou près de la mémoire

Auteur(s) : Daniel ETIEMBLE

Date de publication : 10 janv. 2024

Pour explorer cet article
Télécharger l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !

Sommaire

Présentation

Version en anglais English

RÉSUMÉ

Les ensembles de données gigantesques de beaucoup d’applications modernes et des techniques matérielles comme l’empilement 3D de puces dans les DRAM HBT ont donné une nouvelle actualité au calcul en mémoire ou calcul près de la mémoire. L’article présente les problématiques correspondantes : localisation du calcul, quantité de calcul, coordination entre CPU et l’accélérateur en ou près de la mémoire. Cinq exemples significatifs récents sont présentés et discutés : le circuit Untether AI Bocqueria, le circuit Cebras WCS-2, le projet Ambit, la puce PIM d’UPMEM et le circuit Aquabolt-XL de Samsung.

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

Auteur(s)

  • Daniel ETIEMBLE : Ingénieur de l’INSA de Lyon - Professeur émérite à l’université Paris Saclay

INTRODUCTION

Depuis plusieurs décennies, l’écart entre les performances de processeurs et des mémoires DRAM, connu sous le nom de « mur mémoire », n’a cessé de croître. Différentes techniques sont utilisées pour limiter la croissance de cet écart :

  1. hiérarchies de caches, pour rapprocher instructions et données du processeur ;

  2. multithreading matériel pour limiter les attentes mémoires ;

  3. augmentation des débits des DRAM avec des générations successives : DDR, GDDR, HBM.

Rapprocher les calculs des données mémoire est une technique étudiée depuis les années 1960. Des réalisations comme les Vector IRAM ont été proposées dans les années 1990. Calcul en mémoire ou près de la mémoire devient d’actualité en fonction de deux phénomènes :

  1. Beaucoup d’applications modernes utilisent des ensembles de données gigantesques. Minimiser les transferts entre CPU et mémoire principale DRAM devient une obligation.

  2. Les techniques matérielles de réalisation de circuits, comme l’empilement 3D de puces dans des DRAM HBM (High Bandwith Memory) permettent de faciliter le calcul près de mémoires DRAM.

Calculer près ou en mémoire pose un certain nombre de questions :

  1. Où effectuer le calcul ?

  2. Quelle est la quantité de calculs nécessaire ?

  3. Comment organiser la coordination entre le CPU maître et l’accélérateur matériel en ou près de la mémoire ?

Ces questions sont détaillées.

Cinq exemples récents de réalisation sont discutés :

  1. L’architecture Untether AI Boqueria est un accélarateur pour inférence dans les réseaux de neurones. Il est constitué d’une grille 2D de 729 blocs SRAM, chaque bloc comprenant 512 SRAM de 640 octets et 512 processeurs élémentaires. Les calculs sont proches des SRAM.

  2. Le circuit Celebras WS2 est un circuit constitué d’un wafer de 850 000 cœurs (2,6 . 1012 transistors) pour l’apprentissage profond. Les cœurs, interconnectés en grille 2D au niveau du wafer, ont un ratio 50 : 50 de logique (calcul) et de mémoire SRAM.

  3. Le projet Ambit modifie la structure interne d’une DRAM pour réaliser un certain nombre d’opérations de base : copie, Not, And, Or, etc.

  4. La société UPMEM a conçu et testé des puces PIM comprenant un processeur réalisé en technologie DRAM avec un jeu d’instructions complet pour le calcul entier, sans flottants ni instructions SIMD à côté de bancs mémoire DRAM. On a des calculs près des bancs mémoire DRAM.

  5. Le circuit Aquabolt-XL de Samsung empile des puces DRAM avec la technologie TSV et insère dans l’empilement des puces avec des unités de calcul entre les bancs mémoire. L’unité de calcul a un nombre réduit d’instructions de type RISC 32 bits contrôlant notamment des instructions SIMD d’additions et multiplications sur des flottant 16 bits.

Cet article est réservé aux abonnés.
Il vous reste 93% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h1205


Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(240 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Présentation
Version en anglais English

3. Rapprocher calcul et mémoire : les problématiques

3.1 Applications « memory bound »

Par définition, les applications « memory bound » sont celles dont le temps d’exécution est déterminé par les temps d’attente des données mémoire.

Il existe de nombreux exemples de telles applications. Par exemple, un algorithme de classification d’objets en réalité augmentée typiquement traite des millions d’exemples d’images ou de clips vidéo et réalise la classification sur des flux de vidéo haute définition en temps réel. Les applications en IA, apprentissage machine et analyse de données sont limitées par la mémoire. Beaucoup de domaines comme la radio astronomie, la science des matériaux, la chimie, les sciences de la santé, etc. génèrent d’énormes quantités de données.

Rapprocher les calculs de la mémoire peut augmenter considérablement les performances. Les questions du comment sont les suivantes :

  • Où effectuer le calcul ? Dans la mémoire DRAM ou en utilisant la technologie DRAM pour le calcul, ou près de mémoires SRAM en utilisant la technologie logique (utilisée par les CPU) ?

  • Quelle est la quantité de calculs nécessaire : doit-on utiliser quelques opérations élémentaires ou quelques instructions de processeur ou un processeur avec un jeu d’instructions complet ?

  • Comment organiser la coordination entre le CPU maître et l’accélérateur matériel en mémoire ou près de la mémoire. Cet accélérateur est de fait un coprocesseur !

HAUT DE PAGE

3.2 Quelle technologie pour le calcul ?

La technologie utilisée pour le calcul doit être compatible avec la technologie mémoire. Sinon, on réintroduit les problèmes du mur mémoire :

  • un calcul utilisant une technologie ASIC est compatible avec des mémoires SRAM (les mémoires SRAM sont utilisées comme caches dans les processeurs). Dans ce cas, le calcul est près des mémoires SRAM ;

  • avec des mémoires DRAM, le calcul peut s’effectuer dans la mémoire (opérations de calcul effectuées à l’intérieur de la mémoire) ou en technologie DRAM dans des parties de puce près des bancs mémoire....

Cet article est réservé aux abonnés.
Il vous reste 93% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(240 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Rapprocher calcul et mémoire : les problématiques
Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - SING (G.) et al -   Near-Memory Computing: Past, Present, and Future  -  arXiv, 2019 https://arxiv.org/pdf/1908.02640.pdf

  • (2) - PATERSON (D.) et al -   A case for Intelligent RAM,  -  IEEE Micro, vol. 17, n°2, pp 34-44, March 1997.

  • (3) - KOZIRAKIS (C.E.) et al -   Scalable Processors in the Billion-Transistor Era : IRAM,  -  Computer, Vol. 30, N° 9, pp 75-78, Sept. 1997.

  • (4) - CALPIN (J.M.) -   Memory Bandwidth and System Balance in HPC System,  -  https://sites.utexas.edu/jdm4372/tag/memory-bandwidth/

  • (5) - FARBER (R.) -   How High-Bandwidth Memory Will Break Performance Bottlenecks, The Next platform,  -  October 21, https://www.nextplatform.com/2021/10/21/how-high-bandwidth-memory-will-break- performance-bottlenecks/

  • (6) - GHOSE (S.), BOROUMAND (A.), KIM (J.S.), GÓMEZ-LUNA...

Cet article est réservé aux abonnés.
Il vous reste 93% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(240 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS