0% ont trouvé ce document utile (0 vote)
237 vues2 pages

Examen de Programmation Parallèle MPI

Transféré par

Mounira Iratni
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)
237 vues2 pages

Examen de Programmation Parallèle MPI

Transféré par

Mounira Iratni
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

Dep.

Informatique, UMMTO 2020


Master I-Réseaux, Mobilité et Systèmes Embarqués Examen Programmation Parallèle

QCM : indiquez la ou les bonnes réponses


Nom Prénom Signature Note

1- MPI est un enivrement de programmation parallèle pour des machines:


a. Hétérogènes
b. Homogènes
2- Le modèle d'exécution d'une application MPI est :
a. SPSD (Single Program Single Data)
b. SPMD (Single Program Multiple Data)
c. MPMD (Multiple Program Multiple Data)
3- Que désigne lamboot
a. Une nouvelle version de MPI
b. Une implémentation du standard MPI
c. Un daemon de LAM
4- Dans MPI, les processus sont identifiés par :
a. des noms
b. des numéros dans le communicateur affectés par MPI
c. des numéros donnés par le programmeur dans le code
5- Dans MPI, on fixe toujours le nombre de processus dans le code source :
a. Vrai
b. Faux
6- Une communication point à point est effectuée par
a. deux processus, un émetteur et un récepteur
b. plusieurs processus, un émetteur et des processus récepteurs
7- Les communications non bloquantes permettent d’augmenter les performances :
a. en faisant un recouvrement des communications par des calculs.
b. en bloquants certains processus
c. en évitant les inter-blocages entre processus
8- Un envoi bloquant est nécessairement synchrone :
a. Vrai
b. Faux
9- Une communication bufférisée peut être :
a. bloquante
b. non bloquante
10- Si deux processus exécutent chacun MPI_Send() puis MPI_Recv() pour communiquer, alors
les MPI_Send() se bloquent et n’opèrent pas :
a. Vrai
b. Faux
11- Dans une communication réalisée avec les appels MPI_Send() et MPI_Recv(), si deux
processus P1 et P2 envoient chacun un message à un autre processus P 3, l'ordre d'arrivée des
messages n'est pas déterminé
a. Vrai
b. Faux
12- Dans une communication MPI_Send() et MPI_Recv(), si un processus P0 envoie un message
m1 à P1 ensuite envoie un message m2 à P1, alors m1 sera reçu avant m2.
a. Vrai
b. Faux

1 Mme OUKFIF
[Link], UMMTO 2020
Master I-Réseaux, Mobilité et Systèmes Embarqués Examen Programmation Parallèle

13- Le paramètre « tag » est utilisé pour différencier les messages d’un même couple
émetteur/receveur :
a. Vrai
b. Faux
14- Dans une communication non bloquante réalisée avec les appels MPI_Isend() et MPI_Irecv(),
le paramètre request est utilisé pour
a. identifier la requête et tester la terminaison
b. synchroniser les processus
c. tester le statut de la terminaison.
15- Une communication collective n’implique pas nécessairement tous les processus dans le
communicateur désigné :
a. Vrai
b. Faux
16- Dans une communication point à point, le rang du processus récepteur est toujours nécessaire
a. Vrai
b. Faux
17- Dans MPI, tous les processus arrivent à la barrière (MPI_Barrier) au même temps :
a. Vrai
b. Faux
18- Considérons un communicateur avec 4 processus. Combien en total, de primitives MPI_Send()
et MPI_Recv() sont nécessaires pour réaliser la même travail que l’appel suivant :
MPI_Allreduce ( &a, &x, 1, MPI_REAL, MPI_SUM, comm );
a. 3
b. 4
c. 12
d. 16
19- L’appel MPI_Alltoall( ) permet :
a. la diffusion sélective des données par le processus root ;
b. la collecte par tous les processus des données réparties dans l’ensemble des processus;
c. la diffusion sélective, par tous les processus, des données réparties ;
20- Soit le fragment de pseudo-code suivant, où le processus 1 envoie des données (data) au
processus 2

MPI_Init()
MPI_Comm_rank(MPI_COMM_WORLD, rank)
if (rank = = 1)
MPI_Send (some data to processor 2 in MPI_COMM_WORLD)
else {
MPI_Recv (data from processor 1 in MPI_COMM_WORLD)
print "Message received!"
}
MPI_Finalize()

Si ce pseudo-code est exécuté avec un seul processus, qu’attendez-vous?


a. Le programme affiche " Message received !" puis se termine.
b. Le programme se termine normalement avec aucune sortie.
c. Le programme se bloque sans sortie.
d. Une autre erreur se produira.

2 Mme OUKFIF

Vous aimerez peut-être aussi