Home
[U2.08.06] Notice d`utilisation du parallélisme
Contents
1. U2 08 06 R vision 5559 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 hybride 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 pr
2. 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 10 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 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 Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aert on oae_ASter default Titre Notice d utilisation du parall lisme Date 16 02 2011 Page 12 21 Responsable Olivier BOITEAU Cl U2 08 06 R vision 5559 4 3 Calculs l mentaires d alg bre lin aire Utilisation avanc e Asfk 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 BLAS co teuses Nombre de processeurs conseill s 2 ou 4 Gain en temps elapsed 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
3. par processeur Type de parall lisme threads Sc nario 1c du S3 Une utilisation classique consiste tirer parti d un parall lisme hybride MPl 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 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 Astk 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 fi
4. 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 suivants 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 Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster default Titre Notice d utilisation du parall lisme Date 16 02 2011 Page 15 21 Responsable Olivier BOITEAU Cl U2 08 06 R vision 5559 5 2 Solveur
5. 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 moi 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 p
6. op rateur MODI MODELE On peut aussi utiliser ce m canisme pour artificiellement 8 9 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 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 Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster au default Titre Notice d utilisation du parall lisme Date 16 02 2011 Page 11 21 Responsable Olivier BOITEAU Cl U2 08 06 R vision 5559 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
7. 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 15 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 distribution de donn es inh rente au parall lisme 16 17 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 Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster defaut Titre Notice d utilisation du parall lisme Date 16 02 2011 Page 19 21 Responsable Olivier BOITEAU Cl U2 08 06 R vision 5559 Remarques e Cette r partition sous domaine processeur
8. 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 Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster defaut Titre Notice d utilisation du parall lisme Date 16 02 2011 Page 20 21 Responsable Olivier BOITEAU Cl U2 08 06 R vision 5559 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 o
9. 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 Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster default Titre Notice d utilisation du parall lisme Date 16 02 2011 Page 9 21 Responsable Olivier BOITEAU Cl U2 08 06 R vision 5559 4 2 Calculs l mentaires et assemblages 4 2 1 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 Mise en oeuvre D sormais la mise en uvre du parall lisme dans les op rateurs effectuant des calculs l
10. 6 02 2011 Page 4 21 Responsable Olivier BOITEAU Cl U2 08 06 R vision 5559 2 G n ralit s 2 1 2 2 2 3 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 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 Parall lismes informatiques 1a Lancement de rampes de calculs ind pendants similaires calculs param triques Tests Parall lisme via un script shell Gain en CPU Lancement standard via Astk 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 et m me gain en m moire avec MUMPS MATR_DISTRIBUEE et FETI Lancement standard via Astk 1c Distribution des calculs d alg bre lin aire effectu s par des Blas multithread es Gain en CPU Utilisation avanc e Parall lismes num riques 2a Solveur direct MULT FRONT Parall lisme OpenMP Gain en CPU Lancement standard via Astk 2b Solveur direct MUMPS Parall lisme MPI Gain en CPU et en m m
11. 90 le speed up th orique est born la valeur Se 10 Et ce quelque soit le nombre de processus MPI allou s S p 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 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 Quelques chiffres empiriqu
12. Code Aster Wie CS default Titre Notice d utilisation du parall lisme Date 16 02 2011 Page 1 21 Responsable Olivier BOITEAU Cl U2 08 06 R vision 5559 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 sept 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 parall lisme hybride ou extension de la portion parall le du code 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 P
13. E Thaisin aaia aaa 18 7 Annexe 1 Construction d une version parall le de Code_Aster 20 7 i Version parallele epes denge eege 20 T2 Version parallele E EE 20 Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster K ier Titre Notice d utilisation du parall lisme Date 16 02 2011 Page 3 21 Responsable Olivier BOITEAU Cl U2 08 06 R vision 5559 1 Le parall lisme en un clic D sormais la mise en uvre du parall lisme dans Code_Aster s effectue de mani re quasi transparente pour l utilisateur G n ralement l essentiel des co ts en temps et en m moire du calcul proviennent des constructions et des r solutions de syst mes lin aires Il faut donc commencer par rep rer ces r solutions 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 Pour ce faire on sp cifie la valeur MUMPS au mot cl SOLVEUR METHODE 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 s mpi nbcpu m nombre de processeurs allou s en MPI
14. I 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 Si le syst me matriciel que PETSC doit r soudre est issu de calculs l mentaires assemblages parall lis s Strat gie parall le 2b ces flots de donn es incomplets sont automatiquement rassembl s Pour l instant seul un flot de donn centralis le m me pour tous les processeurs a t mis en place Le parall lisme reste interne PETSC On perd donc dans le couplage 1b 2c du temps dans des communications MPI collectives e Contrairement aux solveurs parall les directs MUMPS MULT FRONT les it ratifs ne sont pas universels et 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 Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster defaut Titre Notice d utilisation du parall lisme Date 16 02 2011 Page 18 21 Responsable Olivier BOITEAU Cl
15. PI 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 2b 2c 3a on distribue les mailles entre les processeurs cf figure 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 2 Menus Options ncpus mpi nbcpus mpi nbnoeud Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster pe Z default Titre Notice d utilisation du parall lisme Date 16 02 2011 Page 5 21 Responsable Olivier BOITEAU Cl U2 08 06 R vision 5559 3 1 Cette distribution se d cline de diff rentes mani res et elle est param trable dans les op rateurs AFFE MODI MODELE Dans le cas d op rateurs de calcul MECA STATIQUE STAT NON LINE cette distribution des mailles des calculs l mentaires 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 FETI ou non MULT FRONT PETSC on fournit les donn es par morceaux ou a
16. 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 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
17. ace 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 Lagrange par exemple une charge de pression Cette information ne servira pas dans le calcul effectif des seuls objets d crivant la distribution maille processeur 4 2 2 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 maill
18. ble 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 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 18 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 biblio
19. chier 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 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 11 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 12 On gagne au moins un facteur 2 sur les temps consomm s par les tapes parall lis es en quadruplant le nombre de processeurs 13 Les BLAS sont massivement utilis es dans les solveurs lin aires MUMPS PETSC 14 II deviendrait alors
20. 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 Document diffus sous licence GNU FDL http www gnu org copylett fdl html Code Aert Maer oae_ASter default Titre Notice d utilisation du parall lisme Date 16 02 2011 Page 16 21 Responsable Olivier BOITEAU Cl U2 08 06 R vision 5559 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 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 Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster defaut Titre Notice d utilisation du parall lisme Date 16 02 2011 Page 17 21 Responsable Olivier BOITEAU Cl U2 08 06 R
21. contradictoire celui sauvegard dans le Gro Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster K ier CS default Titre Notice d utilisation du parall lisme Date 16 02 2011 Page 13 21 Responsable Olivier BOITEAU Cl U2 08 06 R vision 5559 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 Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster defaut Titre Notice d utilisation du parall lisme Date 16 02 2011 Page 14 21 Responsable Olivier BOITEAU Cl U2 08 06 R vision 5559 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
22. 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 3 107 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 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 A
23. 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 rep_dex Frep_mat F ORBinitRef Param tres nbmaxnook 5 cpresok RESNOOK facmtps 1 corefilesize unlimited Options de lancement ombre de threads classes depart distrib flashdir exectool Nombre de processeurs MPI Nombre de noeuds Figure 21 Param tres d Astk consacr s au parall lisme Une fois ce nombre de processus MPI fix on peut lancer son calcul en batch sur la machine centralis 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 au cha nage des strat gies de calcul parall le 1b et 2b d crites au paragraphe suivant 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 Document diffus sous licence GNU FDL http www gnu org copylett fdl html Code Aster defaut Titre Notice d utilisation du parall lisme Date 1
24. es on conseille d allouer au moins 20 000 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 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 Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster default Titre Notice d utilisation du parall lisme Date 16 02 2011 Page 7 21 Responsable Olivier BOITEAU Cl U2 08 06 R vision 5559 3 3 Gain en m moire RAM 3 4 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 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
25. es 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 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 Les param tres CHARGE PROCO MA SD peuvent tre modifi s en cours de calcul via l
26. impose De toute fa on tout calcul parall le Aster sauf bien s r le sc nario 1a de calculs ind pendants doit respecter le paradigme suivant les bases globales de chaque processeur sont identiques la fin de chaque op rateur 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 Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Document diffus sous licence GNU FDL http www gnu org copylett fdl html Code Aster defaut Titre Notice d utilisation du parall lisme Date 16 02 2011 Page 6 21 Responsable Olivier BOITEAU Cl U2 08 06 R vision 5559 3 Quelques conseils pr alables 3 1 3 2 On formule ici quelques conseils pour aider l utilisateur tirer parti des strat gies de calcul paral
27. k 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 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
28. l 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 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 Sp maximal accessible sur p processeurs se calcule suivant la formule d Amdhal cf R6 01 03 82 4 1 ES Par exemple si on utilise le parall lisme MUMPS distribu par 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
29. n 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 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 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 compati
30. nsomm s par les tapes parall lis es en quadruplant le nombre de processeurs 7 Du mod le Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster defaut Titre Notice d utilisation du parall lisme Date 16 02 2011 Page 10 21 Responsable Olivier BOITEAU Cl U2 08 06 R vision 5559 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 interf
31. ocesseur 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 f 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 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
32. oire Lancement standard via Astk 2c Solveur it ratif PETSC Parall lisme MPI du solveur de Krylov g n ralement pas du pr conditionneur Gain en CPU et en m moire Lancement standard via Astk Parall lisme m canique ou multidomaine 3a Solveur hybride FETI Parall lisme MPI Gain en CPU et en m moire Lancement standard via Astk Les parall lismes num riques 2a et surtout 2b 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 3a 1a 2a 2b 2c 3a 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 D un point de vue pratique l utilisateur n a plus se soucier pour une utilisation standard de leur mise en uvre en interaction fine avec les solveurs lin aires En renseignant des menus d di s d Astk on fixe le nombre de processeurs requis en terme M
33. our 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 un des op rateurs DEFI PART FETI DEFI PART OPS T 6 On gagne au moins un facteur 2 sur les temps co
34. our utiliser Code Aster en parall le au moins trois cas de figures peuvent se pr senter on a acc s la machine centralis e Aster et on souhaite utiliser l interface d acc s Astk 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 Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Ast Weien O e ster default Titre Notice d utilisation du parall lisme Date 16 02 2011 Page 2 21 Responsable Olivier BOITEAU Cl U2 08 06 R vision 5559 Table des Mati res 2 2 STEE e TEE A 2 3 Parall lisme m canique ou multidomaine ns 4 3 Quelques conseils EE 6 SCENE ege ee eege eg 6 ee D Ee ei EE 6 E El Ore EEN 7 JA GaN en temp E 7 Meteo aaa a aaa idadaan daaa aia 8 4 1 Rampes de e ERT E E E 8 4 2 Calculs l mentaires et assemblages sneeemeeinenenn 9 A2 MISE ROGUVIO EE 9 4 2 3 Structures de donn es distribu es sonnentanntiiinnnnancesanemetenennansen nn 11 4 3 Calculs l mentaires d alg bre ISA ees eege EES 12 5 Parall lismes DORENNER EE 14 Ee ele d UE ST NEE 14 5 2 S lveur direct El 15 5 3 S0lve r iteratif PETSC nauriin rniii aano aaa aa aaa a E A aa 17 6 Paralelisme EE hoced ak aaraa tee ne dent ten 18 6 1 SolVeur hybride F
35. pr 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 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 Solveurs lin aires non distribu s LDLT GCPC HULT_FRONT PETSC We E e lt x Conservation du m me flotde donn es Caiculs l mentaires Assemblages Calculs l mentaires Assemblages Figure 3 1 _ Lors d un calcul parall le distribution des flots de donn es traitements suivant les op rateurs pr post traitement ou r solution et le type de solveur utilis Dans le cas d un op rateur de pr post traitements type CALC ELEM l encore on ne rassemble les donn es ou on effectue les communications MPI idoines que si le d roulement algorithmique l
36. 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 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 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 3 Pour baisser les consommations m moire de MUMPS on peut aussi jouer sur d a
37. ster 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 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
38. th 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 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 16 02 2011 Page 21 21 Responsable Olivier BOITEAU Cl U2 08 06 R vision 5559 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 Document diffus sous licence GNU FDL http www gnu org copyleft fdl html
39. utres param tres OOC et relaxation des r solutions U4 50 011 4 n ya par contre pas de r gle universelle tous les param tres doivent tre ajust s au cas par cas 5 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 Manuel d utilisation Fascicule u2 08 Fonctions avanc es et contr le des calculs Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster defaut Titre Notice d utilisation du parall lisme Date 16 02 2011 Page 8 21 Responsable Olivier BOITEAU Cl U2 08 06 R vision 5559 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 Asf
40. vision 5559 5 3 Solveur it 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 bien conditionn s 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 3 104 degr s de libert par processeur Type de parall lisme MPI Sc nario 2c du 3 Cha nage 1b 2c possible et r alisable via Astk Cha nages 1a 2c 1c 2c 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 bien conditionn 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 MP
Download Pdf Manuals
Related Search
Related Contents
Samsung YP-T7FX Instrukcja obsługi Integral INPCIE64G70MXB solid state drive Creative Labs Sound Blaster Recon3D PCIe Ultimate T2-604 Instruction manual Mathville 1 School Edition User Manual Manual de Produto - PTS Philips DVDR3570H 160 GB Hard Disk/DVD Recorder SIERRA DE CALAR PENDULAR SEGHETTO A PENDOLO PSTK Copyright © All rights reserved.
Failed to retrieve file