LAPACK

bibliothèque logicielle écrite en Fortran, dédiée à l'algèbre linéaire numérique
(Redirigé depuis Lapack)

LAPACK (pour Linear Algebra Package) est une bibliothèque logicielle écrite en Fortran, dédiée comme son nom l'indique à l'algèbre linéaire numérique. Elle a été développée initialement par l'université du Tennessee, le Courant Institute of Mathematical Sciences, le Numerical Algorithms Group, l'université Rice et les laboratoires d'Argonne et Oak Ridge[2].

LAPACK
Description de l'image LAPACK logo.svg.

Informations
Dernière version 3.12.0 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/Reference-LAPACK/lapackVoir et modifier les données sur Wikidata
Écrit en FortranVoir et modifier les données sur Wikidata
Type Bibliothèque logicielleVoir et modifier les données sur Wikidata
Licence BSD 3-clausesVoir et modifier les données sur Wikidata
Site web netlib.org/lapackVoir et modifier les données sur Wikidata

Cette bibliothèque fournit notamment des fonctions pour la résolution de systèmes d'équations linéaires, le calcul de valeurs propres et les décompositions de matrices (LU, QR, SVD, Cholesky).

LAPACK dépend de la bibliothèque BLAS (Basic Linear Algebra Subprograms). Elle est disponible sur Netlib.

Objectifs

modifier

L'objectif premier de LAPACK est de rendre l'EISPACK plus facilement utilisable et ainsi être plus largement utilisée. De plus, elle permet d'utiliser la bibliothèque LINPACK. Elle fonctionne relativement efficacement avec un ordinateur ayant une mémoire partagée et utilisant un processeur vectoriel. Sur certaines machines, LINPACK et EISPACK sont malheureusement inefficaces car leurs accès à la mémoire ne respectent pas la hiérarchie de mémoire des ordinateurs. En effet, les machines prennent trop de temps pour déplacer les données au lieu de faire des calculs en virgule flottante.

Résolution du problème avec les processeurs multi-cœurs

modifier

LAPACK a résolu le problème des processeurs multi-cœurs en réorganisant les algorithmes à utiliser pour les opérations matricielles par blocs, comme la multiplication. Ces dernières peuvent être optimisées pour chaque architecture afin de tenir compte de la hiérarchie mémoire de chaque machine. Ainsi, elle atteint un rendement élevé sur les machines modernes, la plupart étant justement multi-cœurs.

Notes et références

modifier
  1. « Release 3.12.0 », (consulté le )
  2. E. Anderson et al., LAPACK: a portable linear algebra library for high-performance computers, Proceedings of the 1990 ACM/IEEE conference on Supercomputing (ISBN 0-89791-412-0)

Voir aussi

modifier

Bibliographie

modifier

Liens externes

modifier