|
Isorropia: Partitioning, Load Balancing and more
|
Interface (abstract base class) for describing the weights or costs associated with the vertices and/or edges or hyperedges of the object to be partitioned, ordered or colored. More...
#include <Isorropia_CostDescriber.hpp>

Public Member Functions | |
| virtual | ~CostDescriber () |
| Destructor. More... | |
Private Member Functions | |
| virtual void | setParameters (const Teuchos::ParameterList ¶mlist)=0 |
| Set parameters for the CostDescriber instance. More... | |
| virtual bool | haveVertexWeights () const =0 |
| Query whether vertex weights have been supplied by the application. More... | |
| virtual int | getNumVertices () const =0 |
| Get the number of vertices for which this process supplied vertex weights. More... | |
| virtual void | getVertexWeights (int numVertices, int *global_ids, float *weights) const =0 |
| Get lists of the vertex ids and weights supplied by this process. More... | |
| virtual bool | haveGraphEdgeWeights () const =0 |
| Query whether graph edge weights have been supplied by the application. More... | |
| virtual int | getNumGraphEdges (int vertex_global_id) const =0 |
| Get the number of graph edges for a specified vertex. More... | |
| virtual void | getGraphEdgeWeights (int vertex_global_id, int num_neighbors, int *neighbor_global_ids, float *weights) const =0 |
| Get the graph edge weights for a specified vertex. More... | |
| virtual bool | haveHypergraphEdgeWeights () const =0 |
| Query whether hypergraph edge weights have been supplied by the application. More... | |
| virtual int | getNumHypergraphEdgeWeights () const =0 |
| Get the number of Hypergraph edges. More... | |
| virtual void | getHypergraphEdgeWeights (int numEdges, int *global_ids, float *weights) const =0 |
| Get the hypergraph edge weights that were supplied by this process. More... | |
Interface (abstract base class) for describing the weights or costs associated with the vertices and/or edges or hyperedges of the object to be partitioned, ordered or colored.
A CostDescriber object is created by the application. If no CostDescriber is supplied by the application, sensible default weights should be used.
|
inlinevirtual |
Destructor.
Reimplemented in Isorropia::Epetra::CostDescriber.
|
privatepure virtual |
Set parameters for the CostDescriber instance.
The contents of the input paramlist object are copied into an internal ParameterList attribute. Instances of this interface should not retain a reference to the input ParameterList after this method returns.
Implemented in Isorropia::Epetra::CostDescriber.
|
privatepure virtual |
Query whether vertex weights have been supplied by the application.
Implemented in Isorropia::Epetra::CostDescriber.
|
privatepure virtual |
Get the number of vertices for which this process supplied vertex weights.
Vertices typically correspond to matrix rows.
Implemented in Isorropia::Epetra::CostDescriber.
|
privatepure virtual |
Get lists of the vertex ids and weights supplied by this process.
| numVertices | size of global_ids and weights arrays |
| global_ids | pointer to an array of vertex global IDs, allocated by the caller. |
| weights | pointer to an array of vertex weights, allocated by the caller. |
Implemented in Isorropia::Epetra::CostDescriber.
|
privatepure virtual |
Query whether graph edge weights have been supplied by the application.
Implemented in Isorropia::Epetra::CostDescriber.
|
privatepure virtual |
Get the number of graph edges for a specified vertex.
Graph edges typically correspond to matrix nonzeros.
| vertex_global_id | The global ID for the vertex (on this process) for which the number of edges is desired |
Implemented in Isorropia::Epetra::CostDescriber.
|
privatepure virtual |
Get the graph edge weights for a specified vertex.
| vertex_global_id | vertex global ID (on this process) for which edge information is requested |
| num_neighbors | size for which neighbor_global_ids and weights had been preallocated |
| neighbor_global_ids | buffer allocated by caller, on return will contain a list of neighbor vertex global IDs |
| weights | buffer allocated by caller, on return will contain a weight for each edge indicated in neighbor_global_ids |
Implemented in Isorropia::Epetra::CostDescriber.
|
privatepure virtual |
Query whether hypergraph edge weights have been supplied by the application.
Implemented in Isorropia::Epetra::CostDescriber.
|
privatepure virtual |
Get the number of Hypergraph edges.
Hypergraph edges typically correspond to matrix columns.
Implemented in Isorropia::Epetra::CostDescriber.
|
privatepure virtual |
Get the hypergraph edge weights that were supplied by this process.
| numEdges | size for which global_ids and weights had been preallocated |
| global_ids | buffer allocated by caller, on return will contain a list of hyperedge global IDs |
| weights | buffer allocated by caller, on return will contain a weight for each hyperedge indicated in global_ids |
Implemented in Isorropia::Epetra::CostDescriber.