|
Isorropia: Partitioning, Load Balancing and more
|
An implementation of the Partitioner interface that operates on Epetra matrices and linear systems. More...
#include <Isorropia_EpetraLibrary.hpp>

Public Member Functions | |
| Library (Teuchos::RCP< const Epetra_CrsGraph > input_graph, int itype=unspecified_input_) | |
| Library (Teuchos::RCP< const Epetra_CrsGraph > input_graph, Teuchos::RCP< const Epetra_MultiVector > input_coords, int itype=unspecified_input_) | |
| Library (Teuchos::RCP< const Epetra_CrsGraph > input_graph, Teuchos::RCP< CostDescriber > costs, int itype=unspecified_input_) | |
| Library (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 itype=unspecified_input_) | |
| Library (Teuchos::RCP< const Epetra_RowMatrix > input_matrix, int itype=unspecified_input_) | |
| Library (Teuchos::RCP< const Epetra_RowMatrix > input_matrix, Teuchos::RCP< const Epetra_MultiVector > input_coords, int itype=unspecified_input_) | |
| Library (Teuchos::RCP< const Epetra_RowMatrix > input_matrix, Teuchos::RCP< CostDescriber > costs, int itype=unspecified_input_) | |
| Library (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 itype=unspecified_input_) | |
| Library (Teuchos::RCP< const Epetra_MultiVector > input_coords, int itype=unspecified_input_) | |
| Library (Teuchos::RCP< const Epetra_MultiVector > input_coords, Teuchos::RCP< const Epetra_MultiVector > weights, int itype=unspecified_input_) | |
| Library (Teuchos::RCP< const Epetra_BlockMap > input_map, int itype=unspecified_input_) | |
| virtual | ~Library () |
| virtual int | repartition (Teuchos::ParameterList ¶mlist, std::vector< int > &myNewElements, int &exportsSize, std::vector< int > &imports)=0 |
| virtual int | color (Teuchos::ParameterList ¶mlist, std::vector< int > &colorAssignment)=0 |
| virtual int | order (Teuchos::ParameterList ¶mlist, std::vector< int > &orderAssignment)=0 |
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. | |
| static const int | hgraph2d_finegrain_input_ = 2 |
| input_type_ == hgraph2d_finegrain_input_ This indicates that the matrix or graph represents a hypergraph. | |
| 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. | |
| static const int | geometric_input_ = 4 |
| input_type_ == geometric_input_ This indicates that the Epetra_MultiVector represents geometric coordinates. | |
| 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). | |
| 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). | |
| 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). | |
| 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). | |
| 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. | |
| static const int | unspecified_input_ = 10 |
| input_type_ == unspecified_input_ This value is the "unset" state for the input_type_ instance variable. | |
Protected Member Functions | |
| virtual int | precompute () |
| virtual int | postcompute ()=0 |
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_ |
An implementation of the Partitioner interface that operates on Epetra matrices and linear systems.
| Isorropia::Epetra::Library::Library | ( | Teuchos::RCP< const Epetra_CrsGraph > | input_graph, |
| int | itype = unspecified_input_ |
||
| ) |
| Isorropia::Epetra::Library::Library | ( | Teuchos::RCP< const Epetra_CrsGraph > | input_graph, |
| Teuchos::RCP< const Epetra_MultiVector > | input_coords, | ||
| int | itype = unspecified_input_ |
||
| ) |
| Isorropia::Epetra::Library::Library | ( | Teuchos::RCP< const Epetra_CrsGraph > | input_graph, |
| Teuchos::RCP< CostDescriber > | costs, | ||
| int | itype = unspecified_input_ |
||
| ) |
| Isorropia::Epetra::Library::Library | ( | 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 | itype = unspecified_input_ |
||
| ) |
| Isorropia::Epetra::Library::Library | ( | Teuchos::RCP< const Epetra_RowMatrix > | input_matrix, |
| int | itype = unspecified_input_ |
||
| ) |
| Isorropia::Epetra::Library::Library | ( | Teuchos::RCP< const Epetra_RowMatrix > | input_matrix, |
| Teuchos::RCP< const Epetra_MultiVector > | input_coords, | ||
| int | itype = unspecified_input_ |
||
| ) |
| Isorropia::Epetra::Library::Library | ( | Teuchos::RCP< const Epetra_RowMatrix > | input_matrix, |
| Teuchos::RCP< CostDescriber > | costs, | ||
| int | itype = unspecified_input_ |
||
| ) |
| Isorropia::Epetra::Library::Library | ( | 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 | itype = unspecified_input_ |
||
| ) |
| Isorropia::Epetra::Library::Library | ( | Teuchos::RCP< const Epetra_MultiVector > | input_coords, |
| int | itype = unspecified_input_ |
||
| ) |
| Isorropia::Epetra::Library::Library | ( | Teuchos::RCP< const Epetra_MultiVector > | input_coords, |
| Teuchos::RCP< const Epetra_MultiVector > | weights, | ||
| int | itype = unspecified_input_ |
||
| ) |
| Isorropia::Epetra::Library::Library | ( | Teuchos::RCP< const Epetra_BlockMap > | input_map, |
| int | itype = unspecified_input_ |
||
| ) |
| virtual Isorropia::Epetra::Library::~Library | ( | ) | [virtual] |
| virtual int Isorropia::Epetra::Library::repartition | ( | Teuchos::ParameterList & | paramlist, |
| std::vector< int > & | myNewElements, | ||
| int & | exportsSize, | ||
| std::vector< int > & | imports | ||
| ) | [pure virtual] |
Implemented in Isorropia::Epetra::ZoltanLibClass.
| virtual int Isorropia::Epetra::Library::color | ( | Teuchos::ParameterList & | paramlist, |
| std::vector< int > & | colorAssignment | ||
| ) | [pure virtual] |
Implemented in Isorropia::Epetra::ZoltanLibClass.
| virtual int Isorropia::Epetra::Library::order | ( | Teuchos::ParameterList & | paramlist, |
| std::vector< int > & | orderAssignment | ||
| ) | [pure virtual] |
Implemented in Isorropia::Epetra::ZoltanLibClass.
| virtual int Isorropia::Epetra::Library::precompute | ( | ) | [protected, virtual] |
Reimplemented in Isorropia::Epetra::ZoltanLibClass.
| virtual int Isorropia::Epetra::Library::postcompute | ( | ) | [protected, pure virtual] |
Implemented in Isorropia::Epetra::ZoltanLibClass.
const int Isorropia::Epetra::Library::hgraph_input_ = 1 [static] |
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.
const int Isorropia::Epetra::Library::hgraph2d_finegrain_input_ = 2 [static] |
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.
const int Isorropia::Epetra::Library::graph_input_ = 3 [static] |
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.
const int Isorropia::Epetra::Library::geometric_input_ = 4 [static] |
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.
const int Isorropia::Epetra::Library::hgraph_graph_input_ = 5 [static] |
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.
const int Isorropia::Epetra::Library::hgraph_geometric_input_ = 6 [static] |
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.
const int Isorropia::Epetra::Library::graph_geometric_input_ = 7 [static] |
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.
const int Isorropia::Epetra::Library::hgraph_graph_geometric_input_ = 8 [static] |
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.
const int Isorropia::Epetra::Library::simple_input_ = 9 [static] |
input_type_ == simple_input_ This is used to indicate that a simple partitiong method (block, cyclic, or random) will be used.
const int Isorropia::Epetra::Library::unspecified_input_ = 10 [static] |
input_type_ == unspecified_input_ This value is the "unset" state for the input_type_ instance variable.
Teuchos::RCP<const Epetra_BlockMap> Isorropia::Epetra::Library::input_map_ [protected] |
Teuchos::RCP<const Epetra_CrsGraph> Isorropia::Epetra::Library::input_graph_ [protected] |
Teuchos::RCP<const Epetra_RowMatrix> Isorropia::Epetra::Library::input_matrix_ [protected] |
Teuchos::RCP<const Epetra_MultiVector> Isorropia::Epetra::Library::input_coords_ [protected] |
Teuchos::RCP<Isorropia::Epetra::CostDescriber> Isorropia::Epetra::Library::costs_ [protected] |
Teuchos::RCP<const Epetra_MultiVector> Isorropia::Epetra::Library::weights_ [protected] |