Aller au contenu principal

Les bibliothèques ARPACK et PARPACK


Description

ARPACK (ARnoldi PACKage) est une bibliothèque de sous-programmes Fortran77 permettant de rechercher les valeurs propres et les vecteurs propres de grosses matrices creuses. La bibliothèque est basée sur les algorithmes itératifs de Lanczos/Arnoldi.

PARPACK (Parallel ARnoldi PACKage) est une version parallèle de la bibliothèque ARPACK.

ARPACK et PARPACK sont disponibles à travers le paquet ARPACK-NG.

Versions installées

Les versions installées sur Jean Zay peuvent être retrouvées par la commande module avail. Par exemple :

module avail arpack-ngarpack-ng/3.7.0-mpi  arpack-ng/3.7.0-mpi-openblas  arpack-ng/3.8.0-mpi-cuda

Environnement

Les différentes versions d'ARPACK sont disponibles dans différents environnements. Pour les lister, utilisez la commande module show pour la version d'ARPACK que vous souhaitez utiliser. Par exemple :

module show arpack-ng/3.8.0-mpi-cuda
module-whatis {ARPACK-NG is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.}prereq gcc/11.4.1conflict arpack-ng
Available software environment(s):- gcc/11.4.1 cuda/11.8.0 openmpi/4.1.1-cuda

Pour utiliser cette librairie dans d'autres environnements, veuillez contacter l'équipe Support aux Utilisateurs.

Remarque

Pour obtenir les informations sur les chemins d'accès aux librairies, il faut charger au préalable l'environnement choisi. Par exemple :

module load gcc/11.4.1 cuda/11.8.0 openmpi/4.1.1-cudamodule show arpack-ng

Utilisation

La bibliothèque est accessible par la commande module.

Pour charger la version par défaut dans l'environnement courant (ou dans l'environnement par défaut si aucun environnement n'est préalablement chargé) :

module load arpack-ng

ou pour charger une version spécifique dans un environnement spécifique (gcc dans cet exemple) :

module load gcc/9.1.0module load arpack-ng/3.7.0-mpi

Édition des liens

Lors de l'édition de liens, il est nécessaire d'ajouter l'option -larpack pour l'utilisation de la version séquentielle :

module load arpack-ngifort appel_arpack.f90 -larpack

ou les options -lparpack -larpack pour la version parallèle :

module load arpack-ngmpiifort appel_parpack.f90 -lparpack -larpack 

Documentation

Consultez la documentation Arpack :

📝 Site Web officiel
🧑‍💻 Projet ARPACK-NG sur github