| OPAL (Object Oriented Parallel Accelerator Library)
    2.2.0
    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 GeometricStrategy, ManyMasterSplit< TopoDiscoveryStrategy >, and RandomStrategy.
| 
 | 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 GeometricStrategy::coordinatesToPID(), getComm(), and GeometricStrategy::split().
| 
 | 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 | 
| 
 | 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 GeometricStrategy::coordinatesToPID(), getRank(), GeometricStrategy::printRegion(), RandomStrategy::split(), ManyMasterSplit< TopoDiscoveryStrategy >::split(), GeometricStrategy::split(), and SplitStrategy().
| 
 | protected | 
Definition at line 75 of file SplitStrategy.h.
Referenced by getRole(), RandomStrategy::split(), and ManyMasterSplit< TopoDiscoveryStrategy >::split().
 1.8.5
 1.8.5