La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Ecole Informatique 2010 La Programmation des Architectures Multi-cœurs Cécile Barbier Fatih Bellachia Alain Masserot.

Présentations similaires


Présentation au sujet: "Ecole Informatique 2010 La Programmation des Architectures Multi-cœurs Cécile Barbier Fatih Bellachia Alain Masserot."— Transcription de la présentation:

1 Ecole Informatique 2010 La Programmation des Architectures Multi-cœurs Cécile Barbier Fatih Bellachia Alain Masserot

2 Programmation Parallèle - Problématique lPourquoi paralléliser:  gagner du temps  Utiliser plusieurs processeurs pour rendre une tache plus rapide  Diminuer le temps pour exécuter un jeu de taches  Une conséquence liée a l’évolution des microprocesseurs lUn code est composé  De parties séquentielles  Et de parties susceptibles d’être parallélisées lLoi d’Amdahl:  T = Tseq + Tpar;  p: portion du code parallelisable  T = (1-p)*T + p*T  N: nombre de cœurs  T(N) = (1-p)*T + p*T/N  Accélération:1/((1-p) + p/N) 15/02/2011 Informatique - Programmation Architectures Multi cœurs 2

3 Programmation Parallèle - Problématique lProblématique complexe lSystème hétérogène:  Différentes types de machines  Différents types de core  Différentes gestions d’accès aux données (cache, I/O) lOptimisation des codes est compilateur dépendant 15/02/2011 Informatique - Programmation Architectures Multi cœurs 3

4 Programmation Parallèle – Lignes de recherche 15/02/2011 Informatique - Programmation Architectures Multi cœurs MPI, OpenCL GCD OpenMP TBB 4

5 Programmation Parallèle lLangages:  PGAS: Partionned Goblal Address Space  MPI: Message Passing Interface  GCD: Grand Central Dispacth (MaxOS, Linux, FreeBSD): CPU  OpenCL: Open computing language : Multiplateforme – CPU_GPU lLibrairies et compilateur:  OpenMP: Open Multi-Processing  TBB: Thread Building Block (C++)  CUDA: GPU-nvidia uniquement  HMPP: Heterogenous Multicore Parallel Programming (CAPS) : CPU_GPU 15/02/2011 Informatique - Programmation Architectures Multi cœurs Multiplateforme CPU 5

6 Programmation Parallèle: OpenCL framework 15/02/2011 Informatique - Programmation Architectures Multi cœurs 6 CPU_

7 Programmation Parallèle – Méthodologies pour CPU 15/02/2011 Informatique - Programmation Architectures Multi cœurs 7

8 Programmation Parallèle: GPU lAccessible uniquement via PCI-Express lLangages:  NVIDIA CUDA Février 2007  ATI Stream SKD Décembre 2007 lGPU double précision: Fin 2008 lProgrammation très liée au matériel  Thread GPU ≠ Thread CPU  exécute de même code (SPMD: Single Process, Multiple Data )  partagent les mêmes registres  s’exécute par unité de 32 hard-threads  Performance liée a la gestion de la mémoire 15/02/2011 Informatique - Programmation Architectures Multi cœurs 8

9 Programmation Parallèle - Méthodologies pour GPU 15/02/2011 Informatique - Programmation Architectures Multi cœurs 9

10 Programmation Parallèle - Conclusion lDifférentes approches de la parallelisation en fonction de l’objectif  Langage: Multiplateforme  Librairie et compilateur : CPU/GPU  Le code reste compatible mono core (OpenMP, TBB)  Possibilité de mixer les deux :MPI et OpenMP  OpenCL semble avoir une approche plus complète:  Support les cibles: DSP, GPU, … lGPU:  Plateforme très ciblée  Difficulté de mise en œuvre  Estimation gain en performance / complexité de portage du code 15/02/2011 Informatique - Programmation Architectures Multi cœurs 10

11 Programmation parallèle: Modele: « Shared memory multiprocessing programming » 15/02/2011 Informatique - Programmation Architectures Multi cœurs 11


Télécharger ppt "Ecole Informatique 2010 La Programmation des Architectures Multi-cœurs Cécile Barbier Fatih Bellachia Alain Masserot."

Présentations similaires


Annonces Google