Isorropia: Partitioning, Load Balancing and more
|
#include <Isorropia_EpetraZoltanLib.hpp>
Public Member Functions | |
ZoltanLibClass (Teuchos::RCP< const Epetra_CrsGraph > input_graph, int inputType=unspecified_input_) | |
ZoltanLibClass (Teuchos::RCP< const Epetra_CrsGraph > input_graph, Teuchos::RCP< const Epetra_MultiVector > input_coords, int inputType=unspecified_input_) | |
ZoltanLibClass (Teuchos::RCP< const Epetra_CrsGraph > input_graph, Teuchos::RCP< CostDescriber > costs, int inputType=unspecified_input_) | |
ZoltanLibClass (Teuchos::RCP< const Epetra_CrsGraph > input_graph, Teuchos::RCP< CostDescriber > costs, Teuchos::RCP< const Epetra_MultiVector > input_coords, Teuchos::RCP< const Epetra_MultiVector > weights, int inputType=unspecified_input_) | |
ZoltanLibClass (Teuchos::RCP< const Epetra_RowMatrix > input_matrix, int inputType=unspecified_input_) | |
ZoltanLibClass (Teuchos::RCP< const Epetra_RowMatrix > input_matrix, Teuchos::RCP< const Epetra_MultiVector > input_coords, int inputType=unspecified_input_) | |
ZoltanLibClass (Teuchos::RCP< const Epetra_RowMatrix > input_matrix, Teuchos::RCP< CostDescriber > costs, int inputType=unspecified_input_) | |
ZoltanLibClass (Teuchos::RCP< const Epetra_RowMatrix > input_matrix, Teuchos::RCP< CostDescriber > costs, Teuchos::RCP< const Epetra_MultiVector > input_coords, Teuchos::RCP< const Epetra_MultiVector > weights, int inputType=unspecified_input_) | |
ZoltanLibClass (Teuchos::RCP< const Epetra_MultiVector > input_coords, int inputType=unspecified_input_) | |
ZoltanLibClass (Teuchos::RCP< const Epetra_MultiVector > input_coords, Teuchos::RCP< const Epetra_MultiVector > weights, int inputType=unspecified_input_) | |
ZoltanLibClass (Teuchos::RCP< const Epetra_BlockMap > input_map, int inputType=unspecified_input_) | |
virtual int | repartition (Teuchos::ParameterList ¶mlist, std::vector< int > &newPartitions, int &exportsSize, std::vector< int > &imports) |
Method to partition the object that the ZoltanLibClass was contructed with. More... | |
virtual int | color (Teuchos::ParameterList ¶mlist, std::vector< int > &colorAssignment) |
Method to color the object that the ZoltanLibClass was contructed with. More... | |
virtual int | order (Teuchos::ParameterList ¶mlist, std::vector< int > &orderAssignment) |
Method to order the object that the ZoltanLibClass was contructed with. More... | |
Public Attributes | |
int | input_type_ |
int | numPartSizes |
int * | partGIDs |
float * | partSizes |
Static Public Attributes | |
static const int | hgraph_input_ = 1 |
input_type_ == hgraph_input_ This indicates that the matrix or graph represents a hypergraph. More... | |
static const int | hgraph2d_finegrain_input_ = 2 |
input_type_ == hgraph2d_finegrain_input_ This indicates that the matrix or graph represents a hypergraph. More... | |
static const int | graph_input_ = 3 |
input_type_ == graph_input_ This indicates that the square symmetric matrix or graph represents a graph in the sense that row/column IDs are vertices and non-zeroes represent edges. More... | |
static const int | geometric_input_ = 4 |
input_type_ == geometric_input_ This indicates that the Epetra_MultiVector represents geometric coordinates. More... | |
static const int | hgraph_graph_input_ = 5 |
input_type_ == hgraph_graph_input_ This indicates that the Epetra_MultiVector represents a hypergraph and graph (see above). More... | |
static const int | hgraph_geometric_input_ = 6 |
input_type_ == hgraph_geom_input_ This indicates that the Epetra_MultiVector represents a hypergraph and graph (see above). More... | |
static const int | graph_geometric_input_ = 7 |
input_type_ == graph_geom_input_ This indicates that the Epetra_MultiVector represents a hypergraph and graph (see above). More... | |
static const int | hgraph_graph_geometric_input_ = 8 |
input_type_ == hgraph_graph_geom_input_ This indicates that the Epetra_MultiVector represents a hypergraph and graph (see above). More... | |
static const int | simple_input_ = 9 |
input_type_ == simple_input_ This is used to indicate that a simple partitiong method (block, cyclic, or random) will be used. More... | |
static const int | unspecified_input_ = 10 |
input_type_ == unspecified_input_ This value is the "unset" state for the input_type_ instance variable. More... | |
Protected Member Functions | |
virtual int | precompute () |
virtual int | postcompute () |
void | computeCost () |
void | preCheckPartition () |
void | setParameterList (Teuchos::ParameterList &zoltanParamList) |
Protected Attributes | |
Teuchos::RCP< const Epetra_BlockMap > | input_map_ |
Teuchos::RCP< const Epetra_CrsGraph > | input_graph_ |
Teuchos::RCP< const Epetra_RowMatrix > | input_matrix_ |
Teuchos::RCP< const Epetra_MultiVector > | input_coords_ |
Teuchos::RCP < Isorropia::Epetra::CostDescriber > | costs_ |
Teuchos::RCP< const Epetra_MultiVector > | weights_ |
Private Attributes | |
Teuchos::ParameterList | zoltanParamList_ |
std::string | partMethod_ |
Zoltan * | zz_ |
Teuchos::RCP < ZoltanLib::QueryObject > | queryObject_ |
int | num_obj_ |
Isorropia::Epetra::ZoltanLibClass::ZoltanLibClass | ( | Teuchos::RCP< const Epetra_CrsGraph > | input_graph, |
int | inputType = unspecified_input_ |
||
) |
Isorropia::Epetra::ZoltanLibClass::ZoltanLibClass | ( | Teuchos::RCP< const Epetra_CrsGraph > | input_graph, |
Teuchos::RCP< const Epetra_MultiVector > | input_coords, | ||
int | inputType = unspecified_input_ |
||
) |
Isorropia::Epetra::ZoltanLibClass::ZoltanLibClass | ( | Teuchos::RCP< const Epetra_CrsGraph > | input_graph, |
Teuchos::RCP< CostDescriber > | costs, | ||
int | inputType = unspecified_input_ |
||
) |
Isorropia::Epetra::ZoltanLibClass::ZoltanLibClass | ( | Teuchos::RCP< const Epetra_CrsGraph > | input_graph, |
Teuchos::RCP< CostDescriber > | costs, | ||
Teuchos::RCP< const Epetra_MultiVector > | input_coords, | ||
Teuchos::RCP< const Epetra_MultiVector > | weights, | ||
int | inputType = unspecified_input_ |
||
) |
Isorropia::Epetra::ZoltanLibClass::ZoltanLibClass | ( | Teuchos::RCP< const Epetra_RowMatrix > | input_matrix, |
int | inputType = unspecified_input_ |
||
) |
Isorropia::Epetra::ZoltanLibClass::ZoltanLibClass | ( | Teuchos::RCP< const Epetra_RowMatrix > | input_matrix, |
Teuchos::RCP< const Epetra_MultiVector > | input_coords, | ||
int | inputType = unspecified_input_ |
||
) |
Isorropia::Epetra::ZoltanLibClass::ZoltanLibClass | ( | Teuchos::RCP< const Epetra_RowMatrix > | input_matrix, |
Teuchos::RCP< CostDescriber > | costs, | ||
int | inputType = unspecified_input_ |
||
) |
Isorropia::Epetra::ZoltanLibClass::ZoltanLibClass | ( | Teuchos::RCP< const Epetra_RowMatrix > | input_matrix, |
Teuchos::RCP< CostDescriber > | costs, | ||
Teuchos::RCP< const Epetra_MultiVector > | input_coords, | ||
Teuchos::RCP< const Epetra_MultiVector > | weights, | ||
int | inputType = unspecified_input_ |
||
) |
Isorropia::Epetra::ZoltanLibClass::ZoltanLibClass | ( | Teuchos::RCP< const Epetra_MultiVector > | input_coords, |
int | inputType = unspecified_input_ |
||
) |
Isorropia::Epetra::ZoltanLibClass::ZoltanLibClass | ( | Teuchos::RCP< const Epetra_MultiVector > | input_coords, |
Teuchos::RCP< const Epetra_MultiVector > | weights, | ||
int | inputType = unspecified_input_ |
||
) |
Isorropia::Epetra::ZoltanLibClass::ZoltanLibClass | ( | Teuchos::RCP< const Epetra_BlockMap > | input_map, |
int | inputType = unspecified_input_ |
||
) |
|
virtual |
Method to partition the object that the ZoltanLibClass was contructed with.
[in] | paramlist | Parameters to govern partitioning. |
[out] | newPartitions | The new partition for each of my objects, in local ID order. The objects may be rows or non-zeroes (for CrsGraph and RowMatrix input) or coordinates (for MultiVector input). Partition numbers can range from zero to numProcs-1. |
[out] | exportsSize | The number of my objects that will be exported to another process under the new partitioning. This is also the number of elements in newPartitions that are not equal to my process rank. |
[out] | imports | A list of the global IDs of the objects that will be imported to my process under the new partitioning |
Implements Isorropia::Epetra::Library.
|
virtual |
Method to color the object that the ZoltanLibClass was contructed with.
[in] | paramlist | Parameters to govern coloring. |
[out] | colorAssignment | A list of integers indicating the coloring of the object, in local ID order. |
Implements Isorropia::Epetra::Library.
|
virtual |
Method to order the object that the ZoltanLibClass was contructed with.
[in] | paramlist | Parameters to govern ordering . |
[out] | orderAssignment | A list of integers indicating the ordering of the object, in local ID order. |
Implements Isorropia::Epetra::Library.
|
protectedvirtual |
Reimplemented from Isorropia::Epetra::Library.
|
protectedvirtual |
Implements Isorropia::Epetra::Library.
|
protected |
|
protected |
|
protected |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticinherited |
input_type_ == hgraph_input_ This indicates that the matrix or graph represents a hypergraph.
Columns represent hyperedges, and row (vertex) partitioning is to be performed.
|
staticinherited |
input_type_ == hgraph2d_finegrain_input_ This indicates that the matrix or graph represents a hypergraph.
Columns represent hyperedges, and non-zeroes are to be partitioned.
|
staticinherited |
input_type_ == graph_input_ This indicates that the square symmetric matrix or graph represents a graph in the sense that row/column IDs are vertices and non-zeroes represent edges.
The vertices are to be partitioned.
|
staticinherited |
input_type_ == geometric_input_ This indicates that the Epetra_MultiVector represents geometric coordinates.
The MultiVector should have 1, 2 or 3 vectors, representing 1, 2 or 3 dimensional coordinates. The coordinates are to be partitioned.
|
staticinherited |
input_type_ == hgraph_graph_input_ This indicates that the Epetra_MultiVector represents a hypergraph and graph (see above).
This is necessary for hierarchical partitioning with both hypergraph and graph methods.
|
staticinherited |
input_type_ == hgraph_geom_input_ This indicates that the Epetra_MultiVector represents a hypergraph and graph (see above).
This is necessary for hierarchical partitioning with both hypergraph and geometric methods.
|
staticinherited |
input_type_ == graph_geom_input_ This indicates that the Epetra_MultiVector represents a hypergraph and graph (see above).
This is necessary for hierarchical partitioning with both graph and geometric methods.
|
staticinherited |
input_type_ == hgraph_graph_geom_input_ This indicates that the Epetra_MultiVector represents a hypergraph and graph (see above).
This is necessary for hierarchical partitioning using hypergraph, graph, and geometric methods.
|
staticinherited |
input_type_ == simple_input_ This is used to indicate that a simple partitiong method (block, cyclic, or random) will be used.
|
staticinherited |
input_type_ == unspecified_input_ This value is the "unset" state for the input_type_ instance variable.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |