
Table des matières
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