Vous êtes sur la page 1sur 18

Parallllisation de Gibiane

Loprateur ASSISTANT Loprateur PART et la Table parallle Loption TOUS de ASSISTANT Paralllisation de Gibiane Dans pasapas Dveloppements futurs

25 nov 2010

Club Cast3M

Rappels sur Cast3m

Loprateur ASSISTANT

Un oprateur ne doit pas modifier les oprandes


En tant quentres dun oprateur, les objets sont en lecture seule Seul loprateur qui cre un objet latteint en criture Esope distingue laccs en lecture ou en lecture/criture

Dveloppement dun objet conteneur pour avoir la notion dobjet dont le contenu est ou nest pas accessible, loprateur qui demande laccs cet objet est, au besoin, mis en attente.
25 nov 2010 Club Cast3M 2

Loprateur ASSISTANT (2)


Demande dexcuter une instruction sur un processeur particulier. Syntaxe : obj1 = ASSIS i mon instruction ;
Linterprteur dinstructions, Gibiane, passe aussitt linstruction suivante. A lutilisation de obj1 il faudra attendre la finalisation du travail.

Permet dappeler de manire asynchrone les oprateurs (N fois le mme ou des diffrents)
25 nov 2010 Club Cast3M 3

Oprateur PARTITION
Cre une partition arlequin de lobjet de type modle partir du maillage sousjacent
mapart = PART N objmod ;

mapart est une table de sous type parallle , indice par des entiers 1,..n qui pointe vers des objets modles rem : PART peut aussi partitionner un maillage
25 nov 2010 Club Cast3M 4

ASSISTANT TOUS
Permet la distribution automatique du travail vers les processeurs. Il faut avoir dans linstruction une table parallle. Le rsultat de linstruction est une table parallle . Exemple : mo = model geom mecanique elastique ; mopar = part n mo ; mapar = ASSI TOUS mopar mate youn 20 nu 0.3 ; ri = ASSI TOUS rigi mopar mapar;
25 nov 2010 Club Cast3M 5

ASSISTANT TOUS (2)


Oprateur ETG obj1 = ETG tabpara; Il permet la fusion des objets contenues dans la table parallle Exemple : ritot = ri ETG ; Oprateur REDU obj1= REDU MO tabmcham; Il permet de remettre dans le bon ordre un objet parallle par rapport un objet modle.
25 nov 2010 Club Cast3M 6

Exemple complet
mo = model geom mecanique elastique ; mopar = part 6 mo ; mapar = ASSI TOUS mopar mate youn 20 nu 0.3; ri = ASSI TOUS rigi mopar mapar; ritot = ri ETG ; De = resou (ri et blo) ff; Sig= sigma ASSI TOUS de mopar mapar; Sigt= REDU mo sig;
25 nov 2010 Club Cast3M 7

Gibiane parallle
Se dclenche par Option parallele vrai ; En prsence dune table parallle dans une instruction invoque automatiquement ASSI TOUS Remarque : petit problme pour certains oprateurs qui ne veulent pas de rsultats mis sous forme de table parallle (Mini, Maxi, produit scalaire, Trac..)
25 nov 2010 Club Cast3M 8

Gibiane parallle (2)


mo = model geom mecanique elastique ; mopar = part 6 mo ; mapar = ASSI TOUS mopar mate youn 20 nu 0.3; ri = ASSI TOUS rigi mopar mapar; ritot = ri ETG ; De = resou (ri et blo) ff; Sig= ASSI TOUS sigma de mopar mapar; Sigt= REDU mo sig; Opti para vrai; mo = model geom mecanique elastique ; mopar = part 6 mo ; mapar = mopar mate youn 20 nu 0.3; ri = rigi mopar mapar; ritot = ri ETG ; De = resou (ri et blo) ff; Sig= sigma de mopar mapar; Sigt= REDU mo sig;

25 nov 2010

Club Cast3M

Gibiane parallle (3) Classification des objets


Globaux
Entiers, rels, logiques, volutions Champs par point (temprature, dplacements..)

distribus
Maillages, modles, Champs par lments (matriaux, contraintes,..)
25 nov 2010 Club Cast3M 10

Gibiane parallle (4) Global Distribu


Un seul oprateur PART qui ncessite detre explicitement appel
Entre : maillage ou modle Sortie : table parallle de maillages ou de modles
2 modes pour maillages :
dcomposition de domaine Arlequin

25 nov 2010

Club Cast3M

11

Gibiane parallle (5) Distribu Distribu


Les objets distribus sont rpartis sur les assistants (en lecture seule) Les objets globaux sont envoys sur chaque assistant (en lecture seule) Les rsultats sont des tables parallles Ex : Res = operateur ob_global ob_distribu ..
(Res.i = operateur ob_global ob_distribu.i ..)

25 nov 2010

Club Cast3M

12

Gibiane parallle (6) Distribu Global


Rduction automatique par Gibiane dobjets distribus
Pratiquement pas dinvocation explicite. Deux critres:
Certains oprateurs: MASQ, MAXI, MINI, TRAC, ETG, Type dobjet : CHPOINT,RIGIDITE

Utilisation de reprsentation multiple Par exemple : RESIDU = FEXT FINT(distribu) est quivallent :
FINT(rduit) = ETG FINT(distribu) RESIDU = FEXT FINT(rduit)
25 nov 2010 Club Cast3M 13

Gibiane parallle(7) dans pasapas


Dans PASAPAS possibilit dorienter le droulement du calcul. tab = table; tab . processeurs = MONO_PROCESSEUR; tab . processeurs = AUTOMATIQUE; tab . Processeurs = COMPORTEMENT; PASAPAS TAB;
25 nov 2010 Club Cast3M 14

Gibiane parallle(8) dans pasapas


Au dbut de unpas Si(..) ; Opti para vrai; zmodli=zmodl; zmodl=part zmodl;
Puis rduction des champs par lments en entres

zmat = redu zmat zmodl; sig0 = redu sig0 zmodl; .. finsi; En sortie de unpas rduction des champs par lments rsultats et opti para faux Sigt= REDU sigt zmodli; opti para faux ;
25 nov 2010 Club Cast3M 15

utilisation de OPTI PARA VRAI


8 7 6 5 4 3 2 1 0 0 2 Nunber of pro cessors 4 6 8 Speed-up (Wall-clock time) Ideal Co mputation

25 nov 2010

Club Cast3M

16

Conclusion
Paralllisation de cast3m quasi-transparente faite au niveau du langage Pas de changement de smantique Les nouveaux oprateurs explicitement appels sont PART et ETG Propagation automatique des structures parallles travers les oprateurs. Paralllisation automatique des oprateurs en prsence de structures parallles Rduction automatique de structures parallles sur des critres heuristiques.
25 nov 2010 Club Cast3M 17

Dveloppements futurs
Meilleure identification des oprations globales et distribues Mise au point de la rduction automatique en utilisant la smantique
CHP1 + CHP2 : pas de rduction CHP1 produit_scalaire CHP2 : rduction

Rduction post-opration
CHP1 produit_scalaire CHP2
25 nov 2010 Club Cast3M 18