Rosetta
Static Public Member Functions | Private Member Functions | Static Private Attributes | List of all members
utility::SimulateMPI Class Reference

singleton class storing simulated MPI state More...

#include <SimulateMPI.hh>

Static Public Member Functions

static bool simulate_mpi ()
 
static void initialize_simulation (int nprocs)
 
static void set_mpi_rank (int value)
 
static int mpi_rank ()
 
static int mpi_nprocs ()
 
static int receive_integer_from_anyone ()
 
static std::string receive_string_from_node (int source)
 
static void send_string_to_node (int destination, std::string const &message)
 
static char receive_char_from_node (int source)
 
static void send_char_to_node (int destination, char message)
 
static int receive_integer_from_node (int source)
 
static void send_integer_to_node (int destination, int message)
 
static platform::Size receive_size_from_node (int source)
 
static void send_size_to_node (int destination, platform::Size message)
 
static vector1< int > receive_integers_from_node (int source)
 
static void send_integers_to_node (int destination, vector1< int > const &message)
 
static vector1< platform::Sizereceive_sizes_from_node (int source)
 
static void send_sizes_to_node (int destination, vector1< platform::Size > const &message)
 
static double receive_double_from_node (int source)
 
static void send_double_to_node (int destination, double message)
 
static vector1< doublereceive_doubles_from_node (int source)
 
static void send_doubles_to_node (int destination, vector1< double > const &message)
 
static bool incoming_message_queue_is_empty ()
 
static bool outgoing_message_queue_is_empty ()
 
static platform::Size index_of_next_message ()
 Ask for the global index of when the next message to be processed by a node was sent by another node; useful if you want to ask "was message A sent before or after message B?". More...
 
static void print_unprocessed_incoming_messages (std::ostream &)
 
static void print_unprocessed_outgoing_messages (std::ostream &)
 

Private Member Functions

 SimulateMPI ()
 
 SimulateMPI (SimulateMPI const &src)
 

Static Private Attributes

static SimulateMPIDatasimulation_
 
static int rank_
 

Detailed Description

singleton class storing simulated MPI state

Constructor & Destructor Documentation

◆ SimulateMPI() [1/2]

utility::SimulateMPI::SimulateMPI ( )
private

◆ SimulateMPI() [2/2]

utility::SimulateMPI::SimulateMPI ( SimulateMPI const &  src)
private

Member Function Documentation

◆ incoming_message_queue_is_empty()

bool utility::SimulateMPI::incoming_message_queue_is_empty ( )
static

◆ index_of_next_message()

platform::Size utility::SimulateMPI::index_of_next_message ( )
static

Ask for the global index of when the next message to be processed by a node was sent by another node; useful if you want to ask "was message A sent before or after message B?".

References debug_assert, rank_, utility::SimulateMPIData::retrieve_next_message(), and simulation_.

◆ initialize_simulation()

void utility::SimulateMPI::initialize_simulation ( int  nprocs)
static

References rank_, and simulation_.

◆ mpi_nprocs()

int utility::SimulateMPI::mpi_nprocs ( )
static

◆ mpi_rank()

int utility::SimulateMPI::mpi_rank ( )
static

References debug_assert, rank_, and simulation_.

Referenced by utility::mpi_rank().

◆ outgoing_message_queue_is_empty()

bool utility::SimulateMPI::outgoing_message_queue_is_empty ( )
static

◆ print_unprocessed_incoming_messages()

void utility::SimulateMPI::print_unprocessed_incoming_messages ( std::ostream &  os)
static

◆ print_unprocessed_outgoing_messages()

void utility::SimulateMPI::print_unprocessed_outgoing_messages ( std::ostream &  os)
static

◆ receive_char_from_node()

char utility::SimulateMPI::receive_char_from_node ( int  source)
static

◆ receive_double_from_node()

double utility::SimulateMPI::receive_double_from_node ( int  source)
static

◆ receive_doubles_from_node()

vector1< double > utility::SimulateMPI::receive_doubles_from_node ( int  source)
static

◆ receive_integer_from_anyone()

int utility::SimulateMPI::receive_integer_from_anyone ( )
static

◆ receive_integer_from_node()

int utility::SimulateMPI::receive_integer_from_node ( int  source)
static

◆ receive_integers_from_node()

vector1< int > utility::SimulateMPI::receive_integers_from_node ( int  source)
static

◆ receive_size_from_node()

platform::Size utility::SimulateMPI::receive_size_from_node ( int  source)
static

◆ receive_sizes_from_node()

vector1< platform::Size > utility::SimulateMPI::receive_sizes_from_node ( int  source)
static

◆ receive_string_from_node()

std::string utility::SimulateMPI::receive_string_from_node ( int  source)
static

◆ send_char_to_node()

void utility::SimulateMPI::send_char_to_node ( int  destination,
char  message 
)
static

◆ send_double_to_node()

void utility::SimulateMPI::send_double_to_node ( int  destination,
double  message 
)
static

◆ send_doubles_to_node()

void utility::SimulateMPI::send_doubles_to_node ( int  destination,
vector1< double > const &  message 
)
static

◆ send_integer_to_node()

void utility::SimulateMPI::send_integer_to_node ( int  destination,
int  message 
)
static

◆ send_integers_to_node()

void utility::SimulateMPI::send_integers_to_node ( int  destination,
vector1< int > const &  message 
)
static

◆ send_size_to_node()

void utility::SimulateMPI::send_size_to_node ( int  destination,
platform::Size  message 
)
static

◆ send_sizes_to_node()

void utility::SimulateMPI::send_sizes_to_node ( int  destination,
vector1< platform::Size > const &  message 
)
static

◆ send_string_to_node()

void utility::SimulateMPI::send_string_to_node ( int  destination,
std::string const &  message 
)
static

◆ set_mpi_rank()

void utility::SimulateMPI::set_mpi_rank ( int  value)
static

◆ simulate_mpi()

bool utility::SimulateMPI::simulate_mpi ( )
static

Member Data Documentation

◆ rank_

int utility::SimulateMPI::rank_
staticprivate

◆ simulation_

SimulateMPIData * utility::SimulateMPI::simulation_
staticprivate

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