Zoltan2
Loading...
Searching...
No Matches
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 >:
Collaboration diagram for Zoltan2::MatrixPartitioningProblem< Adapter >:

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.
 MatrixPartitioningProblem (Adapter *A, ParameterList *p)
 Constructor where communicator is the Teuchos default.
 ~MatrixPartitioningProblem ()
 Destructor.
void solve (bool updateInputData=true)
 Direct the problem to create a solution.
const PartitioningSolution< Adapter > & getSolution ()
 Get the solution to the problem.
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.
virtual ~Problem ()
 Destructor.
RCP< const Comm< int > > getComm ()
 Return the communicator used by the problem.
void resetParameters (ParameterList *params)
 Reset the list of parameters.
void printTimers () const
 Return the communicator passed to the problem.
const RCP< const Environment > & getEnvironment () const
 Get the current Environment. Useful for testing.
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.
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< 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

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

Todo

repartition given an initial solution

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.

Definition at line 69 of file Zoltan2_MatrixPartitioningProblem.hpp.

Member Typedef Documentation

◆ scalar_t

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

Definition at line 73 of file Zoltan2_MatrixPartitioningProblem.hpp.

◆ gno_t

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

Definition at line 74 of file Zoltan2_MatrixPartitioningProblem.hpp.

◆ lno_t

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

Definition at line 75 of file Zoltan2_MatrixPartitioningProblem.hpp.

◆ part_t

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

Definition at line 76 of file Zoltan2_MatrixPartitioningProblem.hpp.

◆ user_t

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

Definition at line 77 of file Zoltan2_MatrixPartitioningProblem.hpp.

◆ base_adapter_t

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

Definition at line 78 of file Zoltan2_MatrixPartitioningProblem.hpp.

Constructor & Destructor Documentation

◆ MatrixPartitioningProblem() [1/2]

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 84 of file Zoltan2_MatrixPartitioningProblem.hpp.

◆ MatrixPartitioningProblem() [2/2]

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

Constructor where communicator is the Teuchos default.

Definition at line 118 of file Zoltan2_MatrixPartitioningProblem.hpp.

◆ ~MatrixPartitioningProblem()

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

Destructor.

Definition at line 127 of file Zoltan2_MatrixPartitioningProblem.hpp.

Member Function Documentation

◆ solve()

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 274 of file Zoltan2_MatrixPartitioningProblem.hpp.

◆ getSolution()

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

Get the solution to the problem.

Definition at line 152 of file Zoltan2_MatrixPartitioningProblem.hpp.

◆ getValidParameters()

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

Set up validators specific to this Problem.

Definition at line 159 of file Zoltan2_MatrixPartitioningProblem.hpp.


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