OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ManyMasterSplit< TopoDiscoveryStrategy > Class Template Reference

#include <ManyMasterSplit.h>

Inheritance diagram for ManyMasterSplit< TopoDiscoveryStrategy >:
Inheritance graph
[legend]
Collaboration diagram for ManyMasterSplit< TopoDiscoveryStrategy >:
Collaboration graph
[legend]

Public Member Functions

 ManyMasterSplit (CmdArguments_t args, MPI_Comm comm=MPI_COMM_WORLD)
 
virtual ~ManyMasterSplit ()
 
virtual void split ()
 
virtual int getNrWorkerGroups () const
 Get number of worker groups. More...
 

Private Member Functions

void parseArguments ()
 

Private Attributes

size_t num_masters_
 
size_t num_coworkers_worker_
 

Additional Inherited Members

- Protected Member Functions inherited from SplitStrategy
 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 inherited from SplitStrategy
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...
 

Detailed Description

template<class TopoDiscoveryStrategy>
class ManyMasterSplit< TopoDiscoveryStrategy >

A very simple splitting strategy where we have a one core optimizer and pilot (and k of those "islands") and many-core worker groups. The number of islands and co-workers is retrieved from the passed command line arguments:

Definition at line 22 of file ManyMasterSplit.h.

Constructor & Destructor Documentation

◆ ManyMasterSplit()

template<class TopoDiscoveryStrategy >
ManyMasterSplit< TopoDiscoveryStrategy >::ManyMasterSplit ( CmdArguments_t  args,
MPI_Comm  comm = MPI_COMM_WORLD 
)
inline

Definition at line 26 of file ManyMasterSplit.h.

◆ ~ManyMasterSplit()

template<class TopoDiscoveryStrategy >
virtual ManyMasterSplit< TopoDiscoveryStrategy >::~ManyMasterSplit ( )
inlinevirtual

Definition at line 31 of file ManyMasterSplit.h.

Member Function Documentation

◆ getNrWorkerGroups()

template<class TopoDiscoveryStrategy >
virtual int ManyMasterSplit< TopoDiscoveryStrategy >::getNrWorkerGroups ( ) const
inlinevirtual

◆ parseArguments()

template<class TopoDiscoveryStrategy >
void ManyMasterSplit< TopoDiscoveryStrategy >::parseArguments ( )
inlineprivate

◆ split()

template<class TopoDiscoveryStrategy >
virtual void ManyMasterSplit< TopoDiscoveryStrategy >::split ( )
inlinevirtual

Member Data Documentation

◆ num_coworkers_worker_

template<class TopoDiscoveryStrategy >
size_t ManyMasterSplit< TopoDiscoveryStrategy >::num_coworkers_worker_
private

◆ num_masters_

template<class TopoDiscoveryStrategy >
size_t ManyMasterSplit< TopoDiscoveryStrategy >::num_masters_
private

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