INMOST
Mathematical Modelling Toolkit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | List of all members
INMOST::Partitioner Class Reference

Main class to modify or improve the mesh distribution for better load balancing. More...

#include <inmost_partitioner.h>

Collaboration diagram for INMOST::Partitioner:

Public Types

enum  Type {
  Zoltan_Parmetis, Zoltan_Scotch, Zoltan_PHG, Zoltan_RCB,
  Zoltan_RIB, Zoltan_HSFC, Parmetis, Inner_RCM
}
 
enum  Action { Partition, Repartition, Refine }
 

Public Member Functions

 Partitioner (Mesh *m)
 The default constructor of the partitioner for the specified mesh. More...
 
 Partitioner (const Partitioner &other)
 
Partitioneroperator= (Partitioner const &other)
 
 ~Partitioner ()
 
void Evaluate ()
 
void SetMethod (enum Type t, enum Action a=Repartition)
 
void SetWeight (Tag weight)
 Compute the specific weights for the selected partitioner. More...
 
void ResetWeight ()
 Reset the computed weights for the partitioner. More...
 
MeshGetMesh ()
 Get the Mesh pointer for the current partitioner. More...
 
Tag GetWeight ()
 Get the Tag of the computed weights for the current partitioner. More...
 

Static Public Member Functions

static void Initialize (int *argc, char ***argv)
 
static void Finalize ()
 

Detailed Description

Main class to modify or improve the mesh distribution for better load balancing.

Definition at line 17 of file inmost_partitioner.h.

Member Enumeration Documentation

Enumerator
Partition 

Partition "from scratch", not taking into account the current mesh distribution.

Repartition 

Repartition the existing partition but try to stay close to the current mesh distribution.

Refine 

Refine the current partition assuming only small changes of mesh distribution.

Definition at line 34 of file inmost_partitioner.h.

Type of the Partitioner can be currently used in this version of INMOST.

See Also
Zoltan: Parallel Partitioning, Load Balancing and Data-Management Services. http://www.cs.sandia.gov/Zoltan/
ParMETIS: Parallel Graph Partitioning and Fill-reducing Matrix Ordering. http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview
Enumerator
Zoltan_Parmetis 

Parmetis partitioner with the Zoltan package interface.

Zoltan_Scotch 

Scotch partitioner with the Zoltan package interface.

Zoltan_PHG 

Zoltan topology-based method using Partitioning of HyperGraph.

Zoltan_RCB 

Zoltan geometry-based method using Recursive Coordinate Bisection.

Zoltan_RIB 

Zoltan geometry-based method using Recursive Inertial Bisection.

Zoltan_HSFC 

Zoltan geometry-based method using Hilbert Space-Filling Curve partitioning.

Parmetis 

Parmetis partitioner with the original interface.

Inner_RCM 

Internal serial only partitioner based on the Reverse Cuthill–McKee algorithm ordering.

Definition at line 23 of file inmost_partitioner.h.

Constructor & Destructor Documentation

INMOST::Partitioner::Partitioner ( Mesh m)

The default constructor of the partitioner for the specified mesh.

INMOST::Partitioner::Partitioner ( const Partitioner other)
INMOST::Partitioner::~Partitioner ( )

Member Function Documentation

void INMOST::Partitioner::Evaluate ( )

Evaluate the earlier specified partitioner.

See Also
Partitioner::SetMethod
static void INMOST::Partitioner::Finalize ( )
static

Finalize the use of partitioner.

See Also
Partitioner::Initialize
Mesh* INMOST::Partitioner::GetMesh ( )

Get the Mesh pointer for the current partitioner.

Tag INMOST::Partitioner::GetWeight ( )

Get the Tag of the computed weights for the current partitioner.

static void INMOST::Partitioner::Initialize ( int *  argc,
char ***  argv 
)
static

Initialize the use of partitioner.

Parameters
argcThe number of arguments transmitted to the function main.
argvThe pointer to arguments transmitted to the function main. The shortest call to this function with the default solver parameters is the following: Initialize(NULL,NULL);
See Also
Partitioner::SetMethod
Partitioner::Finalize
Partitioner& INMOST::Partitioner::operator= ( Partitioner const &  other)
void INMOST::Partitioner::ResetWeight ( )

Reset the computed weights for the partitioner.

void INMOST::Partitioner::SetMethod ( enum Type  t,
enum Action  a = Repartition 
)

Set the partitioner method to be used.

Parameters
tThe concrete Type of the partitioner from the selected package.
aThe partitioner Action, the default is Repartition.
See Also
Partitioner::Evaluate
void INMOST::Partitioner::SetWeight ( Tag  weight)

Compute the specific weights for the selected partitioner.


The documentation for this class was generated from the following file: