Professional Documents
Culture Documents
Module :
Algorithmes parallles
_________________
Dpartement dinformatique
Sommaire
I.Introduction..2 Expression des algorithmes parallles 2 II.Algorithmes de calcule matriciel en parallle 3 1-Multiplication matrice-matrice..3 2-Algorithme4 *Programme vectoris.4 III.Algorithmes de tri en parallle 5 IV.Exemples dapplications..........6 IV.1. Exemple dapplication pour l'algorithmes de calcule matriciel en parallle...6 IV.2. Exemple dapplication pour l'algorithmes de tri en parallle..7 V.Conclusion8 Rfrences9
Dpartement dinformatique
I.Introduction
Le paralllisme est utilis depuis longtemps en informatique pour rsoudre des problmes scientifiques (e.g. simulation, mtorologie, biologie, jeux vido) le plus rapidement possible. Le principe de base du paralllisme est dutiliser plusieurs ressources (e.g. processeurs) qui fonctionnent concurremment pour accrotre la puissance de calcul pour la rsolution dun mme algorithme pour un problme donn. Lobjectif du paralllisme est non seulement de rsoudre les problmes le plus rapidement, mais aussi de pouvoir rsoudre des problmes de plus grande taille. La construction dun algorithme parallle pour un problme donn est beaucoup plus complexe que la construction dun algorithme en squentiel du mme problme car elle demande la prise en compte de plusieurs facteurs qui sont par exemple : la partie du programme qui peut tre traite en parallle, la manire de distribuer les donnes, les dpendances des donnes, la rpartition de charges entre les processeurs, les synchronisations entre les processeurs. Il y a essentiellement deux mthodes pour construire un algorithme parallle, lune consiste dtecter et exploiter le paralllisme inhrent dans un algorithme squentiel dj existant, lautre consistant inventer un nouvel algorithme ddi au problme donn.
Dpartement dinformatique
Si plusieurs processeurs doivent excuter le mme type doprations en mme temps Pour i de j k faire en parallle { oprations excutes par le processeur Pi } Fin Pour
Le produit de matrices peut tre vu comme n produits scalaires La somme de n produits externes N produits matrice-vecteur On peut dvelopper des algorithmes spcifiques
Forme saxpy/daxpy par bloc Le processus k a les donnes A(:,k), B(:,k) et C(:,k) On excute le produit de matrices dans lordre j, k, i Pour j=1 n
Un processus a les donnes C et B dont il a besoin, mais doit accder toute la matrice A
Dpartement dinformatique
2- Algorithme
Chaque processus calcule la partie pour laquelle il a les donnes (avec m = myid) C(:,m)=C(:,m)+A(:,m)*B(m,m) Copier A(:,m) dans tampon S Pour i=1 p-1{ Envoyer S au processus (m+i) mod p Recevoir S du processus (m-i) mod p C(:,m)=C(:,m)+S*B[(mi)mod p,m] }
*. Programme vectoris :
Dpartement dinformatique
Charger N/P donne en local Trier les N/P donnes locales For (e= 0; e< P; e++){ if (e % 2= =0){ if( me%2 = =0){ /*Pour chaque etape :*/ /* etapes paires */ /* processeurs paires */
echange-comp-max(me-1, N/P); } else{ if( me%2 = =0) /* etapes impaires */ /* processeurs paires */
echange-comp-min(me+1, N/P); } }
Dpartement dinformatique
IV.Exemples dapplications
IV.1. Exemple dapplication pour l'algorithmes de calcule matriciel en parallle
L'exemple pour produit de matrices avec nombre de processeurs = 9 :
Dpartement dinformatique
IV.2. Exemple dapplication pour l'algorithmes de tri en parallle Echange-Comparaison-Manipulation des macro-lments :
Dpartement dinformatique
V.Conclusion
Dans cette expos , on a prsent les algorithmes parallles pour le calcule matriciel et tri , puis Prsent exemples dapplications de deux algorithmes parallles prcdent . Malgr de perfection de programmation parallle ,mais on trouve quelque inconvnients ; est plus complexe que la programmation squentielle car elle ncessite la prise en compte dlments supplmentaires comme la gestion des synchronisations entre les ressources de lenvironnement dexcution ou les copies de donnes.
Dpartement dinformatique
Rfrences
Document lectronique :
- Daouda Traor, Algorithmes parallles auto-adaptatifs et applications . - Stphane Vialle ,Algorithmique distribue avance :tris parallles . - Mohamed JEMNI,Introduction aux algorithmes et architectures parallles . - esnard caroline, Algorithmique parallle pour lalgbre linaire -Etiemble Daniel, Matrices-vecteurs .