SimGrid  3.14.159
Versatile Simulation of Distributed Systems
smpi_global.cpp File Reference
#include "private.h"
#include "private.hpp"
#include "smpi_mpi_dt_private.h"
#include "mc/mc.h"
#include "src/mc/mc_record.h"
#include "xbt/replay.h"
#include "surf/surf.h"
#include "src/simix/smx_private.h"
#include "simgrid/sg_config.h"
#include "src/mc/mc_replay.h"
#include "src/msg/msg_private.h"
#include "src/kernel/activity/SynchroComm.hpp"
#include <float.h>
#include <fstream>
#include <map>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <vector>
#include <boost/tokenizer.hpp>
#include <boost/algorithm/string.hpp>

Classes

struct  s_smpi_process_data
 

Macros

#define MAILBOX_NAME_MAXLEN   (5 + sizeof(int) * 2 + 1)
 

Typedefs

typedef struct s_smpi_process_data s_smpi_process_data_t
 

Functions

 XBT_LOG_NEW_DEFAULT_SUBCATEGORY (smpi_kernel, smpi, "Logging specific to SMPI (kernel)")
 
static char * get_mailbox_name (char *str, int index)
 
static char * get_mailbox_name_small (char *str, int index)
 
void smpi_process_init (int *argc, char ***argv)
 
void smpi_process_destroy ()
 
void smpi_process_finalize ()
 Prepares the current process for termination. More...
 
int smpi_process_finalized ()
 Check if a process is finalized. More...
 
int smpi_process_initialized ()
 Check if a process is initialized. More...
 
void smpi_process_mark_as_initialized ()
 Mark a process as initialized (=MPI_Init called) More...
 
void smpi_process_set_replaying (bool value)
 
bool smpi_process_get_replaying ()
 
int smpi_global_size ()
 
smpi_process_data_t smpi_process_data ()
 
smpi_process_data_t smpi_process_remote_data (int index)
 
void smpi_process_set_user_data (void *data)
 
voidsmpi_process_get_user_data ()
 
int smpi_process_count ()
 
smpi_trace_call_location_tsmpi_process_get_call_location ()
 Returns a structure that stores the location (filename + linenumber) of the last calls to MPI_* functions. More...
 
int smpi_process_index ()
 
MPI_Comm smpi_process_comm_world ()
 
smx_mailbox_t smpi_process_mailbox ()
 
smx_mailbox_t smpi_process_mailbox_small ()
 
xbt_mutex_t smpi_process_mailboxes_mutex ()
 
smx_mailbox_t smpi_process_remote_mailbox (int index)
 
smx_mailbox_t smpi_process_remote_mailbox_small (int index)
 
xbt_mutex_t smpi_process_remote_mailboxes_mutex (int index)
 
xbt_os_timer_t smpi_process_timer ()
 
void smpi_process_simulated_start ()
 
double smpi_process_simulated_elapsed ()
 
MPI_Comm smpi_process_comm_self ()
 
MPI_Comm smpi_process_get_comm_intra ()
 
void smpi_process_set_comm_intra (MPI_Comm comm)
 
void smpi_process_set_sampling (int s)
 
int smpi_process_get_sampling ()
 
void print_request (const char *message, MPI_Request request)
 
void smpi_comm_copy_buffer_callback (smx_activity_t synchro, void *buff, size_t buff_size)
 
void smpi_comm_null_copy_buffer_callback (smx_activity_t comm, void *buff, size_t buff_size)
 
static void smpi_check_options ()
 
int smpi_enabled ()
 
void smpi_global_init ()
 
void smpi_global_destroy ()
 
void __attribute__ ((weak)) user_main_()
 
 user_main_ ()
 
static int smpi_main_wrapper (int argc, char **argv)
 
static void smpi_init_logs ()
 
static void smpi_init_options ()
 
int smpi_main (int(*realmain)(int argc, char *argv[]), int argc, char *argv[])
 
void SMPI_init ()
 
void SMPI_finalize ()
 

Variables

std::unordered_map< std::string, double > location2speedup
 
static smpi_process_data_tprocess_data = nullptr
 
int process_count = 0
 
int smpi_universe_size = 0
 
int * index_to_process_data = nullptr
 
double smpi_total_benched_time
 
xbt_dict_t smpi_type_keyvals
 
xbt_dict_t smpi_comm_keyvals
 
xbt_os_timer_t global_timer
 
MPI_Comm MPI_COMM_WORLD = MPI_COMM_UNINITIALIZED
 
MPI_ErrhandlerMPI_ERRORS_RETURN = nullptr
 
MPI_ErrhandlerMPI_ERRORS_ARE_FATAL = nullptr
 
MPI_ErrhandlerMPI_ERRHANDLER_NULL = nullptr
 
int char ** argv
 
 return
 

Macro Definition Documentation

◆ MAILBOX_NAME_MAXLEN

#define MAILBOX_NAME_MAXLEN   (5 + sizeof(int) * 2 + 1)

Typedef Documentation

◆ s_smpi_process_data_t

Function Documentation

◆ XBT_LOG_NEW_DEFAULT_SUBCATEGORY()

XBT_LOG_NEW_DEFAULT_SUBCATEGORY ( smpi_kernel  ,
smpi  ,
"Logging specific to SMPI (kernel)"   
)

◆ get_mailbox_name()

static char* get_mailbox_name ( char *  str,
int  index 
)
static

◆ get_mailbox_name_small()

static char* get_mailbox_name_small ( char *  str,
int  index 
)
static

◆ smpi_process_init()

void smpi_process_init ( int *  argc,
char ***  argv 
)

◆ smpi_process_destroy()

void smpi_process_destroy ( )

◆ smpi_process_finalize()

void smpi_process_finalize ( )

Prepares the current process for termination.

◆ smpi_process_finalized()

int smpi_process_finalized ( )

Check if a process is finalized.

◆ smpi_process_initialized()

int smpi_process_initialized ( )

Check if a process is initialized.

◆ smpi_process_mark_as_initialized()

void smpi_process_mark_as_initialized ( )

Mark a process as initialized (=MPI_Init called)

◆ smpi_process_set_replaying()

void smpi_process_set_replaying ( bool  value)

◆ smpi_process_get_replaying()

bool smpi_process_get_replaying ( )

◆ smpi_global_size()

int smpi_global_size ( )

◆ smpi_process_data()

smpi_process_data_t smpi_process_data ( )

◆ smpi_process_remote_data()

smpi_process_data_t smpi_process_remote_data ( int  index)

◆ smpi_process_set_user_data()

void smpi_process_set_user_data ( void data)

◆ smpi_process_get_user_data()

void* smpi_process_get_user_data ( )

◆ smpi_process_count()

int smpi_process_count ( )

◆ smpi_process_get_call_location()

smpi_trace_call_location_t* smpi_process_get_call_location ( )

Returns a structure that stores the location (filename + linenumber) of the last calls to MPI_* functions.

Returns the last call location (filename, linenumber).

See also
smpi_trace_set_call_location

◆ smpi_process_index()

int smpi_process_index ( )

◆ smpi_process_comm_world()

MPI_Comm smpi_process_comm_world ( )

◆ smpi_process_mailbox()

smx_mailbox_t smpi_process_mailbox ( )

◆ smpi_process_mailbox_small()

smx_mailbox_t smpi_process_mailbox_small ( )

◆ smpi_process_mailboxes_mutex()

xbt_mutex_t smpi_process_mailboxes_mutex ( )

◆ smpi_process_remote_mailbox()

smx_mailbox_t smpi_process_remote_mailbox ( int  index)

◆ smpi_process_remote_mailbox_small()

smx_mailbox_t smpi_process_remote_mailbox_small ( int  index)

◆ smpi_process_remote_mailboxes_mutex()

xbt_mutex_t smpi_process_remote_mailboxes_mutex ( int  index)

◆ smpi_process_timer()

xbt_os_timer_t smpi_process_timer ( )

◆ smpi_process_simulated_start()

void smpi_process_simulated_start ( )

◆ smpi_process_simulated_elapsed()

double smpi_process_simulated_elapsed ( )

◆ smpi_process_comm_self()

MPI_Comm smpi_process_comm_self ( )

◆ smpi_process_get_comm_intra()

MPI_Comm smpi_process_get_comm_intra ( )

◆ smpi_process_set_comm_intra()

void smpi_process_set_comm_intra ( MPI_Comm  comm)

◆ smpi_process_set_sampling()

void smpi_process_set_sampling ( int  s)

◆ smpi_process_get_sampling()

int smpi_process_get_sampling ( )

◆ print_request()

void print_request ( const char *  message,
MPI_Request  request 
)

◆ smpi_comm_copy_buffer_callback()

void smpi_comm_copy_buffer_callback ( smx_activity_t  synchro,
void buff,
size_t  buff_size 
)

◆ smpi_comm_null_copy_buffer_callback()

void smpi_comm_null_copy_buffer_callback ( smx_activity_t  comm,
void buff,
size_t  buff_size 
)

◆ smpi_check_options()

static void smpi_check_options ( )
static

◆ smpi_enabled()

int smpi_enabled ( )

◆ smpi_global_init()

void smpi_global_init ( )

◆ smpi_global_destroy()

void smpi_global_destroy ( )

◆ __attribute__()

void __attribute__ ( (weak)  )

◆ user_main_()

user_main_ ( )

◆ smpi_main_wrapper()

static int smpi_main_wrapper ( int  argc,
char **  argv 
)
inlinestatic

◆ smpi_init_logs()

static void smpi_init_logs ( )
static

◆ smpi_init_options()

static void smpi_init_options ( )
static

◆ smpi_main()

int smpi_main ( int(*)(int argc, char *argv[])  realmain,
int  argc,
char *  argv[] 
)

◆ SMPI_init()

void SMPI_init ( )

◆ SMPI_finalize()

void SMPI_finalize ( )

Variable Documentation

◆ location2speedup

std::unordered_map<std::string, double> location2speedup

◆ process_data

smpi_process_data_t* process_data = nullptr
static

◆ process_count

int process_count = 0

◆ smpi_universe_size

int smpi_universe_size = 0

◆ index_to_process_data

int* index_to_process_data = nullptr

◆ smpi_total_benched_time

double smpi_total_benched_time

◆ smpi_type_keyvals

xbt_dict_t smpi_type_keyvals

◆ smpi_comm_keyvals

xbt_dict_t smpi_comm_keyvals

◆ global_timer

xbt_os_timer_t global_timer

◆ MPI_COMM_WORLD

MPI_Comm MPI_COMM_WORLD = MPI_COMM_UNINITIALIZED

◆ MPI_ERRORS_RETURN

MPI_Errhandler* MPI_ERRORS_RETURN = nullptr

◆ MPI_ERRORS_ARE_FATAL

MPI_Errhandler* MPI_ERRORS_ARE_FATAL = nullptr

◆ MPI_ERRHANDLER_NULL

MPI_Errhandler* MPI_ERRHANDLER_NULL = nullptr

◆ argv

int char** argv
Initial value:
{
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int MPI_Datatype int MPI_Comm comm MPI_Comm int int int int MPI_Comm comm_cart MPI_Comm int int int int coords MPI_Comm int int int int dest MPI_Comm MPI_Comm int result MPI_Comm MPI_Group MPI_Comm newcomm MPI_Comm comm int keyval MPI_Comm int void int flag MPI_Comm MPI_Group group MPI_Comm int void attribute_val MPI_Comm int int MPI_Comm comm_out int int errorclass int flag void baseptr void int MPI_Datatype void int int MPI_Datatype int MPI_Comm comm MPI_Status MPI_Datatype int count char int resultlen void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Win win MPI_Group MPI_Group MPI_Group newgroup MPI_Group group MPI_Group MPI_Group MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int size MPI_Group MPI_Group MPI_Group newgroup MPI_Info char key MPI_Info info MPI_Info int nkeys MPI_Info char int int flag int flag int * argc
Definition: smpi_mpi.cpp:109
void smpi_process_init(int *argc, char ***argv)
Definition: smpi_global.cpp:99
int char ** argv
Definition: smpi_global.cpp:669

◆ return

return