OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
Public Member Functions | Private Attributes | List of all members
MasterNode< SolutionState_t, NeighborStrategy_t > Class Template Reference

#include <MasterNode.h>

Inherits NeighborStrategy_t.

Public Member Functions

 MasterNode (MPI_Comm master_comm, size_t buf_size_upper_bound, size_t dim, int island_id)
 
 ~MasterNode ()
 
void store (char *local_state, size_t buffer_size)
 store my best values More...
 
void collect (std::ostringstream &states)
 collect all best values from all other masters More...
 

Private Attributes

char * serialized_best_values_
 pointer to MPI window holding current best solution state More...
 
size_t buf_size_upper_bound_
 and upper bound on the allocated memory in the MPI window More...
 
size_t numMasters_
 
MPI_Comm master_comm_
 
MPI_Win win_
 
MPI_Win win_rev_
 
size_t myID_
 
std::set< size_t > collectFrom_
 neighbors we collect solution states from More...
 
size_t revision_
 my solution state revision number More...
 
std::vector< size_t > revision_state_
 revision numbers of my neighbors More...
 

Detailed Description

template<class SolutionState_t, class NeighborStrategy_t>
class MasterNode< SolutionState_t, NeighborStrategy_t >

Definition at line 55 of file MasterNode.h.

Constructor & Destructor Documentation

◆ MasterNode()

template<class SolutionState_t , class NeighborStrategy_t >
MasterNode< SolutionState_t, NeighborStrategy_t >::MasterNode ( MPI_Comm  master_comm,
size_t  buf_size_upper_bound,
size_t  dim,
int  island_id 
)
inline

◆ ~MasterNode()

template<class SolutionState_t , class NeighborStrategy_t >
MasterNode< SolutionState_t, NeighborStrategy_t >::~MasterNode ( )
inline

Member Function Documentation

◆ collect()

template<class SolutionState_t , class NeighborStrategy_t >
void MasterNode< SolutionState_t, NeighborStrategy_t >::collect ( std::ostringstream &  states)
inline

◆ store()

template<class SolutionState_t , class NeighborStrategy_t >
void MasterNode< SolutionState_t, NeighborStrategy_t >::store ( char *  local_state,
size_t  buffer_size 
)
inline

Member Data Documentation

◆ buf_size_upper_bound_

template<class SolutionState_t , class NeighborStrategy_t >
size_t MasterNode< SolutionState_t, NeighborStrategy_t >::buf_size_upper_bound_
private

and upper bound on the allocated memory in the MPI window

Definition at line 161 of file MasterNode.h.

Referenced by MasterNode< SolutionState_t, NeighborStrategy_t >::collect(), and MasterNode< SolutionState_t, NeighborStrategy_t >::store().

◆ collectFrom_

template<class SolutionState_t , class NeighborStrategy_t >
std::set<size_t> MasterNode< SolutionState_t, NeighborStrategy_t >::collectFrom_
private

neighbors we collect solution states from

Definition at line 172 of file MasterNode.h.

Referenced by MasterNode< SolutionState_t, NeighborStrategy_t >::collect(), and MasterNode< SolutionState_t, NeighborStrategy_t >::MasterNode().

◆ master_comm_

template<class SolutionState_t , class NeighborStrategy_t >
MPI_Comm MasterNode< SolutionState_t, NeighborStrategy_t >::master_comm_
private

Definition at line 163 of file MasterNode.h.

◆ myID_

template<class SolutionState_t , class NeighborStrategy_t >
size_t MasterNode< SolutionState_t, NeighborStrategy_t >::myID_
private

◆ numMasters_

template<class SolutionState_t , class NeighborStrategy_t >
size_t MasterNode< SolutionState_t, NeighborStrategy_t >::numMasters_
private

◆ revision_

template<class SolutionState_t , class NeighborStrategy_t >
size_t MasterNode< SolutionState_t, NeighborStrategy_t >::revision_
private

◆ revision_state_

template<class SolutionState_t , class NeighborStrategy_t >
std::vector<size_t> MasterNode< SolutionState_t, NeighborStrategy_t >::revision_state_
private

◆ serialized_best_values_

template<class SolutionState_t , class NeighborStrategy_t >
char* MasterNode< SolutionState_t, NeighborStrategy_t >::serialized_best_values_
private

◆ win_

template<class SolutionState_t , class NeighborStrategy_t >
MPI_Win MasterNode< SolutionState_t, NeighborStrategy_t >::win_
private

◆ win_rev_

template<class SolutionState_t , class NeighborStrategy_t >
MPI_Win MasterNode< SolutionState_t, NeighborStrategy_t >::win_rev_
private

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