0% ont trouvé ce document utile (0 vote)
7 vues23 pages

Programmation Parallèle avec GPU

Le document présente une introduction à la programmation parallèle sur GPU, détaillant l'évolution des unités de traitement graphique depuis 2007 et leur utilisation croissante dans divers domaines tels que la simulation scientifique et l'imagerie médicale. Il compare également les performances des GPU et des CPU, soulignant les avantages des architectures massivement parallèles des GPU. Enfin, il aborde les applications pratiques des GPU dans des secteurs comme l'industrie pétrolière et les biotechnologies.

Transféré par

Reda Bou-abdallah
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues23 pages

Programmation Parallèle avec GPU

Le document présente une introduction à la programmation parallèle sur GPU, détaillant l'évolution des unités de traitement graphique depuis 2007 et leur utilisation croissante dans divers domaines tels que la simulation scientifique et l'imagerie médicale. Il compare également les performances des GPU et des CPU, soulignant les avantages des architectures massivement parallèles des GPU. Enfin, il aborde les applications pratiques des GPU dans des secteurs comme l'industrie pétrolière et les biotechnologies.

Transféré par

Reda Bou-abdallah
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

USTHB Master2 HPC

Programmation Parallèle sur


GPU

Dr. Hocine SAADI


saadi@[Link] / [Link]@[Link]

©2024 Hocine SAADI [Link]@[Link]


Processeur GPU ?

GPU: Graphics Processing Unit

Avant 2007: Processeur SIMD avec des fonctions basiques et limitées,


dédiées à l’accélération graphique (rendu graphique)


Assure une large palette de tâches graphiques
(fonctions de calcul d’image)

Traitement du signal vidéo

Gestion de la mémoire vidéo

Décompression Mpeg

Projection 3D sur un plan 2D

Création de graphismes 3D

©2024 Hocine SAADI [Link]@[Link]


Processeur GPU ?

GPU: Graphics Processing Unit

A partir de 2007: évolution des GPU :


- Jeux d’instruction plus élargie
- Hiérarchie de mémoires (caches …)
- Plusieurs Cœurs de calcul (Many-coeurs)
- Des API (CUDA), langage  processeurs programmables

©2024 Hocine SAADI [Link]@[Link]


Fabricants de carte graphique

AMD et Nvidia sont les principaux constructeurs de cartes graphiques


mais, depuis 2022, il faut également compter sur (Arc Alchemist).

Architectures et langages différents selon les constructeurs

Intel
©2024 Hocine SAADI [Link]@[Link]
Engouement pour l’utilisation des GPUs

- Présents dans tous les PCs et stations de travail (accessibilité)

- Architectures massivement parallèles permettant des performances supérieures


à celles des CPUs

©2024 Hocine SAADI [Link]@[Link]


Utilisations des GPUs

2048-core with 64 Tensor Cores

PC
Jetson AGX Station

70x45 mm
472 GFlops
128 cœurs

Mini PC
Cluster Ibnbadis Superordinateur
©2024 Hocine SAADI [Link]@[Link]
TOP 500

2023 :
-Fugaku (Japan) est le plus puissant superc
Fugaku
alculateur du monde avec une puissance de 442
Pétaflops Composé de 7,3 millions de cœurs

Ce monstre de puissance composé de 4.608


serveurs IBM renfermant chacun six cate GPU
Nvidia V100

2024 :
1- Frontier (USA) ; 8,6 millions de cœurs ,
1194 PFlop/s ou 1194 exaFLOPS

2- Aurora ; 4,7 million de cœurs, 585 PFlop/s

Frontier

©2024 Hocine SAADI [Link]@[Link]


GPU sur IBNBADIS

IBNBADIS est une plateforme de calcul HPC :


32 noeuds de calcul + Une carte GPU
- Chaque noeud a 2 processeurs 2.00GHz
- Chaque processeur est composé de 8 coeurs,
- Au total 512 coeurs.
- Une puissance théorique du cluster est d’environs 8TFLOPS.

©2024 Hocine SAADI [Link]@[Link]


GPGPU

GPGPU ( General Purpose Graphics Processing Units )

Utilisation des GPU pour accélérer les applications de calcul scientifique,


tout types d’applications gourmandes en puissance de calcul (simulation)
via des APIs graphiques comme OpenGL (lourdeur), Apparition d’APIs
pour les applications non-graphiques (OpenCL et CUDA)

GPU actuels : Graphisme + Calculs.

Systèmes hybrides CPU-GPU: “Heterogeneous parallel Computing »

- Le GPU Fonctionne en collaboration avec le CPU.


- Le CPU utilise le GPU comme un Co-processeur

©2024 Hocine SAADI [Link]@[Link]


GPGPU

CPU pour les parties séquentielles où la


latenceest importante, les CPU peuvent être
10+ fois plus rapides que les GPU pour le
code séquentiel

GPU pour les parties parallèles où le débit


gagne, Les GPU peuvent être 10+ fois
plus rapides que les CPU pour le code
parallèle

©2024 Hocine SAADI [Link]@[Link]


Domaines concernés par les GPU

Le calcul parallèle sur GPU est utilisé dans de nombreuses disciplines

Financial Scientific Engineering Data Intensive


Medical Imaging
Analysis Simulation Simulation Analytics

Digital Audio Digital Video Computer Biomedical Numerical


Processing Processing Vision Informatics Methods

Statistical Interactive
IA
Modeling Physics

©2024 Hocine SAADI [Link]@[Link]


GPGPU

Industrie pétrolière
Des simulations, des techniques d’aide à la décision,
de plus en plus complexes et gourmandes en puissance
de calcul sont étulisées :
- la modélisation et la simulation des réservoirs
- le traitement d’images 3D et l’interprétation de données
provenant d’algorithmes sismiques.
Biotechnologies et Industrie pharmaceutique
Ces domaines sont parmi les domaines demandeurs en
puissance de calcul en Algérie:
- la prédiction de structures de protéines inconnues
(protein folding)
- la modélisation des interactions intermoléculaires
GPGPU

Imagerie médicale
Les applications d’imagerie medicales impliquent l’utilisation
d’algorithmes de plus en plus complexes tels que les algorithme
de segmentation d’images et de reconstruction d’objets 3D
nécessitant la manipulation de grandes masses de données
(data-intensive) et une grande puissance de calcul (CPU-time
intensive) pour le traitement de ces données.

La modélisation du climat & prédictions météorologiques


La climatologie traite de la modélisation du climat afin d’en
prédire et comprendre bouleversements et les phénomènes
naturels qui y sont liés.
Ces modélisations sont basées sur des modèles
mathématiques et algorithmes complexes.

©2024 Hocine SAADI [Link]@[Link]


Comparaison CPU /GPU

Pourquoi une telle différence en termes de performance avec le CPU ?

- Plus de transistors sont dédiés aux traitements des données au lieu du


contrôle et de la gestion du cache

- Plus d’unités de calcul ALUs ( Arethmetic Logical Units)

- Débit mémoire élevé +-100 Go/s (CPU 10 Go/s)

©2024 Hocine SAADI [Link]@[Link]


GPU vs CPU

CPU GPU
Cœurs orientés latence Cœurs orientés débit

Chip Chip

Core Compute Unit


Cache/Local Mem
Local Cache
Registers

Threading
Registers
Control

SIMD
Unit
SIMD Unit

©2024 Hocine SAADI [Link]@[Link]


Comparaison CPU /GPU

CPUs:Conception orientée latence


- ALU Puissant
ALU ALU
Latence des opérations réduite
Control

ALU ALU
- Caches de grande taille
– Convertir les accès mémoire à latence
longue en accès au cache à latence
Cache courte
- Contrôle sophistiqué
– Prédiction de branche pour une latence
DRAM
de branche réduite

©2024 Hocine SAADI [Link]@[Link]


Comparaison CPU /GPU

CPU: Conception orientée débit


Petites caches

Pour augmenter le débit de la mémoire

Contrôle simple

Aucune prédiction de branche

Pas de transfert de données

ALU économes en énergie



Beaucoup, longue latence mais fortement
pipeline pour un débit élevé
DRAM

Nécessite un nombre massif de threads pour


tolérer les latences

Logique de thread

État du fil

©2024 Hocine SAADI [Link]@[Link]


Comparaison CPU /GPU

©2024 Hocine SAADI [Link]@[Link]


Comparaison CPU /GPU

GPU

- Caractéristiques des GPUs :


Les GPUs tolèrent une large latence
- Moins de cache
- Plus de place pour les unités de calcul

- Très grand nombre d’unités de calcul


- Très grand nombre de threads
- Mémoire locale de grande taille
- Large bande passante mémoire

©2024 Hocine SAADI [Link]@[Link]


Architecture des GPUs NVIDIA

Le GPU est constitué de N petites machines


Multiprocesseurs’’ (SIMD) partageant une mémoire
globale

Un multiprocesseur appelé Stream Multiprocessor SM

• M Processeurs appelés Stream Processor SP


• Un décodeur d’instructions (instruction Unit)
• Trois type de mémoires partagées entre les
M processeurs
• Registres (propres à chaque processeur)

- Une instruction est appliquée aux processeurs (SP)


d’un même multiprocesseur (SM)

©2024 Hocine SAADI [Link]@[Link]


Architecture des GPUs NVIDIA

Chaque Multiprocesseur SM possède une hiérarchie de mémoire cache: 3 types


de mémoires avec des tailles, Vitesses et latences variées.

Un GPU = N unités SIMD + Mémoires

Le GPU est connecté à au CPU à


travers la RAM (Mémoir globale)

©2024 Hocine SAADI [Link]@[Link]


Architecture des GPUs NVIDIA – EXP.
GEFORCE 8

Représentation d’un multiprocesseur de la


GEFORCE 8

16 SM, chaque SM possède deux processeurs


spécialisés appelés SFU et 8 SP (streaming
processors).

Donc un total de 128 SP (cores si on veut)

©2024 Hocine SAADI [Link]@[Link]


Merci de votre attention

Questions ???

©2024 Hocine SAADI [Link]@[Link]

Vous aimerez peut-être aussi