La bibliothèque METIS
Description
METIS est un outil de partitionnement de graphes. Il peut être utilisé pour partitionner des éléments de maillages finis et réduire le remplissage (fill-in) induit lors de la factorisation des matrices creuses. Les algorithmes implémentés dans METIS sont basés sur les schémas de partitionnement multi-niveaux récursifs, multi-niveaux k-way et multi-contraintes.
Versions installées
La bibliothèque METIS est proposée en plusieurs variantes selon le compilateur et la taille des 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 nœuds ou d'arêtes des graphes à partitionner dépasse la représentation sur 32 bits, soit 231-1.
Les versions installées sur Jean Zay peuvent être retrouvées par la commande suivante :
module avail metis
Environnement
Les versions de METIS sont disponibles dans différents environnements. Pour les lister, utilisez la commande suivante :
module show metis
module-whatis {METIS is a set of serial programs for partitioning graphs, partitioning finite element meshes, and producing fill reducing orderings for sparse matrices. The algorithms implemented in METIS are based on the multilevel recursive-bisection, multilevel k-way, and multi-constraint partitioning schemes.}prereq intel-compilers/19.1.3 intel-compilers/19.1.2 intel-compilers/19.1.1 intel-compilers/19.0.5 [...] intel-oneapi-compilers/2023.1.0conflict metis
Available software environment(s):- intel-compilers/19.1.3- intel-compilers/19.1.2# - autres environnements
Pour utiliser cette librairie dans d'autres environnements, veuillez contacter l'équipe Support aux Utilisateurs.
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.1.3module show metisUtilisation
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 metis
ou pour charger une version spécifique dans un environnement spécifique (gcc dans cet exemple) :
module load gcc/9.1.0module load metis/5.1.0-int32-real64
Édition des liens
Lors de la compilation, il est nécessaire d'ajouter l'option -lmetis :
module load metisifort appel_metis.f90 -lmetis