Jean Zay : la bibliothèque PETSc

Description

PETSc est une bibliothèque de fonctions écrites en C (mais offrant également une interface en Fortran) permettant de manipuler des vecteurs et matrices denses et creuses et de résoudre les systèmes linéaires correspondants (souvent liées aux équations aux dérivées partielles) avec des solveurs directs ou itératifs. PETSc propose aussi des solveurs non-linéaires, des méthodes de résolution d'équations différentielles et beaucoup d'autres outils… Enfin, PETSc permet aussi d'utiliser des bibliothèques externes.

Versions installées

Diverses versions sont installées sur Jean Zay utilisant des réels ou des complexes, avec plusieurs bibliothèques externes telles que MUMPS, HYPRE, ScaLAPACK, METIS, ParMETIS, … :

  • petsc/3.11.3-mpi : version utilisant des nombres réels
  • petsc/3.11.3-complex: version utilisant des nombres réels et complexes

Ces informations peuvent être retrouvées par la commande :

$ module avail petsc

Il est possible également d'ajouter à PETSc des bibliothèques externes complémentaires. Pour cela, contacter l'assistance.

Environnement

Les versions de PETSc sont disponibles dans les environnements suivants :

  • intel-compilers/19.0.4 intel-mpi/19.0.4

Ces informations peuvent être retrouvées par la commande :

$ module show petsc

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 sera nécessaire de charger au préalable l'environnement choisi (Intel dans cet exemple) :

$ module load intel-compilers/19.0.4 intel-mpi/19.0.4
$ module show petsc

Utilisation

La bibliothèque est accessible par 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 petsc

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

$ module load intel-compilers/19.0.4 intel-mpi/19.0.4
$ module load petsc/3.11.3-mpi-complex

Édition des liens

Lors de l'édition de liens, il est nécessaire d'ajouter l'option référençant la bibliothèque :

$ module load petsc
$ ifort appel_petsc.f90 -lpetsc

Documentation