Zoltan2
Loading...
Searching...
No Matches
Zoltan2::CommunicationModel< part_t, pcoord_t, node_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, node_t >:

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.

Public Attributes

part_t no_procs
part_t no_tasks

Protected Attributes

double commCost

Detailed Description

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

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

Definition at line 935 of file Zoltan2_TaskMapping.hpp.

Constructor & Destructor Documentation

◆ CommunicationModel() [1/2]

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

Definition at line 947 of file Zoltan2_TaskMapping.hpp.

◆ CommunicationModel() [2/2]

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

Definition at line 948 of file Zoltan2_TaskMapping.hpp.

◆ ~CommunicationModel()

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

Definition at line 953 of file Zoltan2_TaskMapping.hpp.

Member Function Documentation

◆ getNProcs()

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

Definition at line 955 of file Zoltan2_TaskMapping.hpp.

◆ getNTasks()

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

Definition at line 959 of file Zoltan2_TaskMapping.hpp.

◆ calculateCommunicationCost()

template<typename part_t, typename pcoord_t, typename node_t>
void Zoltan2::CommunicationModel< part_t, pcoord_t, node_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 963 of file Zoltan2_TaskMapping.hpp.

◆ getCommunicationCostMetric()

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

Definition at line 999 of file Zoltan2_TaskMapping.hpp.

◆ getProcDistance()

◆ getMapping()

template<typename part_t, typename pcoord_t, typename node_t>
virtual void Zoltan2::CommunicationModel< part_t, pcoord_t, node_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, node_t >, and Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, Zoltan2::InputTraits< User >::part_t, Zoltan2::InputTraits< User >::node_t >.

Member Data Documentation

◆ commCost

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

Definition at line 938 of file Zoltan2_TaskMapping.hpp.

◆ no_procs

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

Definition at line 943 of file Zoltan2_TaskMapping.hpp.

◆ no_tasks

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

Definition at line 944 of file Zoltan2_TaskMapping.hpp.


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