OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
CommSplitter< Strategy_t > Class Template Reference

#include <CommSplitter.h>

Inherits Strategy_t.

Collaboration diagram for CommSplitter< Strategy_t >:

Public Member Functions

 CommSplitter (CmdArguments_t args, MPI_Comm comm=MPI_COMM_WORLD)
virtual ~CommSplitter ()
bool isOptimizer () const
bool isWorker () const
bool isPilot () const
MPI_Comm mpiComm () const
int globalRank () const
int pilotRank () const
int getLeader () const
int getNrWorkerGroups () const
Comm::Bundle_t getBundle () const
 construct comm bundle and return

Private Attributes

MPI_Comm world_comm_
MPI_Group world_group_
int global_rank_
 global MPI PID
MPI_Comm my_worker_comm_
MPI_Comm my_opt_comm_
MPI_Comm my_coworker_comm_
MPI_Comm my_comm_world_
int poller_local_pid_
 local (wrt. the communicator group) rank of the master/pilot process

Detailed Description

template<class Strategy_t>
class CommSplitter< Strategy_t >

Definition at line 48 of file CommSplitter.h.

Constructor & Destructor Documentation

◆ CommSplitter()

template<class Strategy_t>
CommSplitter< Strategy_t >::CommSplitter ( CmdArguments_t args,
MPI_Comm comm = MPI_COMM_WORLD )
inline

◆ ~CommSplitter()

template<class Strategy_t>
virtual CommSplitter< Strategy_t >::~CommSplitter ( )
inlinevirtual

Definition at line 83 of file CommSplitter.h.

References world_comm_, and world_group_.

Member Function Documentation

◆ getBundle()

◆ getLeader()

template<class Strategy_t>
int CommSplitter< Strategy_t >::getLeader ( ) const
inline

Definition at line 97 of file CommSplitter.h.

◆ getNrWorkerGroups()

template<class Strategy_t>
int CommSplitter< Strategy_t >::getNrWorkerGroups ( ) const
inline

Definition at line 99 of file CommSplitter.h.

◆ globalRank()

template<class Strategy_t>
int CommSplitter< Strategy_t >::globalRank ( ) const
inline

Definition at line 95 of file CommSplitter.h.

References global_rank_.

◆ isOptimizer()

template<class Strategy_t>
bool CommSplitter< Strategy_t >::isOptimizer ( ) const
inline

Definition at line 90 of file CommSplitter.h.

References OPTIMIZER.

◆ isPilot()

template<class Strategy_t>
bool CommSplitter< Strategy_t >::isPilot ( ) const
inline

Definition at line 92 of file CommSplitter.h.

References POLLER.

◆ isWorker()

template<class Strategy_t>
bool CommSplitter< Strategy_t >::isWorker ( ) const
inline

Definition at line 91 of file CommSplitter.h.

References WORKER.

◆ mpiComm()

template<class Strategy_t>
MPI_Comm CommSplitter< Strategy_t >::mpiComm ( ) const
inline

Definition at line 94 of file CommSplitter.h.

References world_comm_.

◆ pilotRank()

template<class Strategy_t>
int CommSplitter< Strategy_t >::pilotRank ( ) const
inline

Definition at line 96 of file CommSplitter.h.

Member Data Documentation

◆ global_rank_

template<class Strategy_t>
int CommSplitter< Strategy_t >::global_rank_
private

global MPI PID

Definition at line 127 of file CommSplitter.h.

Referenced by CommSplitter(), and globalRank().

◆ my_comm_world_

template<class Strategy_t>
MPI_Comm CommSplitter< Strategy_t >::my_comm_world_
private

Definition at line 133 of file CommSplitter.h.

Referenced by CommSplitter(), and getBundle().

◆ my_coworker_comm_

template<class Strategy_t>
MPI_Comm CommSplitter< Strategy_t >::my_coworker_comm_
private

Definition at line 132 of file CommSplitter.h.

Referenced by CommSplitter(), and getBundle().

◆ my_opt_comm_

template<class Strategy_t>
MPI_Comm CommSplitter< Strategy_t >::my_opt_comm_
private

Definition at line 131 of file CommSplitter.h.

Referenced by CommSplitter(), and getBundle().

◆ my_worker_comm_

template<class Strategy_t>
MPI_Comm CommSplitter< Strategy_t >::my_worker_comm_
private

Definition at line 130 of file CommSplitter.h.

Referenced by CommSplitter(), and getBundle().

◆ poller_local_pid_

template<class Strategy_t>
int CommSplitter< Strategy_t >::poller_local_pid_
private

local (wrt. the communicator group) rank of the master/pilot process

Definition at line 136 of file CommSplitter.h.

◆ world_comm_

template<class Strategy_t>
MPI_Comm CommSplitter< Strategy_t >::world_comm_
private

Definition at line 123 of file CommSplitter.h.

Referenced by CommSplitter(), mpiComm(), and ~CommSplitter().

◆ world_group_

template<class Strategy_t>
MPI_Group CommSplitter< Strategy_t >::world_group_
private

Definition at line 124 of file CommSplitter.h.

Referenced by CommSplitter(), and ~CommSplitter().


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