OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
|
Defines an interface for splitter strategy implementations. More...
#include <SplitStrategy.h>
Public Member Functions | |
SplitStrategy (CmdArguments_t args, MPI_Comm comm=MPI_COMM_WORLD) | |
virtual | ~SplitStrategy () |
virtual void | split ()=0 |
virtual int | getNrWorkerGroups () const =0 |
Get number of worker groups. More... | |
MPI_Comm | getComm () const |
int | getRank () const |
int | getGlobalRank () const |
int | getNP () const |
Role_t | getRole () const |
int | getLeader () const |
int | getPoller () const |
Protected Attributes | |
int | rank_ |
int | global_rank_ |
int | num_procs_ |
int | group_id_ |
CmdArguments_t | cmd_args_ |
Role_t | role_ |
std::vector< unsigned int > | colorings_ |
defines comm splitting More... | |
int | leader_ |
every core specifies a leader (master is its own leader) More... | |
int | poller_ |
every core can specifies a master More... | |
Private Attributes | |
MPI_Comm | comm_ |
communicator we are splitting More... | |
Defines an interface for splitter strategy implementations.
Definition at line 13 of file SplitStrategy.h.
|
inline |
Definition at line 17 of file SplitStrategy.h.
References global_rank_, group_id_, num_procs_, and rank_.
|
inlinevirtual |
Definition at line 36 of file SplitStrategy.h.
|
inline |
Definition at line 49 of file SplitStrategy.h.
References comm_.
Referenced by ManyMasterSplit< TopoDiscoveryStrategy >::parseArguments().
|
inline |
Definition at line 52 of file SplitStrategy.h.
References global_rank_.
|
inline |
Definition at line 56 of file SplitStrategy.h.
References leader_.
|
inline |
Definition at line 53 of file SplitStrategy.h.
References num_procs_.
|
pure virtual |
Get number of worker groups.
Implemented in ManyMasterSplit< TopoDiscoveryStrategy >.
|
inline |
Definition at line 57 of file SplitStrategy.h.
References poller_.
|
inline |
Definition at line 51 of file SplitStrategy.h.
References rank_.
|
inline |
Definition at line 55 of file SplitStrategy.h.
References role_.
|
pure virtual |
Forcing concrete implementation to split and assign poller, optimizer and worker nodes.
Implemented in ManyMasterSplit< TopoDiscoveryStrategy >.
|
protected |
Definition at line 73 of file SplitStrategy.h.
Referenced by ManyMasterSplit< TopoDiscoveryStrategy >::parseArguments().
|
protected |
defines comm splitting
Definition at line 78 of file SplitStrategy.h.
Referenced by ManyMasterSplit< TopoDiscoveryStrategy >::split().
|
private |
communicator we are splitting
Definition at line 63 of file SplitStrategy.h.
Referenced by getComm().
|
protected |
Definition at line 69 of file SplitStrategy.h.
Referenced by getGlobalRank(), and SplitStrategy().
|
protected |
Definition at line 71 of file SplitStrategy.h.
Referenced by ManyMasterSplit< TopoDiscoveryStrategy >::split(), and SplitStrategy().
|
protected |
every core specifies a leader (master is its own leader)
Definition at line 81 of file SplitStrategy.h.
Referenced by getLeader(), and ManyMasterSplit< TopoDiscoveryStrategy >::split().
|
protected |
Definition at line 70 of file SplitStrategy.h.
Referenced by getNP(), ManyMasterSplit< TopoDiscoveryStrategy >::getNrWorkerGroups(), ManyMasterSplit< TopoDiscoveryStrategy >::parseArguments(), ManyMasterSplit< TopoDiscoveryStrategy >::split(), and SplitStrategy().
|
protected |
every core can specifies a master
Definition at line 84 of file SplitStrategy.h.
Referenced by getPoller(), and ManyMasterSplit< TopoDiscoveryStrategy >::split().
|
protected |
Definition at line 68 of file SplitStrategy.h.
Referenced by getRank(), ManyMasterSplit< TopoDiscoveryStrategy >::split(), and SplitStrategy().
|
protected |
Definition at line 75 of file SplitStrategy.h.
Referenced by getRole(), and ManyMasterSplit< TopoDiscoveryStrategy >::split().