8
1/17 Sé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

Séminaire DEN/DSOE/Simulation sur le calcul hautes performances: le 7 novembre 2002 1/17 Numerical Platon Contexte –outil daide aux développements de codes

Embed Size (px)

Citation preview

Page 1: Séminaire DEN/DSOE/Simulation sur le calcul hautes performances: le 7 novembre 2002 1/17 Numerical Platon Contexte –outil daide aux développements de codes

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

Page 2: Séminaire DEN/DSOE/Simulation sur le calcul hautes performances: le 7 novembre 2002 1/17 Numerical Platon Contexte –outil daide aux développements de codes

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

Page 3: Séminaire DEN/DSOE/Simulation sur le calcul hautes performances: le 7 novembre 2002 1/17 Numerical Platon Contexte –outil daide aux développements de codes

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

Page 4: Séminaire DEN/DSOE/Simulation sur le calcul hautes performances: le 7 novembre 2002 1/17 Numerical Platon Contexte –outil daide aux développements de codes

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

Page 5: Séminaire DEN/DSOE/Simulation sur le calcul hautes performances: le 7 novembre 2002 1/17 Numerical Platon Contexte –outil daide aux développements de codes

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

Page 6: Séminaire DEN/DSOE/Simulation sur le calcul hautes performances: le 7 novembre 2002 1/17 Numerical Platon Contexte –outil daide aux développements de codes

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

Page 7: Séminaire DEN/DSOE/Simulation sur le calcul hautes performances: le 7 novembre 2002 1/17 Numerical Platon Contexte –outil daide aux développements de codes

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)

Page 8: Séminaire DEN/DSOE/Simulation sur le calcul hautes performances: le 7 novembre 2002 1/17 Numerical Platon Contexte –outil daide aux développements de codes

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