Aller au contenu principal

Les bibliothèques scientifiques


🔁 Bibliothèques séquentielles

BibliothèqueUsage
ARPACKRoutines Fortran77 permettant de rechercher les valeurs propres et les vecteurs propres de matrices creuses.
BLASEnsemble de fonctions réalisant des opérations de base de l'algèbre linéaire.
GSLBibliothèque numérique proposant un large éventail de routines mathématiques.
LAPACKRoutines Fortran permettant de résoudre des problèmes d'algèbre linéaire dense.
METISBibliothèque séquentielle de partitionnement de graphes.

🔀 Bibliothèques séquentielles et parallèles, CPU et GPU

BibliothèqueUsage
CUDA ToolkitEnsemble de librairies scientifiques pour GPU comprenant CuFFT, CuBLAS, CuSPARSE, CuSOLVER et bien plus.
FFTWRoutines séquentielles et parallèles permettant de calculer la transformation de Fourier discrète.
HYPRESolveurs linéaires incluant des méthodes multigrilles.
INTEL MKLRoutines mathématiques comprenant BLAS, LAPACK, ScaLAPACK, des solveurs creux et FFT.
MATIOBibliothèque C pour lire et écrire des fichiers MAT MATLAB.
MAGMAEnsemble de librairies d'algèbre linéaire spécifiques pour GPU similaires à LAPACK.
MUMPSSolveur multifrontal parallèle pour systèmes linéaires creux de grande taille.
ParMETISBibliothèque parallèle de partitionnement de graphes.
PARPACKVersion parallèle de la bibliothèque ARPACK de calcul de valeurs propres et/ou vecteurs propres.
PETScStructures de données et routines pour la résolution parallèle des systèmes linéaires.
ScaLAPACKRoutines Fortran permettant de résoudre en parallèle des problèmes d'algèbre linéaire dense.
Suite SparseCollection d'algorithmes pour matrices creuses.
TrilinosEnsemble d'algorithmes dans un cadre logiciel orienté objet C++ pour la résolution de problèmes scientifiques.

Commande idr_module_search 🔎

La commande idr_module_search développée par l'IDRIS vous permet de savoir si la libraire que vous cherchez est installée sur Jean Zay et, si oui, dans quelle(s) version(s) et pour quelle(s) architecture(s) (CPU, V100, A100 et/ou H100).

idr_module_search [options] <my_library>
important

Initialement, cette commande a été implémentée pour la recherche de paquets Python dans nos environnements conda. Les options fournies n'ont donc pas toutes un sens dans le cas de recherche d'une librairie HPC. Nous ne présentons ici que les options utiles dans ce cas d'usage : --soft et --arch.

OptionDescription
--softActive le mode soft. En activant ce mode, vous pouvez lister plusieurs noms de librairies au sein d'une même commande.
--arch <architecture>Limite la recherche à une architecture spécifique. Les valeurs acceptées sont cpu, v100, a100 et h100 (non sensibles à la casse). Par défaut, toutes les architectures sont considérées.
-h [--help]Affiche l'aide et quitte.

Exemples d'utilisation

  • Recherche simple : idr_module_search petsc
  • Recherche de plusieurs librairies : idr_module_search --soft petsc metis
  • Recherche filtrée par architecture : idr_module_search --arch a100 petsc
Exemple
idr_module_search --soft --arch a100 petsc metisModule metis/5.1.0 A100:        metis==5.1.0Module metis/5.1.0-int32-real64 A100:        metis==5.1.0-int32-real64Module metis/5.1.0-int64-real64 A100:        metis==5.1.0-int64-real64Module petsc/3.22.1-mpi-cuda A100:        petsc==3.22.1-mpi-cudaModule petsc/3.23.2-mpi-cuda A100:        petsc==3.23.2-mpi-cuda
Erreurs possibles
  • Version invalide : l'ajout d'une contrainte sur la version n'est possible que pour la recherche de paquets Python (idr_module_search "numpy>=1.20.0" par exemple). La fonctionnalité n'est pas adaptée à la recherche de librairies HPC.
  • Nom de paquet invalide : les noms doivent respecter le format standard.