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* |
METIS is available on Pitzer Clusters. The versions currently available at OSC are:
Version | Pitzer |
---|---|
5.1.0 | X* |
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