Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Bibliothèques Scientifiques
Constructeurs – Domaine public 17-21 Octobre 2005 Formation Continue CNRS Laurence Viry
2
Sommaire Objectifs Présentation des bibliothèques
Bibliothèques monoprocesseur (publique et constructeurs) Bibliothèques en Fortran90 Bibliothèques // Principe d’une bibliothèque // Mise en œuvre pratique BLACS SCALAPACK NAG// PETSC Performances Scalapack FFT3d de la LIBSCI 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry
3
Intérêt de l’utilisation des bibliothèques
Apporte portabilite et performances Ne pas refaire ce qui a été fait, testé, optimisé Prise en compte de facteurs qui ne sont pas contrôlable par un non-spécialiste Indépendance vis-à-vis du type des données (simple ou double précision…) Indépendance vis-à-vis de la représentation des données (matrices symétriques, creuses, ….) Choix du meilleur algorithme Stabilité numérique de l’algorithme Optimisation en fonction de l’architecture Optimisation en fonction du cas à traiter 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry
4
Classification des bibliothèques disponibles
Bibliothèques portables Disponibles sur la plupart des plates-formes Du domaine public: BLAS, LAPACK,ARPACK,SCALAPACK, FFTW, PETSC,… Commerciales: IMSL et NAG Bibliothèques fournies par les constructeurs Chaque constructeur de calculateur scientifique a développé sa propre bibliothèque(ESSL-IBM, CXML-HP/COMPAQ, SCILIB-SGI…) Elles sont optimisées (en principe) pour les machines concernées Elles ne sont pas portables 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry
5
Bibliothèques monoprocesseur BLAS
BLAS: bibliothèque qui fournit des opérations algébriques de bas niveau Versions: en Fortran domaine public ( constructeur optimisée à l’architecture des machines Trois sections BLAS1 : opérations vecteur/vecteur y=alpha*x + y BLAS2 : opérations matrice/vecteur y=alpha*A*x + y BLAS3 : opérations matrice/matrice C=alpha*AB+C 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry
6
Bibliothèques monoprocesseur BLAS
Généricité du stockage Diversification vers: d’autres langages (ADA, C) d’autres architectures (version MPI, version OpenMP) 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry
7
LAPACK (Linear Algebra Package)
LAPACK est un ensemble de sous-programmes qui permet de résoudre: Systèmes d’équations linéaires Problèmes aux valeurs propres Factorisation: LU, Cholesky, QR, Schur, Schur généralisé… Les matrices considérées sont pleines ou bandes (matrice creuses non traitées) de nombres réels ou complexes en simple ou double précision 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry
8
NAG (Numerical Algorithms Group) Bibliothèque mathématique
Versions: Fortran 77 version 19 1155 sous programmes Fortran 90 Version 4 Plus de 250 sous-programmes avec des interfaces génériques C Version 6 Plus de 450 sous-programmes 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry
9
NAG Vise à optimiser 5 critères Adaptée à d’autres architectures
Utilité Robustesse Stabilité numérique Précision Performance Adaptée à d’autres architectures Version mémoire distribuée avec MPI Version mémoire partagée avec OpenMP En constante évolution 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry
10
IMSL Partie statistique sans équivalent dans les autres bibliothèques
Versions Fortran77 / Fortran 90 / Parallèle – MPI C Java 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry
11
Bibliothèques Constructeurs
NEC ASL (Advanced Scientific Library), Mathkeisan Versions séquentielle et parallèle IBM ESSL (Engineering and Scientific Subroutine Library) Version séquentielle et parallèle SGI et Cray Scilib (Scientific Library) HP/COMPAQ CDSL SUN SUN Performance Library 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry
12
Bibliothéques mathématiques Fortran90
NAG fl90 (version 4) Plus de 250 sous-programmes génériques Couvre presqe tous les domaines IMSL F90 MP (version 4) Plus de 60 sous-programmes génériques Couvre l’algèbre linéaire, fft, la génération de nombres aléatoires Version 95 de LAPACK 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry
13
Intel MKL (Math Kernel Librairies)
Bibliothèque mathématique optimisée sur Processeur Intel Pentium 3,4… Itanium :64-bit Compilateur Intel Fortran version 5.0 et plus CVF Fortran version 6.0 et plus Intel C++ version 5.0 et plus Microsoft Visual C version 6.0 et plus Contenu (Interface C et Fortran) BLAS et “extended BLAS“ (matrice creuse) LAPACK Transformées de Fourier rapide 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry
14
Bibliothèques Parallèles
Domaine public PBLAS, SCALAPACK,FFTW,PLAPACK,PETSC… Constructeur PESSL ,IBM ASL et MATHKEISAN – NEC Scilib chez SGI et Cray … Bibliothèques commerciales NAG Parallel NAG SMP IMSL MP 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry
15
BLACS Bibliothèque standard de communication permettant sur une grille prédéfinie de processus : D’échanger des blocs de matrices De les diffuser globalement D’effectuer des réductions Écrit en C Plusieurs implémentations: MPI PVM3.3 Syntaxe standard sur tous les systèmes 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry
16
PBLAS (Parallel BLAS) Défini et réalisé dans le cadre de la réalisation de SCALAPACK L’équivalent des BLAS1,2 et 3 pour les machines à mémoire distribuée Interface aussi proche que possible de celle des BLAS Utilise les BLACS pour les communications 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry
17
ScaLAPACK (Scalable LAPACK)
Le projet ScaLAPACK est divisé en quatre composants La bibliothèque ScaLAPACK: algèbre linéaire pour les matrices denses La bibliothèque PARPACK (Parallel ARPACK): recherche de valeurs propres dans de très grosses matrices La bibliothèque CAPSS (Cartesian Parallel Sparse Solver) et MFACT (matrice creuse définie positive) La bibliothèque PARPRE ( Parallel PREconditioners): préconditionneurs pour les matrices creuses quelconques. 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry
18
Bibliothèque ScaLAPACK
Portable sur tout système Deux implémentations basées sur PVM ou MPI Version actuelle 1.7 (Aout 2001) Basée sur les bibliothèques PBLAS et BLACS Les domaines traités sont: Résolution de système linéaires et factorisation Inversion de matrice Systèmes de valeurs propres … 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry
19
STRUCTURE DE ScaLAPACK
PBLAS Global Local LAPACK BLACS BLAS MPI/PVM/…
20
PETSC (Portable Extensive Toolkit for Scientific Computation)
Résolution des gros systèmes d’équations linéaires Utilisable en version mono et multi processeurs Programmation utilisant les concepts objets Version actuelle (Août 2003) Utilisée dans de nombreuses applications scientifiques (biologie, CFD, Nano-simulation,optimisation,…) www-unix.mcs.anl.gov/petsc/petsc-2/ 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry
21
FFTW Transformées de Fourier : Mono et multi-dimensionnelles
Complexes ou réelles Utilisable en version mono et multiprocesseurs Implémentation performante (benchmarck sur la rapidité et la précision sur le site de FFTW) Écrit en C avec une interface pour le langage Fortran Version actuelle 3.1 Site FFTW: 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry
22
NAG Parallel Version 3 Plus de 180 sous-programmes Version 2
Deux versions: Pour machines à mémoire répartie Version 3 Plus de 180 sous-programmes Pour machines à mémoire partagée (NAG SMP) Version 2 Plus de 230 sous-programmes Voir site: 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry
23
IMSL Parallel Se prête à la répétition d’un calcul sur des jeux de données différents Partie intégrante de la bibliothèque Fortran (Fortran 90 MP) La mise en œuvre de la parallélisation est cachèe 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry
24
Bibliothèques parallèles constructeurs
IBM : ESSL PBLAS et ScaLAPACK Transformées de Fourier 2D et 3D Génération de nombres aléatoires SGI et CRAY : Scilib (Scientific Library) NEC : ASL et MATHKEISAN PARBLAS (BLAS en mode mémoire partagée) 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry
25
NAG // Scilib PETSC IMSL K ScaLAPACK PBLAS LAPACK BLAS BLACS MPI/PVM/…
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.