Isorropia::Epetra::Partitioner Class Reference

An Epetra-specific implementation of the Partitioner interface. More...

#include <Isorropia_EpetraPartitioner.hpp>

Inheritance diagram for Isorropia::Epetra::Partitioner:

[legend]
Collaboration diagram for Isorropia::Epetra::Partitioner:
[legend]
List of all members.

Public Member Functions

 Partitioner (Teuchos::RefCountPtr< const Epetra_CrsGraph > input_graph, const Teuchos::ParameterList &paramlist, bool compute_partitioning_now=true)
 Constructor that accepts an Epetra_CrsGraph object.
 Partitioner (Teuchos::RefCountPtr< const Epetra_CrsGraph > input_graph, Teuchos::RefCountPtr< const Isorropia::CostDescriber > costs, const Teuchos::ParameterList &paramlist, bool compute_partitioning_now=true)
 Constructor that accepts an Epetra_CrsGraph object and a CostDescriber.
 Partitioner (Teuchos::RefCountPtr< const Epetra_RowMatrix > input_matrix, const Teuchos::ParameterList &paramlist, bool compute_partitioning_now=true)
 Constructor that accepts an Epetra_RowMatrix object.
 Partitioner (Teuchos::RefCountPtr< const Epetra_RowMatrix > input_matrix, Teuchos::RefCountPtr< const Isorropia::CostDescriber > costs, const Teuchos::ParameterList &paramlist, bool compute_partitioning_now=true)
 Constructor that accepts an Epetra_RowMatrix object and a CostDescriber.
virtual ~Partitioner ()
 Destructor.
void setParameters (const Teuchos::ParameterList &paramlist)
 Set parameters from a Teuchos::ParameterList object.
void compute_partitioning (bool force_repartitioning=false)
 Compute a rebalanced partitioning for the data in the object that this class was constructed with.
bool partitioning_already_computed () const
 Query whether the method compute_partitioning() has already been called on this class instance.
int newPartitionNumber (int myElem) const
 Return the new partition ID for a given element that resided locally in the old partitioning.
int numElemsInPartition (int partition) const
 Return the number of elements in a given partition.
void elemsInPartition (int partition, int *elementList, int len) const
 Fill user-allocated list (of length len) with the global element ids to be located in the given partition.

Detailed Description

An Epetra-specific implementation of the Partitioner interface.


Constructor & Destructor Documentation

Isorropia::Epetra::Partitioner::Partitioner ( Teuchos::RefCountPtr< const Epetra_CrsGraph >  input_graph,
const Teuchos::ParameterList &  paramlist,
bool  compute_partitioning_now = true 
)

Constructor that accepts an Epetra_CrsGraph object.

Parameters:
input_graph Matrix-graph object for which a new partitioning is to be computed. A Teuchos::RefCountPtr is used here because a reference to the input object may be held by this object after this constructor completes and returns.
paramlist Teuchos::ParameterList which will be copied to an internal ParameterList attribute. No reference to this input object is held after this constructor completes.
If the ParameterList object contains a sublist named "Zoltan", then the Zoltan library is used to perform the balancing. Also, any parameters in the "Zoltan" sublist will be relayed directly to Zoltan. Refer to the Zoltan users guide for specific parameters that Zoltan recognizes. A couple of important ones are "LB_METHOD" (valid values include "GRAPH", "HYPERGRAPH"), "DEBUG_LEVEL" (valid values are 0 to 10, default is 1), etc.
compute_partitioning_now Optional argument defaults to true. If true, the method compute_partitioning() will be called before this constructor returns.

Isorropia::Epetra::Partitioner::Partitioner ( Teuchos::RefCountPtr< const Epetra_CrsGraph >  input_graph,
Teuchos::RefCountPtr< const Isorropia::CostDescriber costs,
const Teuchos::ParameterList &  paramlist,
bool  compute_partitioning_now = true 
)

Constructor that accepts an Epetra_CrsGraph object and a CostDescriber.

Parameters:
input_graph Matrix-graph object for which a new partitioning is to be computed. A Teuchos::RefCountPtr is used here because a reference to the input object may be held by this object after this constructor completes and returns.
costs CostDescriber object which allows for user-specified weights of varying types to be provided to the partitioner.
paramlist Teuchos::ParameterList which will be copied to an internal ParameterList attribute. No reference to this input object is held after this constructor completes.
If the ParameterList object contains a sublist named "Zoltan", then the Zoltan library is used to perform the balancing. Also, any parameters in the "Zoltan" sublist will be relayed directly to Zoltan. Refer to the Zoltan users guide for specific parameters that Zoltan recognizes. A couple of important ones are "LB_METHOD" (valid values include "GRAPH", "HYPERGRAPH"), "DEBUG_LEVEL" (valid values are 0 to 10, default is 1), etc.
compute_partitioning_now Optional argument defaults to true. If true, the method compute_partitioning() will be called before this constructor returns.

Isorropia::Epetra::Partitioner::Partitioner ( Teuchos::RefCountPtr< const Epetra_RowMatrix >  input_matrix,
const Teuchos::ParameterList &  paramlist,
bool  compute_partitioning_now = true 
)

Constructor that accepts an Epetra_RowMatrix object.

Parameters:
input_matrix Matrix object for which a new partitioning is to be computed. A Teuchos::RefCountPtr is used here because a reference to the input object may be held by this object after this constructor completes and returns.
paramlist Teuchos::ParameterList which will be copied to an internal ParameterList attribute. No reference to this input object is held after this constructor completes.
If the ParameterList object contains a sublist named "Zoltan", then the Zoltan library is used to perform the balancing. Also, any parameters in the "Zoltan" sublist will be relayed directly to Zoltan. Refer to the Zoltan users guide for specific parameters that Zoltan recognizes. A couple of important ones are "LB_METHOD" (valid values include "GRAPH", "HYPERGRAPH"), "DEBUG_LEVEL" (valid values are 0 to 10, default is 1), etc.
compute_partitioning_now Optional argument defaults to true. If true, the method compute_partitioning() will be called before this constructor returns.

Isorropia::Epetra::Partitioner::Partitioner ( Teuchos::RefCountPtr< const Epetra_RowMatrix >  input_matrix,
Teuchos::RefCountPtr< const Isorropia::CostDescriber costs,
const Teuchos::ParameterList &  paramlist,
bool  compute_partitioning_now = true 
)

Constructor that accepts an Epetra_RowMatrix object and a CostDescriber.

Parameters:
input_matrix Matrix object for which a new partitioning is to be computed. A Teuchos::RefCountPtr is used here because a reference to the input object may be held by this object after this constructor completes and returns.
costs CostDescriber object which allows for user-specified weights of varying types to be provided to the partitioner.
paramlist Teuchos::ParameterList which will be copied to an internal ParameterList attribute. No reference to this input object is held after this constructor completes.
If the ParameterList object contains a sublist named "Zoltan", then the Zoltan library is used to perform the balancing. Also, any parameters in the "Zoltan" sublist will be relayed directly to Zoltan. Refer to the Zoltan users guide for specific parameters that Zoltan recognizes. A couple of important ones are "LB_METHOD" (valid values include "GRAPH", "HYPERGRAPH"), "DEBUG_LEVEL" (valid values are 0 to 10, default is 1), etc.
compute_partitioning_now Optional argument defaults to true. If true, the method compute_partitioning() will be called before this constructor returns.


Member Function Documentation

void Isorropia::Epetra::Partitioner::setParameters ( const Teuchos::ParameterList &  paramlist  )  [virtual]

Set parameters from a Teuchos::ParameterList object.

The input ParameterList object is copied into an internal ParameterList attribute, and no reference to the input object is held after this function returns. (Thus, the input paramlist object may be altered or destroyed as soon as this method returns.)
If the ParameterList object contains a sublist named "Zoltan", then the Zoltan library is used to perform the balancing. Also, any parameters in the "Zoltan" sublist will be relayed directly to Zoltan. Refer to the Zoltan users guide for specific parameters that Zoltan recognizes. A couple of important ones are "LB_METHOD" (valid values include "GRAPH", "HYPERGRAPH"), "DEBUG_LEVEL" (valid values are 0 to 10, default is 1), etc.

Implements Isorropia::Partitioner.

void Isorropia::Epetra::Partitioner::compute_partitioning ( bool  force_repartitioning = false  )  [virtual]

Compute a rebalanced partitioning for the data in the object that this class was constructed with.

Parameters:
force_repartitioning Optional argument defaults to false. By default, compute_partitioning() only does anything the first time it is called, and subsequent repeated calls are no-ops. If the user's intent is to re-compute the partitioning (e.g., if parameters or other inputs have been changed), then setting this flag to true will force a new partitioning to be computed.

Implements Isorropia::Partitioner.

int Isorropia::Epetra::Partitioner::numElemsInPartition ( int  partition  )  const [virtual]

Return the number of elements in a given partition.

(Currently only implemented for the case where 'partition' is local.)

Implements Isorropia::Partitioner.

void Isorropia::Epetra::Partitioner::elemsInPartition ( int  partition,
int *  elementList,
int  len 
) const [virtual]

Fill user-allocated list (of length len) with the global element ids to be located in the given partition.

(Currently only implemented for the case where 'partition' is local.)

Implements Isorropia::Partitioner.


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