ParMETIS / METIS

ParMETIS (Parallel Graph Partitioning and Fill-reducing Matrix Ordering) is an MPI-based parallel library that implements a variety of algorithms for partitioning unstructured graphs, meshes, and for computing fill-reducing orderings of sparse matrices. ParMETIS extends the functionality provided by METIS and includes routines that are especially suited for parallel AMR computations and large scale numerical simulations. The algorithms implemented in ParMETIS are based on the parallel multilevel k-way graph-partitioning, adaptive repartitioning, and parallel multi-constrained partitioning schemes developed in Karypis lab.

METIS (Serial Graph Partitioning and Fill-reducing Matrix Ordering) 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 developed in Karypis lab.

Availability and Restrictions

Versions

ParMETIS is available on Pitzer Clusters. The versions currently available at OSC are:

Version Pitzer
4.0.3 X*
* Current default version

METIS is available on Pitzer Clusters. The versions currently available at OSC are:

Version Pitzer
5.1.0 X*
* Current default version

You can use module -r spider '.*metis.*'  to view available modules for a given machine. Feel free to contact OSC Help if you need other versions for your work.

Access

ParMETIS / METIS is available to all OSC users. If you have any questions, please contact OSC Help.

Publisher/Vendor/Repository and License Type

University of Minnesota, Open source

Usage

Usage on Pitzer

Set-up

To load ParMETIS, run the following command: module load parmetis. To use the serial implementation, METIS, run the following command instead: module load metis .

Building With ParMETIS / METIS

With the ParMETIS library loaded, the following environment variables will be available for use:

VARIABLE USE
$PARMETIS_CFLAGS Use during your compilation step for C or C++ programs.
$PARMETIS_LIBS

Use when linking your program to ParMETIS.

 

Similarly, when the METIS module is loaded, the following environment variables will be available:

VARIABLE USE
$METIS_CFLAGS Use during your compilation step for C programs.
$METIS_LIBS Use when linking your program to METIS.

 

For example, to build the code myprog.cc with the METIS library you would use:

g++ -o myprog myprog.cc $METIS_LIBS

Further Reading

Tag: 
Supercomputer: 
Service: