1 / 8

Numerical Platon

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.

gitano
Download Presentation

Numerical Platon

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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. 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. Numerical Platon PETSc Numerical Platon Code DEN HYPRE Méthodes CEA

  4. Numerical Platon CODE DEN Méthodes numériques de haut niveau Niveau 1 Niveau 2 NUMERICAL PLATON Interface aux opérateurs de base et aux fonctions numériques (BLAS, opérateurs d’accès aux données, ...) Méthode de haut niveau optimisée et donc devenue disponible dans l’interface Interface C Interface C++ Interface Fortran 77 Interface python Interface Ocaml Interface C Structures et fonctions parallèle F77 (OpenMP et/ou PVM et/ou MPI) Structures et fonctions parallèles C ou C++ (OpenMP et/ou PVM et/ou MPI) Niveau 3 Bibliothèques de base Structures et fonctions Fortran pour machine vectorielle Structures et fonctions C Structures et fonctions F77 Classes C++ Bibliothèques destinées aux calculs de type parallèle Bibliothèques destinées aux calculs de type scalaire Bibliothèques destinées aux calculs de type vectoriel

  5. Numerical Platon • Etat des lieux

  6. 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. 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. 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

More Related