CALCUL PARALLELE PRODUIT : MATRICE – VECTEUR 10 pages Exposé par :

Slides:



Advertisements
Présentations similaires
Structures de données avancées : MLH (Multidimensional linear hashing)
Advertisements

Eléments d'algèbre linéaire
Langages de description séquentielle
Les matrices.
Architecture de machines Le microprocesseur
Systèmes, algorithmes et applications: Efficacité du parallélisme. Gaétan Hains LIFO, Université d'Orléans Janvier 2001.
Cours 3-b Méthode des éléments finis 1D
Cours 5-b Problèmes spatio-temporels d’ordre 1 en temps
Structures de données et complexité
Calculs de complexité d'algorithmes
Journées franciliennes 2006 Moussa ELKIHEL (LAAS-CNRS;UPS Toulouse )
METHODE DE GAUSS FACTORISATION LU
2.Les différentes architectures (Louis)
A.Faÿ 1 Recherche opérationnelle Résumé de cours.
INTRODUCTION.
Améliorer les performances du chiffrage à flot SYND
Rappel... Sous-espaces de Rn: Définition;
ASI 3 Méthodes numériques pour l’ingénieur
Rappel... Opérations élémentaires sur les matrices:
Optimisation linéaire
Systèmes d’équations linéaires
Examen partiel #2 Mercredi le 15 novembre de 13h30 à 15h20
Rappel... Solution itérative de systèmes linéaires (suite et fin).
Clique sur la souris ou sur la flèche en bas
Rappel... Systèmes dynamiques: discrets; continus.
Ajustements c2 non-linéaires
Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Systèmes Pipeline – opérations multicycles Nous avons vu jusquà maintenant comment faire un.
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Visualisation de surfaces décrites analytiquement
1 Tri Externe Chapitre 13: Pourquoi Trier? Problème classique en informatique (Voir Knuth, v.3)! Données requises en ordre trié P.ex.: Trouver.
1 Tri Externe Chapitre 13: Pourquoi Trier? Problème classique en informatique (Voir Knuth, v.3)! Données requises en ordre trié P.ex.: Trouver.
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Les expressions algébriques
6.1 LE LANGAGE MATRICIEL Cours 16. Aujourdhui, nous allons voir La définition dune matrice Plusieurs définitions de matrice particulière La somme de matrices.
Optimisation linéaire
Détection du meilleur format de compression pour une matrice creuse dans un environnement parallèle hétérogène Olfa HAMDI-LARBI.
Calcul des groupes d'homologie d’objets discrets
Propriétés des ordonnancements SPT
Technique de points de contrôle: Formes de Bézier
Rappel... Matrices bloc. Décomposition des matrices:
Sous-espaces vectoriels engendrés
L’adaptativité pour un solveur de l’équation de Vlasov
Heuristiques C. Recherche de la meilleure branche . Branch And Bound
Diviser pour résoudre A. Principe général B. Applications
Importance du réseau dans des architectures MIMD Tout échange entre les processeurs nécessite un transfert de données via le réseau.
Géométrie épipolaire (deux vues)
Rappel... Valeurs propres et vecteurs propres. Définitions;
Cours de mathématiques économiques
INTRODUCTION.
Les algorithmes de découplage vitesse-pression
Les Matrices Une matrice est un arrangement rectangulaire de nombres disposés en rangées et colonnes T = T est une matrice de 3.
8INF856 Programmation sur architectures parallèles
Programmation linéaire en nombres entiers
Calcul parallèle => partitionner les données en sous-groupes associés aux processeurs. P0 P2 P1.
STATISTIQUES – PROBABILITÉS
Cours 4 - Trois algorithmes de recherche dans un tableau
GF-11: Tri Interne Efficace et Tri Externe
Structures de données avancées : Fichiers multidimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) zegour.esi.dz
Les opérations avec les matrices
Module calcul parallèle
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : MLH (Multidimensional linear hashing) D. E ZEGOUR Institut National d ’Informatique.
2 Cadre du TER Projet Algol But du TER Conception et étude d’algorithmes de traitement de données dans un satellite d’observation de la voûte spatiale.
Cours 5 - Trois algorithmes de tri d'un tableau
Post-optimisation, analyse de sensibilité et paramétrage
Vecteurs et opérations. 1.Compléter a. b. c. d. 2.Compléter a. b. c. d.
Surfaces de Bézier.
Chapitre 4 La représentation des nombres.
Algorithmes parallèles
Pierre Joli Cours de Mathématique Pierre Joli
Transcription de la présentation:

CALCUL PARALLELE PRODUIT : MATRICE – VECTEUR 10 pages Exposé par : M. Lamnii M. Merzougui A. Abbadi 10 pages

PRODUIT MATRICE - VECTEUR PRODUIT MATRICE - VECTEUR Analyse du problème Soit A une matrice carré de taille n, et x un vecteur de taille n. BUT : Paralléliser le produit y = Ax , sur différents types de machines parallèles . Programme séquentiel Pour i ← 1 jusqu’à n Y(i) ←0 Pour j ← 1 jusqu’à n Y(i) ← Y(i) + A(i,j) * X(i) 1

le calcul impose que chaque élément Aij rencontre xj . PRODUIT MATRICE - VECTEUR Dépendance des calculs Considérons un réseau de p processeurs. la notion parallèle impose que chaque processeur dispose d’un nombre de données. le calcul impose que chaque élément Aij rencontre xj . Pour simplifier : On considère une répartition équilibré ( p divise n ) . Nous examinons les cas : Les élément de A sont rangés en lignes. Les élément de A sont rangés en colonnes. 2

PRODUIT MATRICE - VECTEUR Version par lignes L’organisation des calculs impose que la ième ligne du résultat Y soit placé dans le même processeur que la ième ligne de la matrice A = i Dans ce cas chaque processeur contient le vecteur X et n/p lignes de la matrice A P0 P1 P3 A00 A77 3

PRODUIT MATRICE - VECTEUR Algorithme Pour tout processeur q de 0 à p-1 faire en parallèle pour k ← 1 jusqu’à n/p V(k) ← Produit scalaire de la ligne k de a et le vecteur X. Coût de calcul On a exactement n/p produits scalaires nécessitant chacun 2n-1 opérations arithmétiques . si on note par a l’unité de calcul de base on a : (2n-1)*(n/p)* a Le coût en communication et celui d’un échange total dépend de la topologie du réseau 4

PRODUIT MATRICE - VECTEUR Version par colonnes L’organisation des calculs impose que la jème colonne de A rencontre la jème composante du vecteur X. = = = Dans ce cas chaque processeur produit un vecteur résultat complet dont les composantes sont des sommes partielles. Cela revient à effectuer sur chaque processeur q des calculs locaux. Po P1 P2 A00 A77 5

PRODUIT MATRICE - VECTEUR Algorithme Pour tout processeur q de 0 à p-1 faire en parallèle pour tout k ← 1 jusqu’à n/p faire V- provisoire multiplication de la colonne k de a par la composante q+(k-1)p +1 du vecteur X. Coût de calcul On a exactement n/p calculs de n multiplications composante par composante, on y ajoute le coût de la sommation des sommes partielles sur tout le vecteur V, soit p sommes pour chacune des n/p composantes locales du vecteur V. Le coût en communication est de même ordre qu’un échange total sur toutes les topologies régulières. 6

PRODUIT MATRICE - VECTEUR Version par blocs Solution intermédiaire entre la version par lignes et celle par colonnes permettant de réduire le coût en communication. Cette version suppose que chaque processeur ne possède qu’un bloc de la matrice formée d’une partie de lignes et une partie de colonnes. Pour simplifier : On suppose que n soit divisible par A X Chaque processeur fait le calcul d’un morceau de vecteur résultat partielle qui correspond aux morceaux des colonnes de n/p composantes qu’il possède. PO P1 P3 P2 7

PRODUIT MATRICE - VECTEUR Algorithme Pour tout processeur q de 0 à p-1 faire en parallèle pour tout V partiel ← produit matrice–vecteur du bloc par le vecteur partielle X que l’on vient de recevoir. Coût de calcul On a exactement n/p calculs de n multiplications composante par composante, on y ajoute le coût de la sommation des sommes partielles sur tout le vecteur V, soit p sommes pour chacune des n/p composantes locales du vecteur V. Le coût en communication est de même ordre qu’un échange total sur toutes les topologies régulières. 8

PRODUIT MATRICE - VECTEUR Version Pipeline sur un anneau Il présente une amélioration da la version par ligne,et se basé sur un pipeline de communications, sur un réseau de p processeur connectés en anneau. On considère : Les communications peuvent s’effectuer pendant que les processeurs calculent. Distribution initiale Chaque processeur a en mémoire r ligne de la matrice A rangé en matrice a de dimension rxn et r composantes du vecteur X 9

PRODUIT MATRICE - VECTEUR Principe du calcul La parallèlisation se déroule en p étapes. À chaque étape chaque processeur Pq fait le calcul en utilisant la partie de X qu’il contient en mémoire puis transmet cette partie au processeur P(q+1)mod p et reçoit une partie du processeur P(q-1+p)mod p Première étape FIN 10