Home
[U2.08.06] Notice d`utilisation du parallélisme
Contents
1. Pour MACRO MODE MECA parall le on conseille de d composer son calcul en sous bandes comportant peu de modes par exemple 20 et ensuite de pr voir 2 4 voire 8 processus MUMPS par sous bande Il faut bien s r composer avec le nombre de processeurs disponibles et le pic m moire requis par le probl me On peut obtenir des gains d un facteur 30 en temps elapsed sur une centaine de processeurs Les gains en m moire sont plus modestes quelques dizaines de pourcents L tape de calibration modale via INFO MODE ne co te elle pratiquement rien en parall le quelques minutes tout au plus pour des probl mes de l ordre du million d inconnus parall lis s sur une centaine de processeurs Les gains en temps sont d un facteur 70 sur une centaine de processeurs Et jusqu x2 en pic m moire RAM Calculs ind pendants Lorsque la simulation que l on souhaite effectuer se d compose naturellement tude param trique calcul de sensibilit ou artificiellement cha nage thermo m canique particulier en calculs similaires mais ind pendants on peut gagner beaucoup en temps calcul gr ce au parall lisme num rique 1a Gain en m moire RAM Lorsque le facteur m moire dimensionnant concerne la r solution de syst mes lin aires ce qui est souvent le cas le cumul des parall lismes informatiques 1b calculs l mentaires assemblages et num riques 2b solveur lin aire distribu MUMPS est tout indiqu
2. Cette m thode multifrontale s appuie sur le produit externe MUMPS cf R6 02 03 ou U4 50 01 83 7 est utilis e via la mot cl SOLVEUR METHODE MUMPS C est le solveur lin aire conseill pour exploiter pleinement les gains CPU RAM que peut procurer le parall lisme Ce type de parall lisme est performant surtout lorsqu il est coupl avec 1b tout en restant g n rique robuste et grand public La mise en uvre de ce parall lisme s effectue de mani re transparente l utilisateur Elle s initialise par d faut d s qu on lance un calcul via Astk menu Options utilisant plusieurs processus MPI Ainsi sur le serveur centralis Aster il faut param trer les champs suivants e mpi nbcpu m nombre de processeurs allou s en MPI nombre de processus MPI e facultatif mpi nbnoeud p nombre de noeuds sur lesquels vont tre dispatch s ces processus MPI Une fois ce nombre de processus MPI fix on peut lancer son calcul en batch sur la machine centralis avec le m me param trage qu en s quentiel On peut bien s r baisser les sp cifications en temps et en consommations m moire JEVEUX RAM totale du calcul R solution MUMPS Code _Aster Construction I Ku f MUMPS centralis MUMPS distribu Figure 6 1 _ Flots de donn es traitements parall les du couplage Aster MUMPS suivant le mode d utilisation centralis ou distribu Id alement ce solveur lin
3. 2 niveaux le premier distribue les calculs modaux sur diff rents blocs de processeurs le second parall lise le solveur lin aire MUMPS au sein de chacun de ses sous blocs cf premier cas de figure pr c dent L efficacit en s quentiel comme en parall le de MACRO MODE MECA requiert des bandes fr quentielles assez bien quilibr es Pour calibrer ces bandes il est conseill d utiliser l op rateur INFO MODE U4 52 01 Lui aussi b n ficie d un parall lisme deux niveaux tr s performant T Il reste pr ciser le nombre de processeurs souhait s menu Options d Astk et la mise en uvre du parall lisme s initialise avec un param trage par d faut Sur le serveur centralis il faut param trer les champs suivants e mpi nbcpu m nombre de processeurs allou s en MPI e facultatif mpi nbnoeud p nombre de n uds sur lesquels vont tre dispatch s ces m processus MPI Par exemple si les n uds r serv s au calcul parall le sont compos s de 16 processeurs afin d allouer 20 processus MPI raison de 10 processeurs par n ud on positionne mpi nbcpu 20 et mpi _nbnoeud 2 Options Arguments P dhgjeveux Frep_outils F ep des I rep_mat F ORBinitRef Param tres nbmaxnook 5 cpresok RESNOOK facmtps 1 corefilesize unlimited Options de lancement te ombre de threads classe depart distrib flashoir Nombre de noeuds exectool
4. Une fois que l on a distribu son calcul Code AstertMUMPS sur suffisamment de processeurs les consommations RAM de JEVEUX peuvent devenir pr dominantes par rapport celles de MUMPS que l on a tal es sur les processeurs Pour r tablir la bonne hi rarchie le solveur externe doit supporter le pic de consommation RAM il faut activer en plus l option SOLVEUR MATR DISTRIBUEE U4 50 01 Pour r soudre des probl mes fronti res de tr s grandes tailles gt 5 10 degr s de libert on peut aussi essayer les solveurs it ratifs hybride parall les strat gies parall les 2c 3a Gain en temps Si l essentiel des co ts concerne uniquement les r solutions de syst mes lin aires on peut se contenter d utiliser les solveurs lin aires MUMPS en mode centralis strat gie 2b ou MULT FRONT 2a D s que la construction des syst mes devient non n gligeable gt 5 il est primordial d tendre le p rim tre parall le en activant la distribution des calculs l mentaires assemblages 1b et en passant MUMPS distribu valeur par d faut Sur des probl mes fronti res de grandes tailles 5 10 degr s de libert une fois les bons param tres num riques s lectionn s pr conditionneur relaxation cf U4 50 01 les solveurs it ratifs hybride parall les 2c 3a peuvent procurer des gains en temps tr s appr ciables par rapport 4 Distribuer sur plus de processus le solveu
5. Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 13 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 4 2 2 Remarques De mani re g n rale la distribution par sous domaine PARALLELISME SOUS DOMAINE PARTITION est plus souple et elle peut s av rer plus efficace en permettant d adapter plus finement le flot de donn es sa simulation Entre chaque commande l utilisateur peut m me changer la r partition des mailles suivant les processeurs Il lui suffit d utiliser la commande MODI MODELE Ce m canisme reste licite lorsqu on encha ne diff rents calculs mode POURSUITE La r gle tant bien s r que cette nouvelle r partition reste valable pour le mod le concern jusqu l ventuel prochain MODI MODELE et que cette r partition doit rester compatible avec le param trage parall le du calcul nombre de n uds processeurs Pour l instant la distribution par sous domaines est bas e sur un partitionnement au sens FETI via les op rateurs DEFI PART Ces derniers g n rent en fait une structure de donn es trop riches pour les seuls besoins de la distribution maille processeur description interface d coupage des charges conditions limites Pour viter les surco ts calculs qu implique la constitution de ces objets redondants on peut juste se contenter de pr ciser une seule charge voire une charge bidon Pourvu qu elle n implique aucune manipulation de Lagran
6. 1 Pour tre uniquement en MPI aster ASTK ASTK SERV conf aster profile sh On source l environnement aster exe Eficas Execution E SUPERV py eficas path etc rm r tmp mon etude On n oublie pas de faire le m nage Figure A1 1 _ Exemple de script shell pour pr parer lancer un calcul parall le MPI Lancement effectif par le proc Il ne reste plus qu se positionner sur la frontal et utiliser le lanceur MPI Par exemple via une commande du type prun n 16 nom du script sh Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence GNU FDL http www gnu org copylett fdl html
7. Nombre de processeurs MPI Figure 21 Param tres d Astk consacr s au parall lisme Pour le seul parall lisme de MUMPS on alloue en g n ral un processeur pour 5 10 ddis Pour INFO MODE MACRO MODE MECA on commence par distribuer les sous bandes fr quentielles puis ensuite on tient compte du parall lisme ventuel du solveur lin aire si MUMPS Par exemple pour un calcul modal comportant 8 sous bandes on peut poser mpi nbcpu 32 Chacune des sous bandes va alors utiliser MUMPS sur 4 processeurs Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs T Copyright 2015 EDF R amp D Document diffus sous licence GNU FDL http www gnu org copylett fdl html Code Aster Katie SE default Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 4 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 Les chapitres de ce document d taillent ce type d l ments quantitatifs Une fois ce nombre de processus MPI fix on peut lancer son calcul en batch sur la machine centralis e comme on le ferait en s quentiel Sauf qu avec le parall lisme on peut bien s r r duire les sp cifications en temps et en m moire du calcul Remarque Ce type de parall lisme correspond soit au cha nage des strat gies de calcul parall le 1b et 2b soit celui de 1d et 2b Elles sont d crites dans les paragraphes suivants Il existe d autres alternatives qui p
8. cutable officiel Modifier le la main afin de permettre l usage des BLAS thread es Par exemple sur la machine centralis e on positionnera la variable d environnement MKL SERIAL NO plut t que le YES par d faut export MKL SERIAL NO e Lancer pour de bon cette fois l tude en prenant soin de ne pas modifier le param trage d Astk sauf mettre le btc en donn e Remarques e La mise en oeuvre de ce parall lisme d pend du contexte informatique mat riel logiciel et des librairies d alg bre lin aire thread es que l on souhaite coupler au processus On donne ici un canevas dans le cas tr s pr cis de l utilisation des BLAS MKL sur la machine centralis e Aster 14 Les BLAS sont des routines optimis es effectuant des op rations d alg bre lin aire basique d o l acronyme Basic Linear Algebra Subroutine en stockage dense produit matrice vecteur produit scalaire Elles peuvent tre parall lis es en m moire partag e OpenMP ou directement des threads Posix 15 On gagne au moins un facteur 2 sur les temps consomm s par les tapes parall lis es en quadruplant le nombre de processeurs 16 Les BLAS sont massivement utilis es dans les solveurs lin aires MUMPS PETSC 17 II deviendrait alors contradictoire celui sauvegard dans le Gro Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence
9. des conditions de Dirichlet par dualisation DDL IMPO LIAISON Chacun de ces blocages introduit une nouvelle variable dite tardive un Lagrange et un nouvel l ment fini dit tardif Par soucis de robustesse maintenabilit lisibilit le traitement de ces mailles tardives est affect uniquement au processeur ma tre Cette surcharge de travail est souvent n gligeable cf 3 doc U1 03 03 sur les performances mais dans certain cas elle peut introduire un d s quilibre plus marqu L utilisateur peut le compenser en renseignant un des mot cl s CHARGE PROCO MA SD MA pour maille et SD pour sous domaine de AFFE MODELE U4 41 01 Par exemple en posant CHARGE PROCO MA 50 le processeur ma tre pourra plus se consacrer aux mailles tardives car il n aura que 50 des mailles standards dites physiques qu il aurait d avoir Le reliquat est distribu entre les autres processeurs De m me avec une r partition par sous domaines si CHARGE PROCO SD 1 sd le processeur 0 ne traite qu un sous domaine le reliquat est sous trait Remarques H Les param tres CHARGE PROCO MA SD peuvent tre modifi s en cours de calcul via l op rateur MODI MODELE On peut aussi utiliser ce m canisme pour artificiellement 11 12 Maille 1 pour le proc 1 maille 2 pour le proc 2 maille 10 pour le proc 10 puis on revient au premier processeur maille 11 proc 1 etc Si on partitionne en 10 sous domaine
10. le et d un m canisme de type dictionnaire jeux de param tres diff rents pour chaque tude mot cl VALE du fichier distr blocs de commandes Aster Python variables PRE POST CALCUL Le lancement de ces rampes parall les s effectue avec les param tres de soumission usuels d Astk On peut m me re param trer la configuration mat rielle du calcul liste des n uds nombre de c urs m moire RAM totale par n ud via un classique fichier hostfile Pour plus d informations sur la mise en oeuvre de ce parall lisme on pourra consulter la documentation a Astk U1 04 00 Remarques e Avant de lancer une telle rampe de calculs il est pr f rable d optimiser au pr alable sur une tude type les diff rents param tres dimensionnants gestion m moire JEVEUX aspects solveurs non lin aire modaux lin aire mot cl ARCHIVAGE algorithme de contact frottement cf doc U1 03 03 sur les performances U4 50 01 e On peut facilement crouler une machine en lan ant trop de calculs vis vis des ressources disponibles Il est conseill de proc der par tapes et de se renseigner quant aux possibilit s d utilisations de moyens de calculs partag s classe batch gros jobs prioritaires Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence GNU FDL http www gnu org copylett fdl html Code Aster Katie SE def
11. parall lisme ventuel du second niveau si SOLVEUR MUMPS efficacit compl mentaire de l ordre de 20 Type de parall lisme MPI Sc nario 1d du 3 Nativement con u pour se coupler au parall lisme 2b L usage de MACRO MODE MECA est privil gier lorsqu on traite des probl mes modaux de tailles moyennes ou grandes gt 0 5M ddis et ou que l on cherche une bonne partie de leurs spectres gt 50 modes On d coupe alors le calcul en plusieurs sous bandes fr quentielles Sur chacune de ces sous bandes un solveur modal effectue la recherche de modes associ e Pour ce faire ce solveur modal utilise intensivement un solveur lin aire Ces deux briques de calcul solveur modal et solveur lin aire sont les tapes dimensionnantes du calcul en terme de consommation m moire et temps C est sur elles qu il faut mettre l accent si on veut r duire significativement les co ts calcul de cet op rateur Or l organisation du calcul modal sur des sous bandes distinctes offre ici un cadre id al de parall lisme distribution de gros calculs presque ind pendants Son parall lisme permet de gagner beaucoup en temps mais au prix d un surco t en m moire Si on dispose d un nombre de processeurs suffisant gt au nombre de sous bandes non vides on peut alors enclencher un deuxi me niveau de parall lisme via le solveur lin aire si on a choisit METHODE MUMPS Celui ci permettra de continuer gagner en temps mais
12. parall lisme En renseignant des menus d di s d Astk on fixe le nombre de processeurs requis en terme MPI et ou OpenMP avec ventuellement leur r partition par n ud Dans le d roulement du fichier de commande Aster si plusieurs processus MPI sont activ s param tre mpi nbcpu pour 1b 1d 2b 2c 3a on distribue les mailles et ou les sous bandes fr quentielles entre les processeurs cf figures 3 1a b Cette distribution se d cline de diff rentes mani res et elle est param trable dans les op rateurs AFFE MODI MODELE pour les calculs l mentaires assemblages et PETSC MUMPS et INFO MODE MACRO MODE MECA pour les sous bandes fr quentielles Solveurs lin aires non distribu s LDLT GCPC MULT_FRONT PETSC WE e d Ze Conservation du m me fiotde donn es Calculs l mentaires Calculs l mentaires Assemblages Assemblages Figure 3 1a _ Lors d un calcul parall le standard par exemple 1b avec ou sans 2b c distribution des flots de donn es traitements suivant les op rateurs pr post traitement ou r solution et le type de solveur lin aire utilis Sous bande n 1 Sous bande n 2 Sous bande n 3 Sous bande n 4 MUMPS sur 2 MUMPS sur 2 MUMPS sur 2 processeurs processeurs processeurs MUMPS sur 2 processeurs a Figure 3 1b _ Lors d un calcul modal parall le avec INFO MODE MACRO MODE MECA 1d 2b Recherche modal dans 4 sous bandes fr quent
13. permettent de mettre en uvre facilement ce type de sc narios 8 Equilibr via des pr calibrations modales effectu es avec INFO MODE Si possible en parall le Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster defaut Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 11 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 4 Parall lismes informatiques 4 1 Rampes de calculs ind pendants Utilisation grand public via Astk P rim tre d utilisation calculs ind pendants param trique tude de sensibilit Nombre de processeurs conseill s limite de la machine gestionnaire batch Gain en temps CPU Speed up proportionnel au nombre de cas ind pendants Type de parall lisme script shell Sc nario 1a du 3 Cumul avec toutes les autres strat gies de parall lisme licite mais s adressant des utilisateurs avanc s hors p rim tre d Asfk L outil Astk permet d effectuer toute une s rie de calculs similaires mais ind pendants en s quentiel et surtout en parall le MPI On peut utiliser une version officielle du code ou une surcharge priv e pr alablement construite Les fichiers de commande explicitant les calculs sont construits dynamiquement partir d un fichier de commande mod
14. potentiels utilisateurs avanc s Cette biblioth que de solveurs it ratifs cf R6 01 021 ou U4 50 011 3 9 est utilis e via la mot cl SOLVEUR METHODE PETSC Ce type de solveur lin aire est conseill pour traiter des probl mes fronti res de tr s grande taille gt 5 10 degr s de libert et plut t en non lin aire La mise en uvre de ce parall lisme s effectue de mani re transparente l utilisateur Elle s initialise par d faut d s qu on lance un calcul via Astk menu Options utilisant plusieurs processus MPI Ainsi sur le serveur centralis Aster il faut param trer les champs suivants e mpi nbcpu m nombre de processeurs allou s en MPI nombre de processus MPI e facultatif mpi nbnoeud p nombre de n uds sur lesquels vont tre dispatch s ces processus MPI Une fois ce nombre de processus MPI fix on peut lancer son calcul en batch sur la machine centralis avec le m me param trage qu en s quentiel On peut bien s r baisser les sp cifications en temps du calcul voire en m moire suivant les pr conditionneurs Remarques e Contrairement aux solveurs parall les directs MUMPS MULT FRONT les it ratifs ne sont pas universels ils ne peuvent pas tre utiliser en modal et toujours robustes lls peuvent tre tr s comp titifs en temps et surtout en m moire mais il faut trouver le point de fonctionnement algorithme pr conditionneur adapt au p
15. s en MPI nombre de processus MPI e facultatif mpi nbnoeud p nombre de noeuds sur lesquels vont tre dispatch s ces processus MPI Par exemple sur la machine Aster actuelle les n uds sont compos s de 16 processeurs Pour allouer 20 processus MPI raison de 10 processus par n ud il faut donc positionner mpi nbcpu 20 etmpi_nbnoeud 2 Une fois ce nombre de processus MPI fix on peut lancer son calcul en batch sur la machine centralis avec le m me param trage qu en s quentiel On peut bien s r baisser les sp cifications en temps et en consommations m moire JEVEUX du calcul si MUMPS MATR DISTRIBUEE ou FETI par rapport aux consommations s quentielles D s que plusieurs processus MPI sont activ s l affectation du mod le dans le fichier de commandes Aster op rateur AFFE MODELE distribue les mailles entre les processeurs Code Aster tant un code l ments finis c est la distribution naturelle des donn es et des t ches associ es Par la suite les tapes Aster de calculs l mentaires et d assemblages matriciels et vectoriels vont se baser sur cette distribution pour tarir les flots de donn es traitements locaux chaque processeur Chaque processeur ne va effectuer que les calculs associ s au groupe de maille dont il a la charge Cette r partition maille processeur se d cline de diff rentes mani res et elle est param trable dans l op rateur AFFE MOD
16. version parall le de Code_Aster 25 Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster M tier Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 3 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 1 Le parall lisme en un clic La mise en uvre du parall lisme dans Code Aster s effectue de mani re quasi transparente pour l utilisateur Souvent l essentiel des co ts en temps et en m moire du calcul proviennent edes constructions et des r solutions de syst mes lin aires edes r solutions ou calibration de probl mes modaux Dans le premier cas de figure il faut commencer par rep rer ces r solutions de syst mes lin aires dans le fichier de commande op rateurs STAT NON LINE THER LINEAIRE et modifier leurs param trages de mani re utiliser un solveur lin aire parall le performant U4 50 01 Pour ce faire on sp cifie la valeur MUMPS au mot cl SOLVEUR METHODE Dans le second cas de figure si ce n est pas d j fait on utilise la commande MACRO MODE MECA U4 52 02 au lieu des traditionnels MODE ITER Cette macro est une sur couche de ces op rateurs optimis e pour le calcul intensif Elle peut se parall liser
17. Code Aster ui CS default Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 1 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 Notice d utilisation du parall lisme R sum Toute simulation Code Aster peut b n ficier des gains de performance que procure le parall lisme Les gains peuvent tre de deux ordres sur le temps de calcul et sur l espace RAM disque requis Code Aster propose huit strat gies parall les pour s adapter l tude et la plate forme de calcul Certaines sont plut t ax es sur des aspects informatiques parall lisme informatique d autres sont plus algorithmiques parall lismes num riques et une troisi me cat gorie est bas e sur une vision multidomaine du probl me m canique parall lisme multidomaine Ce document d crit bri vement l organisation du parall lisme dans le code Puis il liste quelques conseils et rappelle quelques fondamentaux pour aider l utilisateur tirer parti des strat gies parall les Puis on d taille leurs mises en oeuvre leurs p rim tres d utilisation et leurs gains potentiels Les cumuls de diff rentes strat gies souvent naturels et param tr s par d faut sont aussi abord s L utilisateur press peut d embl e se reporter au chapitre 2 Le parall lisme en un clic Il r sume le mode op ratoire pour mettre en oeuvre la strat gie parall le pr conis e par d faut Remarque Pour utiliser Code Aste
18. ELE U4 41 01 via les valeurs du mot cl PARALLELISME 1 CENTRALISE Les mailles ne sont pas distribu es comme en s quentiel Chaque processeur conna t tout le maillage Le parall lisme 1b n est donc pas mis en uvre Ce mode d utilisation est utile pour les tests de non r gression et pour certaines tudes o le parall lisme 1b rapporte peu voire est contre productif par ex si on doit rassembler les donn es l mentaires pour nourrir un syst me lin aire non distribu et que les communications MPI requises sont trop lentes Dans tous les cas de figure o les calculs l mentaires repr sentent une faible part du temps total par ex en lasticit lin aire cette option peut tre suffisante 2 GROUP ELEM d faut MAIL DISPERSE MAIL CONTIGU SOUS DOMAINE les mailles sont distribu es suivant le type de mailles une distribution cyclique par paquets de mailles contigu s ou suivant des sous domaines pr alablement construits via un des op rateurs DEFI PART FETI DEFI PART OPS 9 On gagne au moins un facteur 2 sur les temps consomm s par les tapes parall lis es en quadruplant le nombre de processeurs 10 Du mod le Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster defaut
19. GNU FDL http www gnu org copylett fdl html Co d e A ster Version default Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 16 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 e Ce type de parall lisme permet de prolonger le parall lisme MPI de MUMPS lorsqu on a atteint une trop faible granularit de travail par processus MPI Le fait d utiliser 2 ou 4 threads par processus MPI permet de prolonger notablement la scalabilit en temps du calcul Par contre on ne gagnera pas plus en m moire RAM Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster A Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 17 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 4 4 INFO MODE MACRO MODE MECA parall les Utilisation grand public via Astk P rim tre d utilisation calculs comportant de co teuses recherches de modes propres Nombre de processeurs conseill s plusieurs dizaines par exemple nombre de sous bandes fr quentielles x 2 4 ou 8 Gain en temps elapsed voire en m moire RAM gr ce au deuxi me niveau de parall lisme Speed up Gains variables suivant les cas efficacit de l ordre de 70 sur le premier niveau de parall lisme sur les sous bandes fr quentielles compl t par le
20. I Gain en CPU voire m me gain en m moire avec MUMPS MATR DISTRIBUEE o FETI Lancement standard via Astk Cumul naturel avec les sch mas parall les 2b ou 2c 1c Distribution des calculs d alg bre lin aire effectu s par des Blas multithread es Gain en CPU Utilisation avanc e 1d Distribution des calculs modaux resp des calibrations modales dans l op rateur MACRO MODE MECA resp INFO MODE Gain important en CPU gain plus faible en m moire Lancement standard via Astk Cumul naturel avec le sch ma parall le 2b 2 2 Parall lismes num riques 2a Solveur direct MOL FRONT Parall lisme OpenMP Gain en CPU Lancement standard via Astk Cumul interdit 2b Solveur direct MUMPS Parall lisme MPI Gain en CPU et en m moire Lancement standard via Astk Cumul naturel avec les sch mas parall les 1c ou 1d e2c Solveur it ratif PETSC avec ventuellement MUMPS comme pr conditionneur PRECOND LDLT SP Parall lisme MPI du solveur de Krylov voire du pr conditionneur si MUMPS Gain en CPU et en m moire Lancement standard via Astk Cumul naturel avec le sch ma parall le 1c 2 3 Parall lisme m canique ou multidomaine e Aal Solveur hybride FETI Parall lisme MPI Gain en CPU et en m moire Lancement standard via Astk Cumul interdit Les sch mas parall les 1d et surtout 2b c sont les plus pl biscit s lls supportent une utilisation industrielle et grand public Ces parall
21. NU FDL http www gnu org copylett fdl html Code Aster default Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 18 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 5 Parall lismes num riques 5 1 Solveur direct MULT FRONT Utilisation grand public via Astk P rim tre d utilisation calculs comportant des r solutions de syst mes lin aires co teuses en g n ral STAT DYNA NON LINE MECA STATIQUE Nombre de processeurs conseill s 2 ou 4 Gain en temps CPU Speed up Gains variables suivant les cas efficacit parall le 50 Il faut une grosse granularit pour que ce parall lisme reste efficace 10 degr s de libert par processeur Type de parall lisme OpenMP Sc nario 2a du 3 Cumul contre productif avec 1c Cha nage 1b 2a possible et r alisable via Astk Cha nages 1a 2a 2a 3a potentiels utilisateurs avanc s Cette m thode multifrontale d velopp e en interne cf R6 02 02 ou U4 50 01 83 5 est utilis e via la mot cl SOLVEUR METHODE MULT FRONT C est le solveur lin aire historique et auto portant pr conis par d faut en s quentiel La mise en oeuvre de ce parall lisme s effectue de mani re transparente l utilisateur Elle s initialise par d faut d s qu on lance un calcul via Astk menu Options utilisant plusieurs threads Ainsi sur le serveur centralis Aster il faut param trer le champs sui
22. aire parall le doit tre utilis en mode distribu PARALLELISME GROUP ELEM MAIL DISPERSE MAIL CONTIGU SOUS DOMAINE C est dire qu il faut avoir initi en amont du solveur au sein des calculs l mentaires assemblages un flot de donn es distribu sc nario parall le 1b MUMPS accepte en entr e ces donn es incompl tes et il les rassemble en interne On ne perd pas ainsi de temps comme c est le cas pour les autres solveurs lin aires compl ter les donn es issues de chaque processeur Ce mode de fonctionnement est activ par d faut dans les commandes AFFE MODI MODELE cf 85 2 En mode centralis CENTRALISE la phase amont de construction de syst me lin aire n est pas parall lis e chaque processeur proc de comme en s quentiel MUMPS ne tient compte que des donn es issues du processeur ma tre Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aert ae oae_ASter default Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 20 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 Dans le premier cas le code est parall le de la construction du syst me lin aire jusqu sa r solution cha nage des parall lismes 1b 2b dans le second cas on n exploite le parall lis
23. ault Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 12 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 4 2 Calculs l mentaires et assemblages Utilisation grand public via Astk P rim tre d utilisation calculs comportant des calculs l mentaires assemblages co teux m canique non lin aire Nombre de processeurs conseill s 4 ou 8 Coupl avec le parall lisme distribu de MUMPS valeur par d faut typiquement 16 ou 32 Gain en temps voire en m moire avec solveur lin aire MUMPS si MATR DISTRIBUEE ou FETI Speed up Gains variables suivant les cas efficacit parall le gt 50 Il faut une assez grosse granularit pour que ce parall lisme reste efficace 5 10 degr s de libert par processeur Type de parall lisme MPI Sc nario 1b du 3 Nativement con u pour se coupler aux parall lismes num riques 2b via Astk Cumul avec toutes les autres strat gies de parall lisme licite Cumul 1b 3a intrins que T 4 2 1 Mise en oeuvre D sormais la mise en uvre du parall lisme dans les op rateurs effectuant des calculs l mentaires assemblages s effectue de mani re transparente l utilisateur Elle s initialise par d faut d s qu on lance un calcul via Astk menu Options utilisant plusieurs processeurs Ainsi sur le serveur centralis Aster il faut param trer les champs suivants e mpi_nbcpu m nombre de processeurs allou
24. b Cumul contre productif avec 2a Pour initier des traitements parall les dans les calculs d alg bre lin aire qui sont utilis s dans le code routines BLAS il faut e Pr parer son tude fichiers commande maillage et son param trage de lancement temps m moire nombre de processus Threads MPI N uds Par exemple sur le serveur centralis Aster il faut param trer les champs suivants e ncpus n nombre de processeurs utilis s par les threads e mpi nbcpu m nombre de processeurs utilis s par MPI nombre de processus MPI e mpi nbnoeud p nombre de n uds sur lesquels vont tre dispatch s ces processus Si ncpus mpi nbcpu n 1 les biblioth ques BLAS thread es utiliseront n processeurs Par contre si ncpus mpi nbcpu n m chacun des m processus MPI utilisera pour ses besoins en BLAS n processeurs Au final Asfk allouera nxm processeurs Ceux ci doivent donc tre disponibles sur les p n uds allou s e Pr parer la r cup ration du script de lancement g n r par Astk mettre en donn e un nouveau fichier mon script btc e __ Pr lancer l tude elle se termine en quelque secondes juste apr s l criture du btc le calcul n est pas lanc e Modifier la main le contenu de ce fichier en rempla ant le nom de l ex cutable de lancement Aster chemin exec aster par un autre nom home user exec aster blasthreadees e Cr er ce nouvel ex cutable par recopie de l ex
25. de par D composition de Domaines cf R6 01 03 ou U4 50 01 83 10 est utilis e via la mot cl SOLVEUR METHODE FETI Ce type de solveur lin aire peut tre utilis pour traiter des probl mes fronti res de tr s grande taille gt 5 10 degr s de libert ou lorsqu on souhaite r aliser des gains m moire importants Comme pour le solveur MUMPS en mode distribu cette m thode par DD initie un flot de donn es parall le d s la construction du syst me lin aire calculs l mentaires assemblages C est pour cette raison que l on stipule que le cha nage 1b 3a est intrins que la m thode On ne peut pas les s parer Chaque processeur va tre responsable d un certain nombre de sous domaines et il va assembler leurs donn es locales matrices seconds membres charge par la suite au solveur d interface g r par le processeur ma tre de coordonner ces contributions via un solveur dit d interface sur la fronti re des sous domaines Le code est donc bien parall le de la construction du syst me lin aire jusqu sa r solution cha nage des parall lismes 1b 3a La distribution des sous domaines s effectue par distribution cyclique Lorsqu on distribue q sous domaines sur m processeurs le sous domaine 1 est attribu au processeur 0 le SD 2 au proc 1 le SD q au proc q le 4 1 au proc 0 Un param tre du mot cl SOLVEUR NB SD PROCO r permet de soulager la charge du processeur ma tre En lui affectant
26. e par exemple pour un calcul de maximum sur toutes les mailles du mod le ou pour un produit matrice vecteur Si le solveur lin aire parall le utilise des threads OpenMP des sc narios 1c et 2a ceux ci s ex cutent ind pendamment des ventuels aspects MPI Dans le cas le plus usuel 2a les threads se substituent ensuite aux processus MPI Dans un cas de parall lisme hybride 1c 2b c ils d multiplient leur efficacit Dans le cas d un op rateur de pr post traitements type CALC CHAMP l encore on ne rassemble les donn es ou on effectue les communications MPI idoines que si le d roulement algorithmique limpose Dans le cas de INFO MODE MACRO MODE MECA on imbrique deux niveaux de parall lisme Le premier est simplement bas sur la distribution des sous bandes fr quentielles sur chaque paquet de processeurs 4 paquets de 2 dans l exemple d crit dans la figure 3 1b Ensuite seulement on utilise le parall lisme num rique des solveurs lin aires d crits ci dessus Dans l exemple de la figure 3 1b chaque paquet de 2 processeurs va exploiter le parall lisme de MUMPS sur 2 processeurs De toute fa on tout calcul parall le Aster sauf bien s r le sc nario 1a de calculs ind pendants doit respecter les paradigmes suivant en fin d op rateur les bases globales de chaque processeur sont identiques et le communicateur courant est le communicateur standard MPI COMM WORLD Tous les autres
27. er l option de pr compilation D USE OPENMP pour le pr processeur C lignes OPTC D O Une fois la version OpenMP compil e il faut transmettre le nombre de threads que l on souhaite utiliser lors du calcul Ce param tre est transmis par Astk aux scripts de lancement btc exec_aster par l interm diaire de la variable d environnement OMP NUM THREADS Remarque Attention ne pas activer le parall lisme OpenMP des BLAS cf 4 3 Ce dernier est contre productif avec ce sc nario parall le Version parall le MPI Ce paragraphe concerne les sc narios parall les 1b 2b 2c et 3a cf 3 grands traits il faut tout d abord e Choisir une impl mentation MPI compatible optimis e pour sa plate forme mat rielle machine r seau m moire et l activer si n cessaire mpdboot e Si l on souhaite utiliser MUMPS ou PETSC en parall le les installer compiler avec leurs d pendances BLACS Scalapack METIS cf wiki e _ Recompiler les sources Aster a minima celles traitant du parall lisme avec les wrappers MPI et les options de pr compilations ad hoc USE MPI MPI MUMPS FETI HAVE MUMPS PETSC Pour ce faire on pourra s inspirer du fichier de configuration Aster config mpi pendant du config txt standard utilis en s quentiel cf wiki e l faut pr parer son calcul en mode s quentiel par ex avec le menu Gre d Astk e Sion ne souhaite pas utiliser Astk il faut crire un script she
28. euvent tre plus efficaces appropri es suivant les cas de figure cf les conseils du 4 Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Ast Fa oae _ASter default Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 5 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 2 G n ralit s Toute simulation Code Aster peut b n ficier des gains de performance que procure le parall lisme Du moment qu il effectue des calculs l mentaires assemblages des r solutions de syst mes lin aires de gros calculs modaux ou des simulations ind pendantes similaires Les gains peuvent tre de deux ordres sur le temps de calcul et sur l espace RAM disque requis Comme la plupart des codes g n ralistes en m canique des structures Code Aster propose diff rentes strat gies pour s adapter l tude et la plate forme de calcul 2 1 Parall lismes informatiques silal Lancement de rampes de calculs ind pendants similaires calculs param triques Tests 1 Parall lisme via un script shell Gain en CPU Lancement standard via Astk Cumul possible en usage avanc 1b Distribution des calculs l mentaires et des assemblages matriciels et vectoriels dans les pr post traitements et dans les constructions de syst me lin aire Parall lisme MP
29. ge par exemple une charge de pression Cette information ne servira pas dans le calcul effectif des seuls objets d crivant la distribution maille processeur D s quilibrage de charge Pour optimiser un calcul parall le il faut essayer d quilibrer le flot de traitements qui va tre confi chaque processeur Pour ce faire ne disposant pas d heuristique g n rale pour estimer la charge calcul en fonction des donn es on ne peut que conseiller de distribuer de mani re homog ne les donn es entre les processeurs tout en respectant deux r gles sp cifiques aux mod lisations du code Rester attentif aux mailles de peau Les distributions par mailles sont les plus simples et les plus robustes mettre en uvre mais elles peuvent conduire des d s quilibres de charge car elles ne tiennent pas compte des mailles particuli res mailles de peau mailles spectatrices zones non lin aires Par exemple avec un fichier maillage d butant par 100 mailles 2D puis 900 mailles 3D une r partition en 10 paquets via MAIL CONTIGU va conduire un d s quilibrage de charge le premier processeur effectue des calculs l mentaires assemblages sur des mailles 2D alors que les 9 autres ne travaillent qu en 3D Dans ce cas de figure la distribution cyclique ou celle par sous domaines paraissent plus adapt es Rester attentif la proportion de Lagranges Une autre cause de d s quilibrage de charge entre processeurs peut provenir
30. ibution de donn es inh rente au parall lisme 21 22 Equivalent du CHARGE PROCO SD des op rateurs DEFI MODI MODELE Pr alablement construits via les op rateurs DEFI PART et renseign s dans le mot cl PARTITION Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster defaut Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 23 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 Remarques e Cette r partition sous domaine processeur s effectue au d but de chaque op rateur de calcul On ne tient donc pas compte d une ventuelle distribution de donn es par sous domaines param tr e en amont dans AFFE MODI MODELE e Empiriquement on constate qu il est int ressant pour gagner en m moire de d couper le probl me en de nombreux sous domaines Par contre la r solution du probl me d interface et les d s quilibres de charges p nalisent alors les temps de r solution Il est alors conseill d affecter plusieurs sous domaines par processeur quilibrage de charge empirique Le distinguo op r dans Code Aster entre sous domaine et processeur procure cette libert Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document d
31. ielles sur 8 processeurs via n importe lequel solveur modal coupl au solveur lin aire MUMPS Pour tous les op rateurs de calcul hormis INFO MODE MACRO MODE MECA le parall lisme est d abord guid par la distribution des mailles sur les diff rents processeurs Cette distribution des 2 Menus Options ncpus mpi nbcpus mpi nbnoeud Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster ie Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 7 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 mailles utile pour parall liser les tapes de calculs l mentaires et assemblages va ensuite nourrir le parall lisme num rique des solveurs lin aires choisis par le mot cl SOLVEUR Suivant le cas de figure solveur lin aire distribu MUMPS PETSC FETI ou non MULT FRONT LDLT on fournit les donn es par morceaux ou apr s les avoir rassembl es au solveur lin aire Ce dernier souvent les redistribue en interne au gr s de ses contingences Mais dans le cas d un solveur lin aire acceptant un flot de donn es d entr e d j distribu les gains en temps et en m moire sont patents Par ailleurs on ne rassemble les donn es ou on effectue les communications MPI idoines que si le d roulement algorithmique l impos
32. iffus sous licence GNU FDL http www gnu org copylett fdl html Code Aster defaut Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 24 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 7 Annexe 1 Construction d une version parall le de Code Aster 7 1 7 2 On peut mettre en oeuvre un calcul parall le sur d autres plate formes que la machine Aster cluster noeuds de SMP voire sans l usage d Astk Tout d abord il faut faire un choix entre le parall lisme MPI et celui OpenMP Dans l absolu on peux cumuler les deux dans une m me version dite parall le hybride c est le cas sur la machine centralis e mais en premi re approche on va ici les s parer Le wiki du site internet http www code aster org wiki est une mine d informations compl mentaires et actualis es sur ces aspects informatiques Version parall le Open MP Ce paragraphe concerne le sc nario parall le 2a cf 3 Partant d une version s quentielle du code et d un compilateur OpenMP compatible Intel gcc il faut recompiler les sources apr s avoir modifi le fichier de configuration Aster config txt e Rajouter l option appropri e pour le compilateur par ex icc openmp via les listes d options OPTC_D O OPTF90 D O Il y en a une pour chaque langage et chaque mode d utilisation debug ou optimis e Faire la m me chose au niveau du linker ligne OPTL du LINK e Positionn
33. ion de la m moire qui consiste d charger sur disque certains objets allou s par le code pour lib rer de la RAM La strat gie OOC permet de traiter des probl mes plus gros mais ces acc s disque ralentissent le calcul contrario le mode In Core IC consiste garder les objets en RAM Cela limite la taille des probl mes accessibles mais privil gie la vitesse Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster Metzer CS default Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 15 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 4 3 Calculs l mentaires d alg bre lin aire Utilisation avanc e Astk modification du fichier btc P rim tre d utilisation calculs comportant des r solutions de syst mes lin aires via MUMPS PETSC et ou des op rations de type BL AG co teuses Nombre de processeurs conseill s 2 ou 4 Gain en temps e apsed Speed up Gains variables suivant les cas efficacit parall le gt 50 Une granularit faible suffit pour que ce parall lisme reste efficace 107 degr s de libert par processeur Type de parall lisme threads Sc nario 1c du S3 Une utilisation classique consiste tirer parti d un parall lisme hybride MPIl threads pour prolonger les performances du MPI 1c 2
34. lismes g n ralistes et fiables procurent des gains notables en CPU et en RAM Leur param trisation est simple leur mise en uvre facilit e via les menus de l outil Astk Ils peuvent facilement se cumuler en amont et ou en aval des syst mes lin aires avec le parall lisme des calculs l mentaires 1b Remarque D autres cumuls de parall lisme peuvent s op rer Leur mise en oeuvre n est pas automatis e et ils s adressent des utilisateurs plut t avanc s 1c 2b ou 2c 2a 3a 1a 2a 2b 2c 3a 1 Ceux ci sont variables suivant les fonctionnalit s sollicit es et leur param trage le jeu de donn es et la plate forme logicielle utilis e Il s agit essentiellement de gain en temps de calcul Sauf dans le cas de MUMPS de PETSC et de FETI o l on peut aussi gagner en m moire Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence GNU FDL http www gnu org copylett fdl html Code Aster Katie Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 6 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 1a 1c 2b Certains cumuls sont cependant proscrits car contre productifs 1c 2a ou non pr vus fonctionnellement 2b 2c 3a D autres sont intrins ques la m thode par ex 1b 3a En pratique pour une utilisation standard l utilisateur n a plus se soucier de la mise en uvre fine du
35. ll cf exemple ci dessous qui duplique pour chaque processus MPI l espace de travail initialis par l tape pr c dente sur chaque processeur allou qui source l environnement de travail et qui lance le calcul Aster avec le param trage usuel La syntaxe exacte de ces deux derniers points et le nom du r pertoire de travail sont rappel s en fin de fichier message l issu de la pr paration du calcul 23 En g n ral une impl mentation MPI se pr sente sous la forme de wrappers par ex mpicc mpif90 et d un lanceur Le wrapper est un enrobage des compilateurs qui appellent les bons fichiers d ent te sur la ligne de compilation et fait l dition de liens avec les bonnes biblioth ques MPI Le lanceur par ex mpiexec mpirun prun permet comme son nom l indique de lancer l ex cutable parall le Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Co d e A ster Version default Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 25 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 mkdir p tmp mon etude Nom al atoire de la directory locale cp r home mon etude preparee tmp mon etude Pr paration de la directory de travail cd tmp mon etude On se place dans ce nouvel espace de travail export OMP NUM THREADS
36. me MPI que sur la partie r solution parall lisme 2b Remarque Lorsque la part du calcul consacr e la construction du syst me lin aire est faible lt 5 les deux modes d utilisation centralis ou distribu affichent des gains en temps similaires Par contre seule l approche distribu e procure en plus des gains sur les consommations RAM Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster pa CS default Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 21 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 5 3 Solveurit ratif PETSC Utilisation grand public via Astk P rim tre d utilisation calculs comportant des r solutions de syst mes lin aires co teuses en g n ral STAT DYNA NON LINE MECA STATIQUE Plut t des probl mes non lin aires de grandes tailles Nombre de processeurs conseill s quelques dizaines voire centaines Gain en temps CPU et en m moire RAM suivant les pr conditionneurs Speed up gains variables suivant les cas efficacit parall le gt 50 Il faut une granularit moyenne pour que ce parall lisme reste efficace 5 104 degr s de libert par processeur Type de parall lisme MPI Sc nario 2c du 3 Cha nage 1b 2b c possible et r alisable via Astk Cha nages 1a 2c 1c 2c
37. moins de sous domaines que ne le pr voit la distribution cyclique il peut plus se consacrer en temps et en m moire la coordination du probl me d interface Cette astuce peut tre payante lorsque bon nombre de sous domaines sont flottants La gestion de leurs modes rigides peut alors tellement p naliser le processeur 0 qu il peut tre int ressant de r quilibrer artificiellement la charge en lui enlevant 1 ou 2 sous domaine s La mise en uvre de ce parall lisme s effectue de mani re transparente l utilisateur Elle s initialise par d faut d s qu on lance un calcul via Astk menu Options utilisant plusieurs processus MPI Ainsi sur le serveur centralis Aster il faut param trer les champs suivants e mpi nbcpu m nombre de processeurs allou s en MPI nombre de processus MPI e facultatif mpi nbnoeud p nombre de n uds sur lesquels vont tre dispatch s ces processus MPI Cependant il faut veiller ce que le param trage m q r reste licite il faut au moins un SD par processeur m me pour le proc 0 Une fois ce nombre de processus MPI fix on peut lancer son calcul en batch sur la machine centralis avec le m me param trage qu en s quentiel On peut bien s r baisser les sp cifications en temps du calcul et surtout en m moire 20 Concernant les gains m moire que procurer FETI ceux ci peuvent r sulter de la conjugaison de l effet multi domaines de l OOC et de la distr
38. ns les calculs l mentaires assemblages CHAM ELEM RESU ELEM MATR ASSE et CHAM NO ne dimensionnent pas les contraintes m moire du calcul cf 5 de U1 03 03 Normalement leur occupation m moire est n gligeable compar e celle du solveur lin aire Mais lorsque ce dernier par ex MUMPS est lui aussi Out Of Core et parall lis en MPI avec la r partition des donn es entre processeurs que cela implique cette hi rarchie n est plus forc ment respect e D o l introduction d une option mot cl MATR DISTRIBUEE cf U4 50 01 permettant de v ritablement retailler au plus juste le bloc de matrice Aster propre chaque processeur Remarques e Pour plus d informations sur l impact du parall lisme sur les structures de donn es et sur les structures de donn es distribu es on pourra consulter le wiki du site e En mode distribu chaque processeur ne manipule que des matrices incompl tes retaill es ou non Par contre afin d viter de nombreuses communications MPI lors de l valuation des crit res d arr t calculs de r sidus ce sc nario n a pas t retenu pour les vecteurs seconds membres Leurs construction est bien parall lis e mais l issu de l assemblage les contributions partielles de chaque processeur sont somm es Ainsi tout processeur conna t enti rement les vecteurs impliqu s dans le calcul 13 L Out Of Core OOC est un mode de gest
39. r en parall le au moins trois cas de figures peuvent se pr senter e On a acc s la machine centralis e Aster et on souhaite utiliser l interface d acc s Astk s On effectue des calculs sur un cluster ou sur une machine multicoeur avec Astk Idem que le cas pr c dent mais sans Astk Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence GNU FDL http www gnu org copylett fdl html Code Ast s O e ster default Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 2 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 Table des Mati res 2 2 STEE TEE 5 2 3 Parall lisme m canique ou multidomaine een 5 ee TE EE 9 ale EE 9 SET D Eer EC 10 Sd EE ele EE 10 3 4 Cal ON EE 10 Meute ee 12 4 1 Rampes de IERT e ER 12 4 2 Calculs l mentaires et assemblages snteneinnmeenintenen 13 EE NRA teen dde nas taie ban da dan aimants tante 13 4 2 3 Structures de donn es distribu es 15 4 3 Calculs l mentaires d alg bre N ant ne hnee rente anna tease EES Edel 16 4 4 INFO_MODE MACRO_MODE_MECA parall les nan 18 D PAS MES UT HOTEL nn Ee 19 5 1 Solveur direct MULT FERONT eer um nn nues ee 19 ee d El 20 5 2 S lveur t ratit EEN 22 6 Paral lisme Oe EES eege 23 Lee el E NEE 23 7 Annexe 1 Construction d une
40. r lin aire MUMPS permet de r duire le pic m moire Autres bras de levier fonctionnement en Out Of Core et changement de renum roteur 5 Pour baisser les consommations m moire de MUMPS on peut aussi jouer sur d autres param tres OOC et relaxation des r solutions U4 50 011 6_Il n y a par contre pas de r gle universelle tous les param tres doivent tre ajust s au cas par cas Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence GNU FDL http www gnu org copylett fdl html Co d e A ster Version mis default Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 10 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 aux solveurs directs g n riques 2a 2b Surtout si les r solutions sont relax es car par la suite elles sont corrig es par un processus englobant algorithme de Newton de THER STAT NON LINE Pour les gros probl mes modaux en taille de probl me et ou en nombre de modes il faut bien s r penser utiliser MACRO MODE MECA 7 C est dire que l on va tre moins exigeant quant la qualit de la solution Cela peut passer par un crit re d arr t m diocre le calcul d un pr conditionneur frustre et sa mutualisation durant plusieurs r solutions de syst me lin aire Les fonctionnalit s des solveurs non lin aires et lin aires de Code Aster
41. r son calcul s quentiel en tenant compte des conseils qui fourmillent dans les documentations des commandes Pour ce faire on utilise si possible un maillage plus grossier et ou on n active que quelques pas de temps Le param trage par d faut et les affichages alarmes du code proposent un fonctionnement quilibr et instrument On liste ci dessous et de mani re non exhaustive plusieurs questions qu il est int ressant de se poser lorsqu on cherche parall liser son calcul Bien s r certaines questions et r ponses sont cumulatives et peuvent donc s appliquer simultan ment 3 1 Pr ambule Il est int ressant de valider au pr alable son calcul parall le en comparant quelques it rations en mode s quentiel et en mode parall le Cette d marche permet aussi de calibrer les gains maximums atteignables speed up th oriques et donc d viter de trop gaspiller de processeurs Ainsi si on note f la portion parall le du code d termin e par exemple via un run s quentiel pr alable alors le speed up th orique A maximal accessible sur p processeurs se calcule suivant la formule d Amdhal cf R6 01 03 82 4 1 dh EE Kee p Par exemple si on utilise le parall lisme MUMPS bic pa d faut sc narios 1b 2b et que les tapes de construction r solution de syst me lin aire repr sentent 90 du temps s quentiel f 0 90 le speed up th orique est born la valeur Se 10 Et ce quelque soit le nombre de p
42. robl me Toutefois sur ce dernier point l usage g n ralis et param tr par d faut de MUMPS simple pr cision comme pr conditionneur PRE COND LDLT SP a consid rablement am lior les choses 19 Pour tirer pleinement partie de la mutualisation du pr conditionneur entre diff rents pas de Newton Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence GNU FDL http www gnu org copylett fdl html Code Aster defaut Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 22 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 6 Parall lisme multi domaine 6 1 Solveur hybride FETI Utilisation grand public via Astk P rim tre d utilisation calculs comportant des r solutions de syst mes lin aires co teuses en g n ral STAT DYNA NON LINE MECA STATIQUE Pour des probl mes fronti res Solveur de recherche utiliser plut t en lin aire Nombre de processeurs conseill s 16 ou 32 Gain en temps CPU et en m moire RAM surtout Speed up gains variables suivant les cas Il faut une assez grosse granularit pour que ce parall lisme reste efficace 5 10 degr s de libert par processeur Type de parall lisme MPI Sc nario 3a du 3 Cha nage 1b 3a intrins que Cumuls 2a 3a 1c 3a possibles via Astk utilisations avanc es Ce solveur hybri
43. rocessus MPI allou s Il est int ressant d valuer les principaux postes de consommation temps RAM en m canique quasi statique ce sont g n ralement les tapes de calculs l mentaires assemblages de r solution de syst me lin aire et les algorithmes de contact frottement Mais leurs proportions d pendent beaucoup du cas de figure caract ristiques du contact taille du probl me complexit des lois mat riaux Si les calculs l mentaires sont importants il faut les parall liser via la sc nario 1b sc nario par d faut Si au contraire les syst mes lin aires focalisent l essentiel des co ts les sc narios 2a ou 2b peuvent suffire Par contre si c est le contact frottement qui dimensionne le calcul il faut chercher optimiser son param trage et ou parall liser son solveur lin aire interne cf m thode GCP MUMPS En dynamique si on effectue un calcul par projection sur base modal cela peut tre cette derni re tape qui s av re la plus co teuse Pour gagner du temps on peut alors utiliser l op rateur MACRO MODE MECA en s quentiel et surtout en parall le Cet op rateur exhibe une distribution de t ches quasi ind pendante qui conduit de bons speed ups IS Pour optimiser son calcul parall le il faut surveiller les ventuels d s quilibres de charge du flot de donn es CPU et m moire et limiter les surco ts dus aux d chargements m moire JEVEUX et MUMPS OOC et aux archivage
44. s chacun va comporter 100 mailles 3D auxquelles vont tre rattach es 10 mailles de peau 2D Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence GNU FDL http www gnu org copylett fdl html Code Aert on oae_ASter default Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 14 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 surcharger le processeur ma tre si par exemple il est mapp sur un n ud de calcul disposant de plus de m moire ou plus rapide e Le traitement diff renci des mailles tardives concernent principalement les Lagranges mais pas seulement Ce cas de figure se retrouvent aussi avec les forces nodales les changes thermiques la m thode de contact continue 4 2 3 Structures de donn es distribu es La distribution des donn es qu implique ce type de parall lisme num rique ne diminue pas forc ment les consommations m moire JEVEUX Par soucis de lisibilit maintenabilit les objets Aster usuels sont initialis s avec la m me taille qu en s quentiel On se contente juste de les remplir partiellement suivant les mailles dont a la charge le processeur On ne retaille donc g n ralement pas ces structures de donn es au plus juste elles comportent beaucoup de valeurs nulles Cette strat gie n est tenable que tant que les objets JEVEUX principaux impliqu s da
45. s de champs Sur le sujet on pourra consulter la documentation U1 03 03 indicateur de performance d un calcul temps m moire Elle indique la marche suivre pour tablir les bons diagnostics et elle propose des solutions Pour MACRO MODE MECA le respect du bon quilibrage de la charge est crucial pour l efficacit du calcul parall le toutes les sous bandes doivent comporter un nombre similaire de modes On conseille donc de proc der en trois tapes eCalibrage pr alable de la zone spectrale par des appels INFO MODE si possible en parall le Examen des r sultats Lancement en mode POURSUITE du calcul MACRO MODE MECA parall le proprement dit Pour plus de d tails on pourra consulter la documentation utilisateur de l op rateur U4 52 02 Quelques chiffres empiriques Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster defaut Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 9 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 3 2 3 3 3 4 On conseille d allouer au moins 5 10 degr s de libert par processus MPI Un calcul thermo m canique standard b n ficie g n ralement sur 32 processeurs d un gain de l ordre de la dizaine en temps e apsed et d un facteur 4 en m moire RAM
46. surtout il permettra de compenser le surco t m moire du premier niveau voire de diminuer notablement le pic m moire s quentiel Pour un usage optimal de MACRO MODE MECA parall le il est donc conseill de Construire des sous bandes de calcul relativement quilibr es Pour ce faire on peut donc au pr alable calibrer le spectre tudi via un appel INFO MODE U4 52 01 si possible en parall le Puis lancer le calcul MACRO MODE MECA parall le en fonction du nombre de sous bandes choisies et du nombre de processeurs disponibles De prendre des sous bandes plus fines qu en s quentiel entre 10 et 20 modes au lieu de 40 80 modes en s quentiel La qualit des modes et la robustesse du calcul s en trouvera accrue Le pic m moire en sera diminu Il reste cependant avoir suffisamment de processeurs disponibles et avec assez de m moire S lectionner un nombre de processeurs qui est un multiple du nombre de sous bandes non vides Ainsi on r duit les d s quilibrages de charges qui nuisent aux performances Pour plus de d tails on pourra consulter la documentation utilisateur de l op rateur U4 52 02 18 Du fait des buffers MPI requis par les communications de vecteurs propres en fin de MODE ITER SIMULT Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence G
47. vants e ncpus n nombre de processeurs utilis s par les threads Une fois ce nombre de threads fix on peut lancer son calcul en batch sur la machine centralis avec le m me param trage qu en s quentiel On peut bien s r baisser les sp cifications en temps du calcul Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster defaut Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 19 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 5 2 Solveur direct MUMPS Utilisation grand public via Astk P rim tre d utilisation calculs comportant des r solutions de syst mes lin aires co teuses en g n ral STAT DYNA NON LINE MECA STATIQUE Nombre de processeurs conseill s 16 ou 32 voire plus surtout si coupl e avec 1c Gain en temps CPU et en m moire RAM y compris la partie JEVEUX si MATR DISTRIBUEE activ e Speed up Gains variables suivant les cas efficacit parall le 30 Il faut une granularit moyenne pour que ce parall lisme reste efficace environ 5 104 degr s de libert par processeur Type de parall lisme MPI Sc nario 2b du 83 Nativement con u pour se coupler aux parall lismes informatiques 1c et surtout 1b via Astk Cha nage 1a 2a potentiel utilisateurs avanc s
48. ventuels sous communicateurs doivent tre d truits Car on ne sait pas si l op rateur qui suit dans le fichier de commandes a pr vu un flot de donn es incomplet Il faut donc organiser les communications idoines pour compl ter les champs ventuellement incomplets Remarque Entre chaque commande l utilisateur peut m me changer la r partition des mailles suivant les processeurs ll lui suffit d utiliser la commande MODI MODELE Ce m canisme reste licite lorsqu on encha ne diff rents calculs mode POURSUITE La r gle tant bien s r que cette nouvelle r partition perdure pour le mod le concern jusqu l ventuel prochain MODI MODELE et que cette r partition doit rester compatible avec le param trage parall le du calcul nombre de n uds processeurs 3 Et tr s proches de la base g n r e en mode s quentiel Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Copyright 2015 EDF R amp D Document diffus sous licence GNU FDL http www gnu org copylett fdl html Code Aster Katie SE default Titre Notice d utilisation du parall lisme Date 04 04 2013 Page 8 25 Responsable Olivier BOITEAU Cl U2 08 06 R vision 10797 3 Quelques conseils pr alables On formule ici quelques conseils pour aider l utilisateur tirer parti des strat gies de calcul parall le du code Mais il faut bien tre conscient qu avant tout chose il faut d abord optimiser et valide
Download Pdf Manuals
Related Search
Related Contents
Silicon Power Touch 851 Using and Programming Gryphon for Engineers Contact : - GAP Hygiène Santé RGR150 Wireless Rain Gauge with Thermometer and Clock nEar04 Benutzerhandbuch User Manual Version 2.0 Cuiseur à vapeur combiné Mode d`emploi Conseils de réglage Fortinet FortiAnalyzer-3500E Sony 4-169-142-11(1) Blu Copyright © All rights reserved.
Failed to retrieve file