Home
[U2.08.06] Notice d`utilisation du parallélisme
Contents
1. L usage de CALC MODES avec l option BANDE d coup e en plusieurs sous bandes 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 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 o
2. Pour les gros probl mes modaux en taille de probl me et ou en nombre de modes il faut bien s r penser utiliser CALC MODES avec l option BANDE d coup e en plusieurs sous bandes 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 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 default Titre Notice d utilisation du parall lisme Date 13 11 2014 Page 11 24 Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 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
3. 1 S Es p Par exemple si on utilise le parall lisme MUMPS ebie 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 processus 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 modale 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 CALC MODES avec l option BANDE d coup e en plusieurs sous bandes en s quentiel et surtou
4. 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 13 11 2014 Page 19 24 Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 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 Cette m thode multifrontale s appuie sur le produit exte
5. 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 Matos CS default Titre Notice d utilisation du parall lisme Date 13 11 2014 Page 15 24 Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 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 2b 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 lan
6. 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 impose 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 l impose Dans le cas de INFO MODE CALC MODES avec l option BANDE d coup e en plusieurs sous bandes 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 processeur
7. 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 GNU FDL http www gnu org copylett fdl html Co d e A ster Version default Titre Notice d utilisation du parall lisme Date 13 11 2014 Page 16 24 Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 e Ce type de parall lisme permet de
8. 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 Es Titre Notice d utilisation du parall lisme Date 13 11 2014 Page 22 24 Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 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 13 11 2014 Page 23 24 Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 6 Annexe 1 Construction d une version parall le de Code Aster 6 1 6 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 w
9. 08 06 R vision 12714 En pratique pour une utilisation standard l utilisateur n a plus se soucier de la mise en uvre fine du 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 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 CALC MODES avec l option BANDE d coup e en plusieurs sous bandes pour les sous bandes fr quentielles Solveurs lin aires non distribu s LDLT GCPC HULT_FRONT PETSC l A Conservation du m me fiotde donn es Caicuis 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 9y MUMPS sur 2 MUMPS sur 2 MUMPS sur 2 MUMPS sur 2
10. 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 Aster rh an default Titre Notice d utilisation du parall lisme Date 13 11 2014 Page 20 24 Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 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 lisme MPI que sur la partie r solution parall lisme 2b Remarque Lo
11. Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 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 valider 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
12. 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 MODELE 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 l op
13. 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 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 traitem
14. 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 domaines 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 Aster rh an default Titre Notice d utilisation du parall lisme Date 13 11 2014 Page 14 24 Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 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 dans 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 l
15. 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 pros an default Titre Notice d utilisation du parall lisme Date 13 11 2014 Page 12 24 Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 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 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
16. processeurs eege processeurs processeurs Figure 3 1b _ Lors d un calcul modal parall le avec INFO MODE CALC MODES avec l option BANDE d coup e en plusieurs sous bandes 1d 2b Recherche modale dans 4 sous bandes fr quentielles sur 8 processeurs via n importe quel solveur modal coupl au solveur lin aire MUMPS Pour tous les op rateurs de calcul hormis INFO MODE et CALC MODES avec l option BANDE d coup e en plusieurs sous bandes le parall lisme est d abord guid par la distribution des mailles sur les diff rents processeurs Cette distribution des 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 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 W er Titre Notice d utilisation du parall lisme Date 13 11 2014 Page 7 24 Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 Suivant le cas de figure solveur lin aire distribu MUMPS PETSC 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
17. rateur DEFI PARTITION 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 Titre Notice d utilisation du parall lisme Date 13 11 2014 Page 13 24 Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 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 4 2 2 D s quilibrage de charge Pour optimiser un calcul parall le il faut essayer d quilibrer le
18. toutes les autres strat gies de parall lisme licite 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 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 par rapport aux consommations s quentielles T 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
19. 3 S0lVeur it ratif EE 21 6 Annexe 1 Construction d une version parall le de Code_Aster 23 6 1 Version paralele OpenMP crniiin aaa oaa aada aedade aia iada a 23 6 2 Version paralele E EE 23 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 pe Titre Notice d utilisation du parall lisme Date 13 11 2014 Page 3 24 Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 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 CALC MODES U4 52 021 avec l option BAN
20. Code Aster eni CS default Titre Notice d utilisation du parall lisme Date 13 11 2014 Page 1 24 Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 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 Ast
21. DE d coup e en plusieurs sous bandes 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 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 CALC MODES avec l option BANDE d coup e en plusieurs sous bandes 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 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 dhgjeveux I rep_outils F rep_dex M rep_mat F
22. ORBinitRef Param tres nbmaxnook 5 cpresok RESNOOK facmtps 1 corefilesize unlimited Options de lancement EE ombre de threads class depart distrib fashdir Nombre de noeuds exectool Nombre de processeurs MPI Figure 2 1 _ 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 ou CALC MODES avec l option BANDE d coup e en plusieurs sous bandes on commence par distribuer les sous bandes fr quentielles puis on tient compte du parall lisme ventuel 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 Maas SE default Titre Notice d utilisation du parall lisme Date 13 11 2014 Page 4 24 Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 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 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 cifi
23. aires Les sch mas parall les 1d et surtout 2b c sont les plus pl biscit s Ils supportent une utilisation industrielle et grand public Ces parall 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 1a 2a 2b 2c 1a 1c 2b Certains cumuls sont cependant proscrits car contre productifs 1c 2a ou non pr vus fonctionnellement 2b 2c D autres sont intrins ques la m thode par ex 1b 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 et de PETSC 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 K ier Titre Notice d utilisation du parall lisme Date 13 11 2014 Page 6 24 Responsable Olivier BOITEAU Cl U2
24. cations 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 peuvent 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 eh oae_Aster default Titre Notice d utilisation du parall lisme Date 13 11 2014 Page 5 24 Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 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 scr
25. cement 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 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
26. 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 probl me Toutefois sur ce dernier point l usage g n ralis et param
27. e 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 s Une fois que l on a distribu son calcul Code Aster MUMPS 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 gie parall le 2c 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 r
28. ent 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 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 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 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 11 12 Maille 1 pour le proc 1
29. er 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 Aert pisse O e ster default Titre Notice d utilisation du parall lisme Date 13 11 2014 Page 2 24 Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 Table des Mati res 2 2 Parall liSMeS ee TEE 5 2 COMMENTAIRES ere EE 5 ee TE EE 8 3 lPR AM MIEEE LS Us ne mms Lama ee 8 See D Ee ee EC 9 E el ele EE 9 JA GaN en temp E 9 Mentee 11 4 1 Rampes de IERT ee EE 11 4 2 Calculs l mentaires et assemblages sushi 12 EE 12 4 2 3 Structures de donn es distribu es emouenttuonnnnsnantitepemmmnencesanemeet nenanne st 13 4 3 Calculs l mentaires d alg bre ISA 222 258 ee KEREN e 15 4 4 INFO_MODE CALC_MODES avec l option BANDE d coup e en plusieurs sous bandes pael EE 17 5 Parall lismes DUERCH ncnian iniaa ai aat abiada badana tale Mur in on lates aa 18 51 S0Meur direct MULT TC ME 18 5 2 Solver direct MMS Eet 19 5
30. faut Titre Notice d utilisation du parall lisme Date 13 11 2014 Page 18 24 Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 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 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 suivants e ncpus n nombre de processeurs utilis s par les threads
31. iexec 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 copylett fdl html Co d e A ster Version default Titre Notice d utilisation du parall lisme Date 13 11 2014 Page 24 24 Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 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 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 copyleft fdl html
32. iki 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 83 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 0 OPTF90 D O Il y en a une pour chaque langage et chaque mode d utilisation debug ou optimis s Faire la m me chose au niveau du linker ligne OPTL du LINK e Positionner 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 Asfk 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 cf 3 grands traits il faut tout d abord e Choisir une impl mentation MPI compatible optimis e pour sa plate forme ma
33. im 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 parall le 2c peuvent procurer des gains en temps tr s appr ciables par rapport aux solveurs 4 Distribuer sur plus de processus le solveur 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 13 11 2014 Page 10 24 Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 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
34. ipt 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 MPI Gain en CPU voire m me gain en m moire avec MUMPS MATR DISTRIBUEE 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 CALC MODES avec l option BANDE d coup e en plusieurs sous bandes 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 Comment
35. orsque 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 gestion 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
36. 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 Astk 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 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
37. 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 on Titre Notice d utilisation du parall lisme Date 13 11 2014 Page 17 24 Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 4 4 INFO MODE CALC MODES avec l option BANDE d coup e en plusieurs sous bandes 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 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
38. ptimal de CALC MODES avec l option BANDE d coup e en plusieurs sous bandes parall lis es 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 CALC MODES avec l option BANDE d coup e en plusieurs sous bandes parall lis es 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 GNU FDL http www gnu org copylett fdl html Code Aster de
39. r defaut Titre Notice d utilisation du parall lisme Date 13 11 2014 Page 9 24 Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 3 2 3 3 3 4 Quelques chiffres empiriques 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 elapsed et d un facteur 4 en m moire RAM Pour CALC MODES avec l option BANDE d coup e en plusieurs sous bandes parall lis es 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 triqu
40. rne 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 aire parall le doit tre utilis en mode distribu PARALLELISME
41. rsque 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 pr CS default Titre Notice d utilisation du parall lisme Date 13 11 2014 Page 21 24 Responsable Olivier BOITEAU Cl U2 08 06 R vision 12714 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 potentiels utilisateurs avanc s Cette biblioth que
42. s 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 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 Maas SE default Titre Notice d utilisation du parall lisme Date 13 11 2014 Page 8 24
43. t en parall le Cet op rateur exhibe une distribution de t ches quasi ind pendantes qui conduit de bons speed ups 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 archivages 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 CALC MODES avec l option BANDE d coup e en plusieurs sous bandes 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 CALC MODES avec l option BANDE d coup e en plusieurs sous bandes parall lis es Pour plus de d tails on pourra consulter la documentation utilisateur de l op rateur U4 52 021 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 Aste
44. t 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 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 faut pr parer son calcul en mode s quentiel par ex avec le menu pre d Astk e Si on ne souhaite pas utiliser Astk il faut crire un script shell 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 20 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 mp
Download Pdf Manuals
Related Search
Related Contents
SB-80DX Samsung SF-650 用戶手冊 Manual del Usuario Equip 3-Socket Power Strip SOUNDLISTE - ALPIN MASTER 128 Delta 538-SSMPU-DST Installation Guide 2 - CONRAD Produktinfo. Allied Telesis AT-2874SX/SC-001 OMA-H-IL17AF-02 RollMaster Express GB Copyright © All rights reserved.
Failed to retrieve file