Zoltan2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Member Functions | Public Attributes | Protected Attributes | List of all members
Zoltan2::CommunicationModel< part_t, pcoord_t > Class Template Referenceabstract

CommunicationModel Base Class that performs mapping between the coordinate partitioning result. More...

#include <Zoltan2_TaskMapping.hpp>

Inheritance diagram for Zoltan2::CommunicationModel< part_t, pcoord_t >:
Inheritance graph
[legend]

Public Member Functions

 CommunicationModel ()
 
 CommunicationModel (part_t no_procs_, part_t no_tasks_)
 
virtual ~CommunicationModel ()
 
part_t getNProcs () const
 
part_t getNTasks () const
 
void calculateCommunicationCost (part_t *task_to_proc, part_t *task_communication_xadj, part_t *task_communication_adj, pcoord_t *task_communication_edge_weight)
 
double getCommunicationCostMetric ()
 
virtual double getProcDistance (int procId1, int procId2) const =0
 
virtual void getMapping (int myRank, const RCP< const Environment > &env, ArrayRCP< part_t > &proc_to_task_xadj, ArrayRCP< part_t > &proc_to_task_adj, ArrayRCP< part_t > &task_to_proc, const Teuchos::RCP< const Teuchos::Comm< int > > comm_) const =0
 Function is called whenever nprocs > no_task. Function returns only the subset of processors that are closest to each other. More...
 

Public Attributes

part_t no_procs
 
part_t no_tasks
 

Protected Attributes

double commCost
 

Detailed Description

template<typename part_t, typename pcoord_t>
class Zoltan2::CommunicationModel< part_t, pcoord_t >

CommunicationModel Base Class that performs mapping between the coordinate partitioning result.

Definition at line 991 of file Zoltan2_TaskMapping.hpp.

Constructor & Destructor Documentation

template<typename part_t , typename pcoord_t >
Zoltan2::CommunicationModel< part_t, pcoord_t >::CommunicationModel ( )
inline

Definition at line 1003 of file Zoltan2_TaskMapping.hpp.

template<typename part_t , typename pcoord_t >
Zoltan2::CommunicationModel< part_t, pcoord_t >::CommunicationModel ( part_t  no_procs_,
part_t  no_tasks_ 
)
inline

Definition at line 1004 of file Zoltan2_TaskMapping.hpp.

template<typename part_t , typename pcoord_t >
virtual Zoltan2::CommunicationModel< part_t, pcoord_t >::~CommunicationModel ( )
inlinevirtual

Definition at line 1009 of file Zoltan2_TaskMapping.hpp.

Member Function Documentation

template<typename part_t , typename pcoord_t >
part_t Zoltan2::CommunicationModel< part_t, pcoord_t >::getNProcs ( ) const
inline

Definition at line 1011 of file Zoltan2_TaskMapping.hpp.

template<typename part_t , typename pcoord_t >
part_t Zoltan2::CommunicationModel< part_t, pcoord_t >::getNTasks ( ) const
inline

Definition at line 1015 of file Zoltan2_TaskMapping.hpp.

template<typename part_t , typename pcoord_t >
void Zoltan2::CommunicationModel< part_t, pcoord_t >::calculateCommunicationCost ( part_t task_to_proc,
part_t task_communication_xadj,
part_t task_communication_adj,
pcoord_t *  task_communication_edge_weight 
)
inline

Definition at line 1019 of file Zoltan2_TaskMapping.hpp.

template<typename part_t , typename pcoord_t >
double Zoltan2::CommunicationModel< part_t, pcoord_t >::getCommunicationCostMetric ( )
inline

Definition at line 1055 of file Zoltan2_TaskMapping.hpp.

template<typename part_t , typename pcoord_t >
virtual double Zoltan2::CommunicationModel< part_t, pcoord_t >::getProcDistance ( int  procId1,
int  procId2 
) const
pure virtual
template<typename part_t , typename pcoord_t >
virtual void Zoltan2::CommunicationModel< part_t, pcoord_t >::getMapping ( int  myRank,
const RCP< const Environment > &  env,
ArrayRCP< part_t > &  proc_to_task_xadj,
ArrayRCP< part_t > &  proc_to_task_adj,
ArrayRCP< part_t > &  task_to_proc,
const Teuchos::RCP< const Teuchos::Comm< int > >  comm_ 
) const
pure virtual

Function is called whenever nprocs > no_task. Function returns only the subset of processors that are closest to each other.

Parameters
proc_to_task_xadjholds the pointer to the task array
proc_to_task_adjholds the indices of tasks wrt to proc_to_task_xadj array.
task_to_procholds the processors mapped to tasks.

Implemented in Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t >.

Member Data Documentation

template<typename part_t , typename pcoord_t >
double Zoltan2::CommunicationModel< part_t, pcoord_t >::commCost
protected

Definition at line 994 of file Zoltan2_TaskMapping.hpp.

template<typename part_t , typename pcoord_t >
part_t Zoltan2::CommunicationModel< part_t, pcoord_t >::no_procs

Definition at line 999 of file Zoltan2_TaskMapping.hpp.

template<typename part_t , typename pcoord_t >
part_t Zoltan2::CommunicationModel< part_t, pcoord_t >::no_tasks

Definition at line 1000 of file Zoltan2_TaskMapping.hpp.


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