Les bibliothèques scientifiques
🔁 Bibliothèques séquentielles
| Bibliothèque | Usage |
|---|---|
| ARPACK | Routines Fortran77 permettant de rechercher les valeurs propres et les vecteurs propres de matrices creuses. |
| BLAS | Ensemble de fonctions réalisant des opérations de base de l'algèbre linéaire. |
| GSL | Bibliothèque numérique proposant un large éventail de routines mathématiques. |
| LAPACK | Routines Fortran permettant de résoudre des problèmes d'algèbre linéaire dense. |
| METIS | Bibliothèque séquentielle de partitionnement de graphes. |
🔀 Bibliothèques séquentielles et parallèles, CPU et GPU
| Bibliothèque | Usage |
|---|---|
| CUDA Toolkit | Ensemble de librairies scientifiques pour GPU comprenant CuFFT, CuBLAS, CuSPARSE, CuSOLVER et bien plus. |
| FFTW | Routines séquentielles et parallèles permettant de calculer la transformation de Fourier discrète. |
| HYPRE | Solveurs linéaires incluant des méthodes multigrilles. |
| INTEL MKL | Routines mathématiques comprenant BLAS, LAPACK, ScaLAPACK, des solveurs creux et FFT. |
| MATIO | Bibliothèque C pour lire et écrire des fichiers MAT MATLAB. |
| MAGMA | Ensemble de librairies d'algèbre linéaire spécifiques pour GPU similaires à LAPACK. |
| MUMPS | Solveur multifrontal parallèle pour systèmes linéaires creux de grande taille. |
| ParMETIS | Bibliothèque parallèle de partitionnement de graphes. |
| PARPACK | Version parallèle de la bibliothèque ARPACK de calcul de valeurs propres et/ou vecteurs propres. |
| PETSc | Structures de données et routines pour la résolution parallèle des systèmes linéaires. |
| ScaLAPACK | Routines Fortran permettant de résoudre en parallèle des problèmes d'algèbre linéaire dense. |
| Suite Sparse | Collection d'algorithmes pour matrices creuses. |
| Trilinos | Ensemble 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.
| Option | Description |
|---|---|
--soft | Active 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-cudaErreurs 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.