Zoltan2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Member Functions | Public Attributes | List of all members
Zoltan2::PartitionMapping< Adapter > Class Template Referenceabstract

PartitionMapping maps a solution or an input distribution to ranks. More...

#include <Zoltan2_PartitionMapping.hpp>

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

Public Member Functions

 PartitionMapping (const Teuchos::RCP< const Teuchos::Comm< int > >comm_, const Teuchos::RCP< const Zoltan2::MachineRepresentation< pcoord_t, part_t > >machine_, const Teuchos::RCP< const Adapter > input_adapter_, const Teuchos::RCP< const Zoltan2::PartitioningSolution< Adapter > >soln_, const Teuchos::RCP< const Environment > envConst_)
 Constructor Constructor builds the map from parts to ranks. KDDKDD WILL NEED THE SOLUTION FOR INTELLIGENT MAPPING KDDKDD BUT MAY WANT TO SET PART SIZES BASED ON CAPABILITY OF A RANK. KDDKDD SO WHEN SHOULD THE MAP BE CREATED? More...
 
 PartitionMapping (const Teuchos::RCP< const Teuchos::Comm< int > >comm_, const Teuchos::RCP< const Zoltan2::MachineRepresentation< pcoord_t, part_t > >machine_, const Teuchos::RCP< const Adapter > input_adapter_, const part_t num_parts_, const part_t *result_parts, const Teuchos::RCP< const Environment > envConst_)
 
 PartitionMapping (const Teuchos::RCP< const Teuchos::Comm< int > >comm_, const Teuchos::RCP< const Environment > envConst_)
 
 PartitionMapping ()
 
 PartitionMapping (const Teuchos::RCP< const Environment >envConst_)
 
 PartitionMapping (const Teuchos::RCP< const Environment > envConst_, const Teuchos::RCP< const Teuchos::Comm< int > >comm_, const Teuchos::RCP< const MachineRepresentation< pcoord_t, part_t > >machine_)
 
virtual ~PartitionMapping ()
 
virtual size_t getLocalNumberOfParts () const =0
 Returns the number of parts to be assigned to this process. More...
 
virtual void getPartsForProc (int procId, part_t &numParts, part_t *&parts) const =0
 Get the parts belonging to a process. More...
 
virtual void getProcsForPart (part_t partId, part_t &numProcs, part_t *&procs) const =0
 Get the processes containing a part. More...
 
- Public Member Functions inherited from Zoltan2::Algorithm< Adapter >
virtual ~Algorithm ()
 
virtual int localOrder (const RCP< LocalOrderingSolution< lno_t > > &)
 Ordering method. More...
 
virtual int globalOrder (const RCP< GlobalOrderingSolution< gno_t > > &)
 Ordering method. More...
 
virtual void color (const RCP< ColoringSolution< Adapter > > &)
 Coloring method. More...
 
virtual void match ()
 Matching method. More...
 
virtual void partition (const RCP< PartitioningSolution< Adapter > > &)
 Partitioning method. More...
 
virtual void partitionMatrix (const RCP< MatrixPartitioningSolution< Adapter > > &)
 Matrix Partitioning method. More...
 
virtual void map (const RCP< MappingSolution< Adapter > > &)
 Mapping method. More...
 
virtual bool isPartitioningTreeBinary () const
 return if algorithm determins tree to be binary More...
 
virtual void getPartitionTree (part_t, part_t &, std::vector< part_t > &, std::vector< part_t > &, std::vector< part_t > &, std::vector< part_t > &) const
 for partitioning methods, fill arrays with partition tree info More...
 
virtual std::vector
< coordinateModelPartBox > & 
getPartBoxesView () const
 for partitioning methods, return bounding boxes of the More...
 
virtual part_t pointAssign (int, scalar_t *) const
 pointAssign method: Available only for some partitioning algorithms More...
 
virtual void boxAssign (int, scalar_t *, scalar_t *, size_t &, part_t **) const
 boxAssign method: Available only for some partitioning algorithms More...
 
virtual void getCommunicationGraph (const PartitioningSolution< Adapter > *, ArrayRCP< part_t > &, ArrayRCP< part_t > &)
 returns serial communication graph of a computed partition More...
 
virtual int getRankForPart (part_t)
 In mapping, returns the rank to which a part is assigned. More...
 
virtual void getMyPartsView (part_t &, part_t *&)
 In mapping, returns a view of parts assigned to the current rank. More...
 

Public Attributes

const Teuchos::RCP< const
Teuchos::Comm< int > > 
comm
 
const Teuchos::RCP< const
Zoltan2::MachineRepresentation
< pcoord_t, part_t > > 
machine
 
const Teuchos::RCP< const Adapter > input_adapter
 
const Teuchos::RCP< const
Zoltan2::PartitioningSolution
< Adapter > > 
soln
 
const Teuchos::RCP< const
Environment
env
 
const part_t num_parts
 
const part_tsolution_parts
 

Additional Inherited Members

- Public Types inherited from Zoltan2::Algorithm< Adapter >
typedef Adapter::lno_t lno_t
 
typedef Adapter::gno_t gno_t
 
typedef Adapter::scalar_t scalar_t
 
typedef Adapter::part_t part_t
 

Detailed Description

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

PartitionMapping maps a solution or an input distribution to ranks.

Definition at line 29 of file Zoltan2_PartitionMapping.hpp.

Constructor & Destructor Documentation

template<typename Adapter >
Zoltan2::PartitionMapping< Adapter >::PartitionMapping ( const Teuchos::RCP< const Teuchos::Comm< int > >  comm_,
const Teuchos::RCP< const Zoltan2::MachineRepresentation< pcoord_t, part_t > >  machine_,
const Teuchos::RCP< const Adapter >  input_adapter_,
const Teuchos::RCP< const Zoltan2::PartitioningSolution< Adapter > >  soln_,
const Teuchos::RCP< const Environment envConst_ 
)
inline

Constructor Constructor builds the map from parts to ranks. KDDKDD WILL NEED THE SOLUTION FOR INTELLIGENT MAPPING KDDKDD BUT MAY WANT TO SET PART SIZES BASED ON CAPABILITY OF A RANK. KDDKDD SO WHEN SHOULD THE MAP BE CREATED?

Definition at line 57 of file Zoltan2_PartitionMapping.hpp.

template<typename Adapter >
Zoltan2::PartitionMapping< Adapter >::PartitionMapping ( const Teuchos::RCP< const Teuchos::Comm< int > >  comm_,
const Teuchos::RCP< const Zoltan2::MachineRepresentation< pcoord_t, part_t > >  machine_,
const Teuchos::RCP< const Adapter >  input_adapter_,
const part_t  num_parts_,
const part_t result_parts,
const Teuchos::RCP< const Environment envConst_ 
)
inline

Definition at line 75 of file Zoltan2_PartitionMapping.hpp.

template<typename Adapter >
Zoltan2::PartitionMapping< Adapter >::PartitionMapping ( const Teuchos::RCP< const Teuchos::Comm< int > >  comm_,
const Teuchos::RCP< const Environment envConst_ 
)
inline

Definition at line 94 of file Zoltan2_PartitionMapping.hpp.

template<typename Adapter >
Zoltan2::PartitionMapping< Adapter >::PartitionMapping ( )
inline

Definition at line 107 of file Zoltan2_PartitionMapping.hpp.

template<typename Adapter >
Zoltan2::PartitionMapping< Adapter >::PartitionMapping ( const Teuchos::RCP< const Environment envConst_)
inline

Definition at line 115 of file Zoltan2_PartitionMapping.hpp.

template<typename Adapter >
Zoltan2::PartitionMapping< Adapter >::PartitionMapping ( const Teuchos::RCP< const Environment envConst_,
const Teuchos::RCP< const Teuchos::Comm< int > >  comm_,
const Teuchos::RCP< const MachineRepresentation< pcoord_t, part_t > >  machine_ 
)
inline

Definition at line 123 of file Zoltan2_PartitionMapping.hpp.

template<typename Adapter >
virtual Zoltan2::PartitionMapping< Adapter >::~PartitionMapping ( )
inlinevirtual

Definition at line 136 of file Zoltan2_PartitionMapping.hpp.

Member Function Documentation

template<typename Adapter >
virtual size_t Zoltan2::PartitionMapping< Adapter >::getLocalNumberOfParts ( ) const
pure virtual

Returns the number of parts to be assigned to this process.

Implemented in Zoltan2::CoordinateTaskMapper< Adapter, part_t >.

template<typename Adapter >
virtual void Zoltan2::PartitionMapping< Adapter >::getPartsForProc ( int  procId,
part_t numParts,
part_t *&  parts 
) const
pure virtual

Get the parts belonging to a process.

Parameters
procIda process rank
numPartson return will be set the number of parts belonging to the process.
partson return will be a pointer to the parts assigned to procId

Implemented in Zoltan2::CoordinateTaskMapper< Adapter, part_t >.

template<typename Adapter >
virtual void Zoltan2::PartitionMapping< Adapter >::getProcsForPart ( part_t  partId,
part_t numProcs,
part_t *&  procs 
) const
pure virtual

Get the processes containing a part.

Parameters
partIda part number from 0 to one less than the global number of parts.
numProcson return will be the number of procs owning partId
procson return will be prointer to the procs owning partId

Implemented in Zoltan2::CoordinateTaskMapper< Adapter, part_t >.

Member Data Documentation

template<typename Adapter >
const Teuchos::RCP<const Teuchos::Comm<int> > Zoltan2::PartitionMapping< Adapter >::comm

Definition at line 42 of file Zoltan2_PartitionMapping.hpp.

template<typename Adapter >
const Teuchos::RCP<const Zoltan2::MachineRepresentation <pcoord_t,part_t> > Zoltan2::PartitionMapping< Adapter >::machine

Definition at line 43 of file Zoltan2_PartitionMapping.hpp.

template<typename Adapter >
const Teuchos::RCP<const Adapter > Zoltan2::PartitionMapping< Adapter >::input_adapter

Definition at line 44 of file Zoltan2_PartitionMapping.hpp.

template<typename Adapter >
const Teuchos::RCP<const Zoltan2::PartitioningSolution<Adapter> > Zoltan2::PartitionMapping< Adapter >::soln

Definition at line 45 of file Zoltan2_PartitionMapping.hpp.

template<typename Adapter >
const Teuchos::RCP<const Environment > Zoltan2::PartitionMapping< Adapter >::env

Definition at line 46 of file Zoltan2_PartitionMapping.hpp.

template<typename Adapter >
const part_t Zoltan2::PartitionMapping< Adapter >::num_parts

Definition at line 47 of file Zoltan2_PartitionMapping.hpp.

template<typename Adapter >
const part_t* Zoltan2::PartitionMapping< Adapter >::solution_parts

Definition at line 48 of file Zoltan2_PartitionMapping.hpp.


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