Zoltan2
Public Types | Public Member Functions
Zoltan2::AlgRCB< Adapter > Class Template Reference

Recursive coordinate bisection algorithm. More...

#include <Zoltan2_AlgRCB.hpp>

Inheritance diagram for Zoltan2::AlgRCB< Adapter >:
Inheritance graph
[legend]
Collaboration diagram for Zoltan2::AlgRCB< Adapter >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef CoordinateModel
< typename
Adapter::base_adapter_t > 
coordModel_t
typedef Adapter::node_t node_t
typedef Adapter::lno_t lno_t
typedef Adapter::gno_t gno_t
typedef Adapter::part_t part_t
typedef Adapter::scalar_t scalar_t
typedef Adapter::zgid_t zgid_t

Public Member Functions

 AlgRCB (const RCP< const Environment > &env__, const RCP< Comm< int > > &problemComm__, const RCP< const coordModel_t > &coords__)
void partition (const RCP< PartitioningSolution< Adapter > > &solution)
 Partitioning method.
virtual int order (const RCP< OrderingSolution< zgid_t, lno_t > > &solution)
 Ordering method.
virtual void color (const RCP< ColoringSolution< Adapter > > &solution)
 Coloring method.
virtual void match ()
 Coloring method.
virtual part_t pointAssign (int dim, scalar_t *point) const
 pointAssign method: Available only for some partitioning algorithms
virtual void boxAssign (int dim, scalar_t *lower, scalar_t *upper, size_t &nParts, part_t **partsFound) const
 boxAssign method: Available only for some partitioning algorithms

Detailed Description

template<typename Adapter>
class Zoltan2::AlgRCB< Adapter >

Recursive coordinate bisection algorithm.

Parameters:
envlibrary configuration and problem parameters
commthe communicator for the problem
coordsa CoordinateModel with user data
solutiona PartitioningSolution, on input it contains part information, on return it also contains the solution and quality metrics.
Todo:

timing and memory usage profiling and debug messages

catch errors and pass back

write the rcb tree back to the solution

for "repartition", start with the tree in the solution

work on performance issues. Some of the global communication can probably be consolidated into fewer messages.

The algorithm is documented in Recursive Coordinate Bisection (RCB). Please document changes at this page.

Definition at line 83 of file Zoltan2_AlgRCB.hpp.


Member Typedef Documentation

template<typename Adapter>
typedef CoordinateModel<typename Adapter::base_adapter_t> Zoltan2::AlgRCB< Adapter >::coordModel_t

Definition at line 86 of file Zoltan2_AlgRCB.hpp.

template<typename Adapter>
typedef Adapter::node_t Zoltan2::AlgRCB< Adapter >::node_t

Definition at line 87 of file Zoltan2_AlgRCB.hpp.

template<typename Adapter>
typedef Adapter::lno_t Zoltan2::AlgRCB< Adapter >::lno_t

Reimplemented from Zoltan2::Algorithm< Adapter >.

Definition at line 88 of file Zoltan2_AlgRCB.hpp.

template<typename Adapter>
typedef Adapter::gno_t Zoltan2::AlgRCB< Adapter >::gno_t

Reimplemented from Zoltan2::Algorithm< Adapter >.

Definition at line 89 of file Zoltan2_AlgRCB.hpp.

template<typename Adapter>
typedef Adapter::part_t Zoltan2::AlgRCB< Adapter >::part_t

Reimplemented from Zoltan2::Algorithm< Adapter >.

Definition at line 90 of file Zoltan2_AlgRCB.hpp.

template<typename Adapter>
typedef Adapter::scalar_t Zoltan2::AlgRCB< Adapter >::scalar_t

Reimplemented from Zoltan2::Algorithm< Adapter >.

Definition at line 91 of file Zoltan2_AlgRCB.hpp.

template<typename Adapter >
typedef Adapter::zgid_t Zoltan2::Algorithm< Adapter >::zgid_t [inherited]

Constructor & Destructor Documentation

template<typename Adapter>
Zoltan2::AlgRCB< Adapter >::AlgRCB ( const RCP< const Environment > &  env__,
const RCP< Comm< int > > &  problemComm__,
const RCP< const coordModel_t > &  coords__ 
) [inline]

Definition at line 95 of file Zoltan2_AlgRCB.hpp.


Member Function Documentation

template<typename Adapter >
void Zoltan2::AlgRCB< Adapter >::partition ( const RCP< PartitioningSolution< Adapter > > &  solution) [virtual]

Partitioning method.

Reimplemented from Zoltan2::Algorithm< Adapter >.

Definition at line 116 of file Zoltan2_AlgRCB.hpp.

template<typename Adapter >
virtual int Zoltan2::Algorithm< Adapter >::order ( const RCP< OrderingSolution< zgid_t, lno_t > > &  solution) [inline, virtual, inherited]
template<typename Adapter >
virtual void Zoltan2::Algorithm< Adapter >::color ( const RCP< ColoringSolution< Adapter > > &  solution) [inline, virtual, inherited]

Coloring method.

Reimplemented in Zoltan2::AlgSerialGreedy< Adapter >.

Definition at line 100 of file Zoltan2_Algorithm.hpp.

template<typename Adapter >
virtual void Zoltan2::Algorithm< Adapter >::match ( ) [inline, virtual, inherited]

Coloring method.

Definition at line 106 of file Zoltan2_Algorithm.hpp.

template<typename Adapter >
virtual part_t Zoltan2::Algorithm< Adapter >::pointAssign ( int  dim,
scalar_t point 
) const [inline, virtual, inherited]

pointAssign method: Available only for some partitioning algorithms

Definition at line 123 of file Zoltan2_Algorithm.hpp.

template<typename Adapter >
virtual void Zoltan2::Algorithm< Adapter >::boxAssign ( int  dim,
scalar_t lower,
scalar_t upper,
size_t &  nParts,
part_t **  partsFound 
) const [inline, virtual, inherited]

boxAssign method: Available only for some partitioning algorithms

Definition at line 141 of file Zoltan2_Algorithm.hpp.


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