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 reals
  • metis/5.1.0: Version 5.1.0 with 32-bit integers, 32-bit reals
  • metis/5.1.0-int32-real64: Version 5.1.0 with 32-bit integers, 64-bit reals
  • metis/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

Documentation