Difference between revisions of "Applications/Parmetis"

From HPC
Jump to: navigation , search
(Created page with "__TOC__ ==Application Details== *Description: ParMETIS is an MPI-based parallel library that implements a variety of algorithms for partitioning unstructured graphs, meshes,...")
 
Line 9: Line 9:
 
==Usage==
 
==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 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:
 
ParMETIS provides the following five major functions:
Line 23: Line 23:
  
 
Consider the following C++ source code which implement  
 
Consider the following C++ source code which implement  
 +
 
<pre style="background-color: #f5f5dc; color: black; font-family: monospace, sans-serif;">
 
<pre style="background-color: #f5f5dc; color: black; font-family: monospace, sans-serif;">
  

Revision as of 09:57, 21 April 2017

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

Icon home.png