Librairie Linux

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)

LAPACK

LAPACK : Linear Algebra Package
Ensemble de sous-programmes Fortran permettant de résoudre des problèmes d’algèbre linéaire

ScaLAPACK

ScaLAPACK : Ensemble de sous-programmes Fortran permettant de résoudre des problèmes d’algèbre linéaire via MPI

FFTW

FFTW : Ensemble de sous-programmes C permettant le calcul de transformations de Fourier discrètes (pas de support MPI)

Intel propose ses propres solutions optimisées nommées Intel 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)

> Partager <