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.