Les librairies (blibliothèques) sous Linux sont un ensemble de fonctions, classes et méthodes regroupées dans un seul fichier.
Les avantages sont nombreux : réutilisation des composants donc une seule librairie à mettre à jour,plusieurs versions différentes d’une librairie peuvent cohabiter, les développeurs spécialisés peuvent se concentrer sur une seule librairie.
Types de librairies
Statiques | Dynamiques | |
---|---|---|
Extension de fichier | .a | .so |
Exécution | lié au programme | référencé par les programmes |
Librairie | devient partie du programme | ne fait pas partie du programme |
Avantages | Exécution/chargement de la librairie plus rapides | Code moins lourd, librairies indépendantes |
Inconvénients | Programmes plus lourds et recompilation lors d’un changement de librairie | Exécution et chargement des fonctions de la librairie plus lents |
Statiques
Le code de la librairie est dans son fichier, et est directement lié au programme lors de l’exécution. Le programme fait des copies du code de la librairie, qui devient partie du programme. L’extention des librairies des fichiers .a
Avantages : Exécution et chargement de la librairie plus rapides
Inconvénients : Programmes plus lourds, nécessité de recompiler lors d’un changement de librairie
Dynamiques
Le code de la librairie est aussi dans son fichier, mais il est référencé par les programmes lors de leur exécution. Le code ne fait pas partie du programme. L’extention des librairies des fichiers .so
Avantages : Code moins lourd, librairies indépendantes du code (pratique pour mise à jour ou plusieurs versions)
Inconvénient : Exécution et chargement des fonctions de la librairie plus lents
Implémentations
Les implémentations libres sont disponibles dans les répertoires /usr/local
et /usr/lib64
ATLAS
ATLAS : Automatically Tuned Linear Algebra Software
Outil qui optimise principalement les librairies BLAS (Basic Linear Algebra Subprogram)
- Installation :
yum install atlas atlas-devel
- Documentation : http://www.netlib.org/blas
LAPACK
LAPACK : Linear Algebra Package
Ensemble de sous-programmes Fortran permettant de résoudre des problèmes d’algèbre linéaire
- Installation :
yum install lapack lapack-devel
- Documentation : http://www.netlib.org/lapack
ScaLAPACK
ScaLAPACK : Ensemble de sous-programmes Fortran permettant de résoudre des problèmes d’algèbre linéaire via MPI
- Installation :
archive tgz
depuis site internet - Documentation : http://www.netlib.org/scalapack/index.html
FFTW
FFTW : Ensemble de sous-programmes C permettant le calcul de transformations de Fourier discrètes (pas de support MPI)
- Installation :
yum install fftw fftw-devel
- Documentation : http://www.fftw.org
Intel propose ses propres solutions optimisées nommées Intel MKL
- Documentation et téléchargement : https://software.intel.com/en-us/mkl
HDF
HDF : modèle pour stocker et gérer des données
• Téléchargement et documentation : https://support.hdfgroup.org/
• Type de téléchargement : Fichier source (bzip ou gzip)
(P)netcdf
(P)netcdf = (Parallel) netCDF et une librairie d’entrée-sortie haute performance pour accéder à des fichiers compatibles avec le format NetCDF (https://fr.wikipedia.org/wiki/NetCDF)
• Téléchargement : http://cucis.ece.northwestern.edu/projects/PnetCDF/download.html
• Type de téléchargement : Fichier source tar.gz
Documentation
https://fr.wikipedia.org/wiki/NetCDF
http://cucis.ece.northwestern.edu/projects/PnetCDF/download.html
https://software.intel.com/en-us/mkl
http://www.fftw.org
http://www.netlib.org/scalapack/index.html
http://www.netlib.org/lapack
http://www.netlib.org/blas
Formation Linux HPC (pdf)