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[1].
Dépôt | github.com/Reference-LAPACK/lapack |
---|---|
Écrit en | Fortran |
Type | Bibliothèque logicielle |
Licence | BSD 3-clauses |
Site web | netlib.org/lapack |
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
modifierL'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
modifierLAPACK 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- 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
modifierBibliographie
modifier- E. Anderson et al., LAPACK Users' Guide, 3e éd., SIAM, 1999 (ISBN 978-0-898714-47-0)
Liens externes
modifier- Site officiel
- PLAPACK
- LAPACK compilée pour Windows sur le site de l'université du Tennessee