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

Introduction
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 94% à 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

Électronique

(228 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

1. Introduction

Le modèle de Von Neuman, sur lequel sont basés les processeurs d’usage général, distingue :

  • le processeur qui exécute les instructions d’un programme. Ce processeur ne possède ni les instructions, ni les données du programme ;

  • la mémoire qui contient le programme et les données, mais sa seule fonction est la mémorisation.

Le processeur doit donc accéder aux instructions et aux données situées en mémoire.

Depuis l’utilisation des technologies MOS, on constate un écart croissant entre les performances du processeur (débit d’exécution des instructions) et les performances des mémoires DRAM utilisées comme mémoire principale. L’écart croissant est connu sous le terme « mur mémoire » défini par Wulf et Mc Kee en 1994.

Différentes techniques ont été et sont utilisées pour limiter l’écart croissant entre l’exécution des instructions et l’accès aux données. Avec l’approche classique, le principe est de réduire les temps d’accès et d’augmenter le débit des données transférées vers le processeur.

Effectuer des calculs près de la mémoire et dans la mémoire est une technique qui a été étudiée dès les années 1960. L’article fait un bilan des propositions et des réalisations depuis les années 1990. On peut citer notamment la Vector IRAM et de l’université de Berkeley....

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

Électronique

(228 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
Introduction
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

Électronique

(228 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