Académique Documents
Professionnel Documents
Culture Documents
I) Exercice 1 (14pts) :
Objectif :
L’objectif de cet exercice est d’évaluer votre niveau de compréhension et
votre capacité pratique à implémenter un programme parallèle
manuellement ou « à la main ».
Indications :
Cet exercice porte sur le parallélisme itératif. Vous pouvez vous inspirer du
code source traitant du programme parallèle de calcul de PI.
Cet exercice est une évaluation portant sur les chapitres 1 (Introduction) , 2
(Algorithme de répartition d’itération) et 3 (les Threads)..
Support :
Se référer aux supports de cours (électronique et multimédia) et aux codes
sources des cours se rapportant aux chapitres précités.
Avertissement :
Tout code qui sort du modèle de code traité en cours ou toute copie
littérale de programme issue notamment de « ChatGPT » ne sera pas
considéré comme valable.
Etant donné le programme séquentiel de calcul du produit de deux matrices
(MatrixProduct_sequentiel.java ) :
a. Commencez d’abord par relever les performances de votre ordinateur sur lequel les
exécutions sont effectuées et remplir la colonne vide.
1
Modèle du processeur
Nombre de cœurs-processeurs
Fréquence par cœur-processeur
RAM
Performance de MatricProduct_parallel_static
Exécuter le programme parallèle MatricProduct_parallel_static .java avec les
matrices de tailles figurant sur le tableau. Ensuite, faire varier le nombre de threads
dans le programme comme indiqué sur le tableau, puis exécuter et reporter les différents
temps d’exécution et accélérations de parallélisme dans le tableau suivant. La ligne
« Accélération » correspond à l’accélération de parallélisme qui correspond au rapport
entre le temps d’exécution séquentielle sur le temps d’exécution parallèle.
Une fois le tableau rempli, tracer la courbe dont les abscisses sont le « nombre de
threads » et les ordonnées sont « l’accélération de parallélisme ». Analyser et interpréter
la courbe obtenue.
2
Taille M=4096 , N=2048 , P=2048
threads 2 4 6 8 10 12 20 30
Temps(s)
Accélération
Performance de MatricProduct_parallel_self
Exécuter le programme parallèle MatricProduct_parallel_self .java avec les matrices de tailles
figurant sur le tableau suivant. Ensuite, faire varier le nombre de threads et le Groupsize ( c’est-à-
dire la taille de partition allouée dynamiquement) dans le programme comme indiqué sur le tableau,
puis exécuter et reporter les temps d’exécution.
La ligne « Accélération » correspond à l’accélération de parallélisme qui correspond au rapport
entre le temps d’exécution séquentielle sur le temps d’exécution parallèle.
Une fois le tableau rempli, tracer les courbes dont les abscisses sont le « nombre de threads » et les
ordonnées sont « l’accélération de parallélisme », chaque courbe devra correspondre à une valeur
de « Groupsize ». Analyser et interpréter les courbes obtenues.
NB : les valeurs décimales de temps et d’accélération à reporter dans le tableau
doivent être limitées à 1 chiffre après la virgule.
3
II) Exercice 2 (6pts)
Objectif :
L’objectif de cet exercice est d’évaluer votre niveau de compréhension et
votre capacité pratique à implémenter un programme parallèle en utilisant
un compilateur paralléliseur.
Indications :
Cet exercice porte sur le parallélisme récursif basé sur la stratégie diviser
pour régner.
Cet exercice est une évaluation portant sur le chapitre 4 (Algorithmes diviser
pour régner)
Support :
4
Taille n=50
threads 2 4 6 8 10 12 20 30 MaxDepth
Temps(s) 20
Accélération
Temps(s) 25
Accélération
Temps(s) 30
Accélération
Temps(s) 32
Accélération
Temps(s) 34
Accélération
Temps(s) 36
Accélération
Temps(s) 38
Accélération
Temps(s) 40
Accélération
Temps(s) 42
Accélération
Consigne : En retournant, votre projet, exporter-le en format zip exploitable, puis préciser votre
(vos) nom(s), prénom(s) et classe sur un document word que vous joignez avec.
Livrable :
i. Le projet zippé (qui est la combinaison du projet de base auquel vous ajoutez les
programmes parallèles que vous avez implémentés)
ii. Un document word où vous présenterez les réponses aux aux questions posées, ainsi que
les tableaux remplis et les courbes (graphes).
Respect des délais :
Tout projet rendu au-delà du délai indiqué en haut du document entrainera une pénalité de
points.
NB : pour toute ambiguïté constatée sur une ou plusieurs questions, vous pouvez m’écrire sur
senghor.abdourahmane@esp.sn