Jean Zay : la bibliothèque ParMETIS

Description

ParMETIS est une bibliothèque paralléle basée sur MPI qui implémente une variété d'algorithmes pour partitionner les graphes non structurés, les maillages et pour réduire le remplissage (fill-in) induit lors de la factorisation des matrices creuses.

Versions installées

La bibliothèque ParMETIS propose plusieurs variantes selon le compilateur et la taille de représentations des types de données. Généralement la version 32 bits sera suffisante pour la plupart des projets. La version 64 bits doit être utilisée si le nombre total de noeuds ou d'arêtes des graphes à partitionner dépasse la représentation sur 32 bits, soit 2^31-1.

  • parmetis/4.0.3 : version 4.0.3 avec entiers 32 bits, réels 32 bits.
  • parmetis/4.0.3-mpi-int32-real64 : version 5.1.0 avec entiers 32 bits, réels 64 bits.
  • parmetis/4.0.3-mpi-int64-real64 : version 5.1.0 avec entiers 64 bits, réels 64 bits.
  • parmetis/4.0.3-mpi-cuda-int32-real64 : version 5.1.0 avec entiers 32 bits, réels 64 bits compilée avec CUDA.

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

$ module avail parmetis

Environnement

Les versions de ParMETIS 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 parmetis

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 parmetis

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 parmetis

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 parmetis/4.0.3-mpi-int64-real64

É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 parmetis
$ ifort appel_parmetis.f90 -lparmetis

Documentation