Upload
thibauld-mahe
View
107
Download
2
Embed Size (px)
Citation preview
1/17Séminaire DEN/DSOE/Simulation sur le calcul hautes performances: le 7 novembre 2002
Numerical Platon
• Contexte
– outil d’aide aux développements de codes de nouvelle génération
– accéder à des librairies de calcul numérique par l’intermédiaire d’une interface unique
– gérer de manière transparente pour l’utilisateur les aspects séquentiel, vectoriel et le parallélisme
2/17Séminaire DEN/DSOE/Simulation sur le calcul hautes performances: le 7 novembre 2002
Numerical Platon
• Objectifs
– une seule interface standardisée disponible dans différents langages (C, C++, Fortran77, Ocaml, python)
– utiliser la meilleure bibliothèque disponible– se limiter aux vecteurs et matrices à deux dimensions– être évolutive– supporter le parallélisme (données et traitements), mais optimal sur les
machines scalaires et vectorielles– gestion du parallélisme automatique en fonction de la machine et de la
taille des données, ou imposée par l’utilisateur– offrir des primitives de lecture/écriture sur fichier tout en masquant la
problèmatique des accès parallèles
3/17Séminaire DEN/DSOE/Simulation sur le calcul hautes performances: le 7 novembre 2002
Numerical Platon
Code DEN Numerical Platon
PETSc
HYPRE
Méthodes CEA
4/17Séminaire DEN/DSOE/Simulation sur le calcul hautes performances: le 7 novembre 2002
Numerical Platon
Niveau 1
Niveau 2
NUMERICALPLATON
Méthodes numériques de haut niveau
Interface aux opérateurs de base et aux fonctions numériques(BLAS, opérateurs d’accès aux données, ...)
Interface C
Interface C Interface Fortran 77 Interface Ocaml Interface C++
Méthode de hautniveau optimiséeet donc devenuedisponible dans
l’interface
Niveau 3Bibliothèques
de base
Structures etfonctions F77
Structures etfonctions C Classes C++
Structures et fonctionsparallèle F77
(OpenMP et/ou PVMet/ou MPI)
Structures et fonctionsparallèles C ou C++
(OpenMP et/ou PVMet/ou MPI)
Structures et fonctionsFortran pour machine
vectorielle
Bibliothèques destinées aux calculsde type scalaire
Bibliothèques destinées aux calculsde type parallèle
Bibliothèques destinées aux calculs
de type vectoriel
CODE DEN
Interface python
5/17Séminaire DEN/DSOE/Simulation sur le calcul hautes performances: le 7 novembre 2002
Numerical Platon
• Etat des lieux
PETSc www-fp.mcs.anl.gov/petsc Ensemble de solveurs directs et itératifs pour matrices denses ou creuses
distribuée
ScaLapack www.netlib.org/scalapack Ensemble de solveurs et fonctions d’algèbre linéaire de base pour matrices denses ou
creuses
distribuée
Sparskit et PSparsLib
www.cs.umn.edu/~saad/software/home.html Idem pour matrices creuses uniquement distribuée
NagMPI et NagSMP
www.nag.co.uk/numeric/numerical_libraries.asp Bibliothèque commerciale de solveurs directs et itératifs pour matrices dense et creuses
distribuée
partagée
IMSL parallèle www.vni.com/index.html Bibliothèque commerciale de solveurs et BLAS (pas de matrices creuses)
distribuée
Aztec www.cs.sandia.gov/CRF/astec1.html Ensemble de solveurs itératifs distribuée
HyPre www.llnl.gov/CASC/hypre Ensemble de solveurs itératifs pour matrices creuses
distribuée
partagée
PARMS www.cs.umn.edu/~saad/software/pARMS Ensemble de solveurs itératifs pour matrices creuses
distribuée
Bibl. Compaq cxml partagée
6/17Séminaire DEN/DSOE/Simulation sur le calcul hautes performances: le 7 novembre 2002
Numerical Platon
• Méthodes de résolution disponibles
– Utilisation de PETSc pour le parallélisme distribué, associé aux logiciels suivants: BlockSolve95, SPAI, SuperLU, LAPACK et BLAS
– Développement au LGLS en OpenMP pour le parallélisme partagé associé à la version multi-threads de SuperLU
• Méthodes directes: factorisations de Cholesky et LU avec renumérotations
• Méthodes itératives: CG, GMRES, BICGSTAB, CGS, TFQMR associées aux pré-conditionneurs: DIAG, SSOR, ICC(k), ILU(k), SPAI et POLY
Fin 2002: utilisation de HyPre => méthodes multi-grilles
7/17Séminaire DEN/DSOE/Simulation sur le calcul hautes performances: le 7 novembre 2002
Numerical Platon
• Utilisation de NP: GENEPI, OVAP, APOLLO2, FLICA4, collaboration EDF, Alliances
– difficulté d’intégration dans un code séquentiel existant (GENEPI, APOLLO2, FLICA4, OVAP)
=> assemblage séquentiel de la matrice
mode maître/esclave pour la résolution parallèle
(demande un effort supplémentaire de restructuration du code pour obtenir un code réellement SPMD)
– facilité d’intégration dans un nouveau code (EDF, Alliances)
=> assemblage de la matrice et résolution en parallèle (SPMD)
8/17Séminaire DEN/DSOE/Simulation sur le calcul hautes performances: le 7 novembre 2002
Numerical Platon
• Plan de développement
– Version V1.3 disponible (PETSc, BlockSolve95, SuperLU, SPAI, développements CEA en OpenMP) avec sa documentation: « Users guide and reference manual »
– Portage et installation: IBM/AIX, PC/linux, Compaq SC256, SUN/solaris, SGI/IRIX, HP/UX, Fujitsu
– Utilisation de NP: GENEPI, TRIO-U, OVAP, APOLLO2, FLICA4, collaboration EDF, Alliances
– Développement V2.0: Interfaçage avec HyPre (fin 2002)
– Veille technologiques: nouvelles librairies (PARMS) ou nouvelle version des librairies existantes