Skip to main content

The METIS library

⚠ INFORMATION
This page was translated by an AI (LLM) with a cursory human check and is awaiting full review.

Description

METIS is a graph partitioning tool. It can be used to partition finite element meshes and reduce the fill-in induced during the factorisation of sparse matrices. The algorithms implemented in METIS are based on recursive multi-level, multi-level k-way and multi-constraint partitioning schemes.

Installed Versions

The METIS library is available in several variants depending on the compiler and the size of the data type representations. Generally, the 32-bit version will be sufficient for most projects. The 64-bit version should be used if the total number of nodes or edges of the graphs to be partitioned exceeds the 32-bit representation, i.e., 231-1.

The versions installed on Jean Zay can be found using the following command:

module avail metis

Environment

The versions of METIS are available in different environments. To list them, use the following command:

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# - other environments

To use this library in other environments, please contact the User Support team.

Note

To obtain information on the library access paths, it will be necessary to load the chosen environment (Intel in this example) beforehand:

module load intel-compilers/19.1.3module show metis

Usage

The library is accessible via the module command.

To load the default version in the current environment (or in the default environment if no environment is previously loaded):

module load metis

or to load a specific version in a specific environment (gcc in this example):

module load gcc/9.1.0module load metis/5.1.0-int32-real64

During compilation, it is necessary to add the option -lmetis:

module load metisifort appel_metis.f90 -lmetis

Documentation

🧑‍💻 METIS Project on GitHub

Your opinion matters!

To give your feedback, report an error, or suggest an improvement, click here:

quick anonymous questionnaire

This questionnaire is temporary and will take less than a minute, so take the opportunity!