Applications/Parmetis

From HPC
Jump to: navigation , search

Application Details

  • Description: ParMETIS 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.
  • Version: 4.0.3
  • Module: parmetis/4.0.3
  • Licence: Copyrighted by the Regents of the University of Minnesota. It can be freely used for educational and research purposes.

Usage

ParMETIS 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. It is written entirely in ANSI C and MPI and is portable on most parallel computers that support MPI.

ParMETIS provides the following five major functions:

  • Graph Partitioning
  • Mesh Partitioning
  • Graph Repartitioning
  • Partitioning Refinement
  • Matrix Reordering


Module

Consider the following C++ source code which implement


#include<iostream>
#include "include/parmetis.h"

using std::cout;
using std::endl;

int main()
{
    cout << "Test!" << endl;
    return 0;
}

  • Now, loading the module will give you access to the parmetis library and for completeness the openmpi and gcc modules are loaded here too:
[username@login01 ~]$ module add parmetis/4.0.3 
[username@login01 ~]$ module add openmpi/1.10.5/gcc-6.3.0 
[username@login01 ~]$ module add gcc/6.3.0 

[username@login01 ~]$ g++ -metisDEMO.cpp -o metisDEMO -lmetis


Further Information





Libraries | Main Page | Further Topics