La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Calcul parallèle => partitionner les données en sous-groupes associés aux processeurs. P0 P2 P1.

Présentations similaires


Présentation au sujet: "Calcul parallèle => partitionner les données en sous-groupes associés aux processeurs. P0 P2 P1."— Transcription de la présentation:

1 Calcul parallèle => partitionner les données en sous-groupes associés aux processeurs. P0 P2 P1

2 Importance du partitionnement : P0 P1 P2 P0 P1 P2 P0 P1 P2

3 1) Un algorithme de partitionnement/repartitionnement parallèle. 2) Une méthode de parallélisation basée sur le repartitionnement et son application dans l’élaboration d ’un mailleur/remailleur parallèle.

4 Qualité d ’une partition : - elle doit être équilibrée : le volume de calcul effectué par chaque processeur doit être sensiblement le même. - elle doit minimiser les interfaces entre les sous-domaines de façon à minimiser le temps passé dans les communications.

5 Exemple d ’une partition 2D La partition La charge des processeurs Les communications

6 Exemple d’une partition 3D La charge : La partition : Les communications :

7 La partition de maillage Sa vision simplifiée sous forme de graphe 52 29 88 200 502 Un exemple

8 2 types de programmation : - programmation maître-esclave Un processeur dirige et donne du travail aux autres processeurs qui sont à ses ordres. - programmation SPMD Tous les processeurs exécutent le même programme. Il est cependant possible de simuler une programmation maître-esclave.

9 Principe général : équilibrer les paires formées, coupler les processeurs, Étant donnée une partition : Puis itérer. 50 34 101 234 50 34 101 234 142 142 68 67 142 142 67 68

10 Algorithme Algorithme général Initialisation : un ensemble de personnes avec leur personnalité Une variable logique : espoir tant que ( espoir ) faire pour chaque personne faire construction de son entourage recherche d ’une âme sœur dans son entourage à l ’aide d ’une fonction amitié si âme sœur alors vie commune si pas de changement de sa personnalité alors déçu sinon déçu fin pour plus d ’espoir si toutes les personnes sont déçues fin tant que

11 Algorithme de couplage En entrée : - moi - mon entourage En sortie : une variable de situation (ma position) qui égale : - mon âme sœur si je suis marié(e) - seul(e) si je n’ai trouvé(e) personne. La preuve de cet algorithme repose sur le fait que : - amitié est symétrique ; - amitié a (b)=amitié(a,b) est injective ; - l’espace image de amitié est totalement ordonné.

12 Tests d ’efficacité avec une fonction coût simplifiée Avec comme fonction de couplage : où Ici on utilise une fonction coût basée uniquement sur la charge des différents domaines :

13 Vitesse de convergence de l’algorithme suivant différents paramètres

14 La fonction coût générale Avec comme fonction de couplage : où La fonction coût devient : Avec : et, : une fonction de dans

15 Précision sur la charge de travail : La charge de travail d ’un processeur correspond à : Où représente le nombre d ’opérations à effectuer, et la vitesse du processeur. Le nombre d ’opérations étant défini par : (resp. ) étant le nombre d ’opérations associé à un élément (resp. à un nœud)

16 R(e,n) est une relation élément-nœud donnant +/- de cohésion entre «e » et « n » n2n2 n1n1 n3n3 e R(e,n 1 ) R(e,n 2 ) R(e,n 3 ) 100 1 1 Précision sur les communications : Les communications sont représentées par un coût de communication élément-nœud : Où E (resp N) représente l ’ensemble des éléments (resp nœuds) d ’un domaine. Et l ’ensemble des nœuds apparaissant dans l ’ensemble d ’éléments E.

17 illustrations S=1 S=8 S=4 S=2 S=1 P(e)=1000 P(e)=1

18 Suppression des composantes non connexes Une composante : Sélection des éléments nœuds à migrer : Redéfinition de amitié : -un ensemble d ’éléments et de nœuds ; -une taille (nb éléments + nb nœuds) ; -un processeur hôte et un d ’accueil. Rq : la composante la plus grande d ’un domaine représentera ce domaine

19 Exemple d ’application Vue des domaines non connexes.

20 Exemple d ’application Un cas où la demi étape est nécessaire, sinon inversion des corridors.

21 Suppression des corridors Un corridor : Sélection des éléments nœuds à migrer : Redéfinition de amitié : -un ensemble d ’éléments et de nœuds ; -une taille (nb éléments + nb nœuds) ; -un processeur hôte et un d ’accueil. Rq : un corridor de b dans a ne l ’est plus forcément après échange des corridors de a dans b, d’où l ’étape 1/2 Suivie par

22 Deux méthodes de parallélisation : - Une directe qui consiste à développé une version parallèle des opérateurs locaux ; - Une autre itérative qui modifie la partition de façon à rendre actifs les opérateurs n’ayant pu être exécutés tq

23 Méthode de parallelisation d ’algorithmes locaux L ’algorithme à paralléliser : où : est un opérateur élémentaire à support local. Soit une partition du domaine : les autres :

24 La seconde se termine lorsque : une illustration : 43 21

25 Utilisation du repartitionneur pour un mailleur/remailleur parallèle Partitionner le domaine Remailler à interfaces fixées chacun des sous-domaines But : repartitionner le domaine de façon à équilibrer les sous-domaines et à bouger les interfaces, puis itérer.

26 Un exemple 2D

27 Un test en 3D Raffinement uniforme par un facteur 2 d ’une barre. Le but est atteint : - la partition est identique ; - la taille de maille divisée par 2

28 En génération maillage et partition initiaux : un point relié à toutes les faces frontières. maillage et partition intermédiaires : la minimisation du volume n’est pas terminée. Maillage final conforme.

29 Un disque de frein ventilé

30 Un test et des comparaisons

31 Bibliographie Sur la programmation parallèle : - PVM : « PVM3 user’s guide and reference manual » (1994) - MPI : « The Complete Reference Vol 1 (1995) et Vol 2 (1998) » - open MP : « The OpenMp application program interface (API) specification » (1997) Sur les méthodes numériques parallèles utilisées au CEMEF - la thèse de Stéphane Marie « Un modèle de parallélisation SPMD pour la simulation numérique de procédés de mise en forme des matériaux » (1997) - la thèse d’Etienne Perchat « Mini-Elémént et factorisation incomplètes pour la parallélisation d’un solveur de Stokes 2D. Application au forgeage » (2000)


Télécharger ppt "Calcul parallèle => partitionner les données en sous-groupes associés aux processeurs. P0 P2 P1."

Présentations similaires


Annonces Google