Zoltan2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Zoltan2::MatrixPartitioningProblem< Adapter > Class Template Reference

MatrixPartitioningProblem sets up partitioning problems for the user. More...

#include <Zoltan2_MatrixPartitioningProblem.hpp>

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

Public Types

typedef Adapter::scalar_t scalar_t
 
typedef Adapter::gno_t gno_t
 
typedef Adapter::lno_t lno_t
 
typedef Adapter::part_t part_t
 
typedef Adapter::user_t user_t
 
typedef Adapter::base_adapter_t base_adapter_t
 

Public Member Functions

 MatrixPartitioningProblem (Adapter *A, ParameterList *p, const RCP< const Teuchos::Comm< int > > &comm)
 Constructor where Teuchos communicator is specified. More...
 
 MatrixPartitioningProblem (Adapter *A, ParameterList *p)
 Constructor where communicator is the Teuchos default. More...
 
 ~MatrixPartitioningProblem ()
 Destructor. More...
 
void solve (bool updateInputData=true)
 Direct the problem to create a solution. More...
 
const PartitioningSolution
< Adapter > & 
getSolution ()
 Get the solution to the problem. More...
 
- Public Member Functions inherited from Zoltan2::Problem< Adapter >
 Problem (const Adapter *input, ParameterList *params, const RCP< const Comm< int > > &comm)
 Constructor where Teuchos communicator is specified. More...
 
virtual ~Problem ()
 Destructor. More...
 
RCP< const Comm< int > > getComm ()
 Return the communicator used by the problem. More...
 
void resetParameters (ParameterList *params)
 Reset the list of parameters. More...
 
void printTimers () const
 Return the communicator passed to the problem. More...
 
const RCP< const Environment > & getEnvironment () const
 Get the current Environment. Useful for testing. More...
 
- Public Member Functions inherited from Zoltan2::ProblemRoot
virtual ~ProblemRoot ()
 

Static Public Member Functions

static void getValidParameters (ParameterList &pl)
 Set up validators specific to this Problem. More...
 
- Static Public Member Functions inherited from Zoltan2::Problem< Adapter >
static void getValidParameters (ParameterList &pl)
 

Additional Inherited Members

- Protected Types inherited from Zoltan2::Problem< Adapter >
typedef Adapter::base_adapter_t base_adapter_t
 
- Protected Attributes inherited from Zoltan2::Problem< Adapter >
RCP< const Adapter > inputAdapter_
 
RCP< const base_adapter_tbaseInputAdapter_
 
RCP< GraphModel< base_adapter_t > > graphModel_
 
RCP< IdentifierModel
< base_adapter_t > > 
identifierModel_
 
RCP< CoordinateModel
< base_adapter_t > > 
coordinateModel_
 
RCP< const Model
< base_adapter_t > > 
baseModel_
 
RCP< Algorithm< Adapter > > algorithm_
 
RCP< ParameterList > params_
 
RCP< const Comm< int > > comm_
 
RCP< Environmentenv_
 
RCP< const EnvironmentenvConst_
 
RCP< TimerManagertimer_
 

Detailed Description

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

MatrixPartitioningProblem sets up partitioning problems for the user.

The MatrixPartitioningProblem is the core of the Zoltan2 partitioning API. Based on the the user's input and parameters, the MatrixPartitioningProblem sets up a computational Model, and a Solution object. When the user calls the solve() method, the MatrixPartitioningProblem runs the algorithm, after which the Solution object may be obtained by the user.

Todo:

include pointers to examples

follow partitioning with global or local ordering

allow unsetting of part sizes by passing in null pointers

add a parameter by which user tells us there are no self edges to be removed.

- Should Problems and Solution have interfaces for returning views and for returning RCPs? Or just one? At a minimum, we should have the word "View" in function names that return views.

The template parameter is the InputAdapter containing the data that is to be partitioned.

Todo:
repartition given an initial solution

Definition at line 105 of file Zoltan2_MatrixPartitioningProblem.hpp.

Member Typedef Documentation

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

Definition at line 109 of file Zoltan2_MatrixPartitioningProblem.hpp.

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

Definition at line 110 of file Zoltan2_MatrixPartitioningProblem.hpp.

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

Definition at line 111 of file Zoltan2_MatrixPartitioningProblem.hpp.

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

Definition at line 112 of file Zoltan2_MatrixPartitioningProblem.hpp.

template<typename Adapter>
typedef Adapter::user_t Zoltan2::MatrixPartitioningProblem< Adapter >::user_t

Definition at line 113 of file Zoltan2_MatrixPartitioningProblem.hpp.

template<typename Adapter>
typedef Adapter::base_adapter_t Zoltan2::MatrixPartitioningProblem< Adapter >::base_adapter_t

Definition at line 114 of file Zoltan2_MatrixPartitioningProblem.hpp.

Constructor & Destructor Documentation

template<typename Adapter>
Zoltan2::MatrixPartitioningProblem< Adapter >::MatrixPartitioningProblem ( Adapter *  A,
ParameterList *  p,
const RCP< const Teuchos::Comm< int > > &  comm 
)
inline

Constructor where Teuchos communicator is specified.

Definition at line 120 of file Zoltan2_MatrixPartitioningProblem.hpp.

template<typename Adapter>
Zoltan2::MatrixPartitioningProblem< Adapter >::MatrixPartitioningProblem ( Adapter *  A,
ParameterList *  p 
)
inline

Constructor where communicator is the Teuchos default.

Definition at line 154 of file Zoltan2_MatrixPartitioningProblem.hpp.

template<typename Adapter>
Zoltan2::MatrixPartitioningProblem< Adapter >::~MatrixPartitioningProblem ( )
inline

Destructor.

Definition at line 163 of file Zoltan2_MatrixPartitioningProblem.hpp.

Member Function Documentation

template<typename Adapter >
void Zoltan2::MatrixPartitioningProblem< Adapter >::solve ( bool  updateInputData = true)
virtual

Direct the problem to create a solution.

Implements Zoltan2::ProblemRoot.

Definition at line 310 of file Zoltan2_MatrixPartitioningProblem.hpp.

template<typename Adapter>
const PartitioningSolution<Adapter>& Zoltan2::MatrixPartitioningProblem< Adapter >::getSolution ( )
inline

Get the solution to the problem.

Definition at line 188 of file Zoltan2_MatrixPartitioningProblem.hpp.

template<typename Adapter>
static void Zoltan2::MatrixPartitioningProblem< Adapter >::getValidParameters ( ParameterList &  pl)
inlinestatic

Set up validators specific to this Problem.

Definition at line 195 of file Zoltan2_MatrixPartitioningProblem.hpp.


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