
Table des matières
Jean Zay: The METIS library
Introduction
METIS is a graph partitioning tool. It can be used for partitioning finite element meshes and reducing induced fill-in during the sparse matrix factorization. The algorithms implemented in METIS are based on the multilevel recursive, multilevel k-way and multi-constraint partitioning schemes.
Installed versions
The METIS library offers several variants depending on the compiler and the graph representation size for the type of data. In general, the 32-bit version will be sufficient for most projects. The 64-bit version must be used if the total number of graph nodes or edges to be partitioned surpasses the representation on 32 bits, or 2^31-1.
metis/4.0.3
: Version 4.0.3 with 32-bit integers, 32-bit realsmetis/5.1.0
: Version 5.1.0 with 32-bit integers, 32-bit realsmetis/5.1.0-int32-real64
: Version 5.1.0 with 32-bit integers, 64-bit realsmetis/5.1.0-int64-real64
: Version 5.1.0 with 64-bit integers, 64-bit reals
This information can be found via the command :
$ module avail metis
Environment
The METIS versions are available in the following environments :
intel-compilers/19.0.4
pgi/19.7
gcc/9.1.0
This information can be found via the command :
$ module show metis
To use this library in other environments, please contact the User Support Team.
Comment: To obtain information on the paths to the libraries, it is necessary to first load the chosen environment (Intel in this example) :
$ module load intel-compilers/19.0.4 $ module show metis
Usage
The library is accessible via the module command. To load the default version in the actual environment or in the default environment if no environment was previously loaded :
$ module load metis
Or, to load a specific version in a specific environment (GCC in this example) :
$ module load gcc/9.1.0 $ module load metis/5.1.0-int32-real64
The linking phase
During the compilation, it is necessary to add the -lmetis
option:
$ module load metis $ ifort appel_metis.f90 -lmetis