Bibliothèques Scientifiques

Slides:



Advertisements
Présentations similaires
Architecture de machines Le microprocesseur
Advertisements

Cours n° 6 Standard Template Library I.
1 HPC et Windows 2003 CCS pour les développeurs Visual Studio 2005.
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Applications de GdX Coordinateur thématique : Christophe Cérin
Cours MIAGE M1 « Urbanisation des Systèmes dInformation » Henry Boccon-Gibod Urbanisation des Systèmes dInformation L'informatisation des métiers.
TER Visualisation 3D de calculs électromagnétiques Production : Sébastien JOB Jean-Christophe LARRE Cédric PIOVANO Encadrement : Fabrice HUET.
Le Grid Computing Par Frédéric ARLHAC & Jérôme MATTERA.
Le Grid Computing et son utilisation dans les entreprises et les industries Laurent CANTONE Résoul UNAL.
Cours n° 8 Conception et Programmation à Objets
Objectif de l’exposé.
13 – 16 Décembre 2005 Laurence Viry Introduction à MPI MPI_2.
Introduction à MPI 13 – 16 Décembre 2005 Laurence Viry.
17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry Analyse et Optimisation de code Techniques doptimisation.
Informatique parallèle hautes performances
Modèle polyédrique: fondements et application à la parallélisation de programmes réguliers Tanguy Risset DIF 2001/2002.
Parallélisation d’un Algorithme CNFT
INTRODUCTION.
Architecture de machines Principes généraux
Animation de solides en contact par modèle physique
MAGNIN Pierre 2 MIC D MAILLARD Adrien 2 MIC D Soutenance le 17/06/09.
Calcul et programmation au lycée avec Scilab
ASI 3 Méthodes numériques pour l’ingénieur
MinMax et Alpha-Beta.
Bibliothèque standard du C++
Atelier ADOMOCA Nov 2007 Hervé Le Berre & Daniel Cariolle Une méthode plus robuste pour la résolution des systèmes chimiques Projet ANR SOLSTICE.
Optimisation et parallélisation de code pour processeur à instructions SIMD multimedia François Ferrand.
Marc MEDALE École Polytechnique Universitaire de Marseille
SCIENCES DE L ’INGENIEUR
Structures de données IFT-2000 Abder Alikacem Standard Template library Édition Septembre 2009 Département dinformatique et de génie logiciel.
Les systèmes multiprocesseurs Ph. Sèvre le 19/12/08.
Franck Cappello CNRS, LRI, Université Paris-sud
Microsoft .NET.
Algorithmique (Introduction)
Parallel Programming in C with MPI and OpenMP
Détection du meilleur format de compression pour une matrice creuse dans un environnement parallèle hétérogène Olfa HAMDI-LARBI.
Séminaire DEN/DSOE/Simulation sur le calcul hautes performances: le 7 novembre /17 Numerical Platon Contexte –outil daide aux développements de codes.
Introduction IFT6800 – E2008 Pierre Poulin.
L’adaptativité pour un solveur de l’équation de Vlasov
Hé bonhomme, le calcul matriciel,
Conditions aux Frontières Ouvertes
Soutenance de stage 16 Mai au 5 Août 2011
Soutenance de stage 16 Mai au 5 Août 2011
Importance du réseau dans des architectures MIMD Tout échange entre les processeurs nécessite un transfert de données via le réseau.
Soutenance de stage 16 Mai au 5 Août 2011
Guillaume TORRENTE Marc BOUISSOU Recherche & Développement
INTRODUCTION.
Présentation rapide d’
8INF856 Programmation sur architectures parallèles
Plate-forme MIRAGE Méso-Informatique Répartie pour des Applications en Géophysique et Environnement.
Multiprécision.
Calcul parallèle => partitionner les données en sous-groupes associés aux processeurs. P0 P2 P1.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Programmation parallèle
PARALLÉLISATION AUTOMATIQUE D’ALGORITHMES
PROJET CAPS Compilation, Architecture, Parallélisme et Système.
2008/ Plan du cours 1.Introduction –Contenu du cours 2.Logique mathématique –Calcul propositionnel –Calcul des prédicats –Logique floue et aide à.
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Performance de circuits.
Introduction aux solutions Microsoft pour le HPC.
PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03.
PROJET CAPS Compilation, Architecture, Parallélisme et Système.
Implémentation d’un opérateur de répartition de sources lumineuses
Réalisation d’un logiciel de Chiffrement RSA.
L’arrivée des versions parallèles des modèles de l’IPSL Adapter les codes aux architectures multiprocesseurs des futures machines afin d’améliorer les.
05/10/2001Etat de Spm Parallel ( Gérald Vétois ) Etat de Spm Parallel.
Présentation de Séminaire
GdR MoMaS Novembre 2003 Conditions d’interface optimales algébriques pour la vibro-élasticité. François-Xavier Roux (ONERA) Laurent Sériès (ONERA) Yacine.
Novembre 2003 Simulation numérique en vibro-acoustique par couplage de deux codes parallèles Unité de Recherche Calcul à Haute Performance François-Xavier.
GPU sous LabVIEW eTIG_OOP_ Plan de la présentation 1.Frameworks OOP référencés 2.Performances d’accés 3.Performances de compilation 4.Erreurs.
Transcription de la présentation:

Bibliothèques Scientifiques Constructeurs – Domaine public 17-21 Octobre 2005 Formation Continue CNRS Laurence Viry

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

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

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

Bibliothèques monoprocesseur BLAS BLAS: bibliothèque qui fournit des opérations algébriques de bas niveau Versions: en Fortran domaine public (www.netlib.org/blas) 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

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

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

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

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

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

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

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

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

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

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

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

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. www.netlib.org/scalapack/scalapack_home.html 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry

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

STRUCTURE DE ScaLAPACK PBLAS Global Local LAPACK BLACS BLAS MPI/PVM/…

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 2.1.6 (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

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: www.fftw.org 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry

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: www.nag.co.uk/numeric/numerical_librairies.asp 17-21 Octobre 2005 Formation Continue - CNRS Laurence Viry

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

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

NAG // Scilib PETSC IMSL K ScaLAPACK PBLAS LAPACK BLAS BLACS MPI/PVM/…