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