1 / 11

PRODUIT : MATRICE – VECTEUR

CALCUL PARALLELE. PRODUIT : MATRICE – VECTEUR. Exposé par : M. Lamnii M. Merzougui A. Abbadi. 10 pag es. PRODUIT MATRICE - VECTEUR. PRODUIT MATRICE - VECTEUR. Analyse du problème.

Download Presentation

PRODUIT : MATRICE – VECTEUR

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. 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

  4. i = 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 Dans ce cas chaque processeur contient le vecteur X et n/p lignes de la matrice A A00 A77 3

  5. 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 lignek 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

  6. 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. A00 A77 5

  7. 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- provisoiremultiplication 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

  8. 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. P1 PO P3 P2 7

  9. 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

  10. 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

  11. PRODUIT MATRICE - VECTEUR Principe du calcul La parallèlisation se déroule en p étapes. À chaque étape chaque processeur Pqfait 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

More Related