SimGrid  3.13
Versatile Simulation of Distributed Systems
smpi_replay.cpp File Reference
#include "private.h"
#include <stdio.h>
#include <xbt.h>
#include <xbt/replay.h>

Macros

#define KEY_SIZE   (sizeof(int) * 2 + 1)
 
#define CHECK_ACTION_PARAMS(action, mandatory, optional)
 

Functions

 XBT_LOG_NEW_DEFAULT_SUBCATEGORY (smpi_replay, smpi,"Trace Replay with SMPI")
 
static void log_timed_action (const char *const *action, double clock)
 
static xbt_dynar_t get_reqq_self ()
 
static void set_reqq_self (xbt_dynar_t mpi_request)
 
voidsmpi_get_tmp_sendbuffer (int size)
 
voidsmpi_get_tmp_recvbuffer (int size)
 
void smpi_free_tmp_buffer (void *buf)
 
static double parse_double (const char *string)
 
static MPI_Datatype decode_datatype (const char *const action)
 
const char * encode_datatype (MPI_Datatype datatype, int *known)
 
static void action_init (const char *const *action)
 
static void action_finalize (const char *const *action)
 
static void action_comm_size (const char *const *action)
 
static void action_comm_split (const char *const *action)
 
static void action_comm_dup (const char *const *action)
 
static void action_compute (const char *const *action)
 
static void action_send (const char *const *action)
 
static void action_Isend (const char *const *action)
 
static void action_recv (const char *const *action)
 
static void action_Irecv (const char *const *action)
 
static void action_test (const char *const *action)
 
static void action_wait (const char *const *action)
 
static void action_waitall (const char *const *action)
 
static void action_barrier (const char *const *action)
 
static void action_bcast (const char *const *action)
 
static void action_reduce (const char *const *action)
 
static void action_allReduce (const char *const *action)
 
static void action_allToAll (const char *const *action)
 
static void action_gather (const char *const *action)
 
static void action_gatherv (const char *const *action)
 
static void action_reducescatter (const char *const *action)
 
static void action_allgather (const char *const *action)
 
static void action_allgatherv (const char *const *action)
 
static void action_allToAllv (const char *const *action)
 
void smpi_replay_run (int *argc, char ***argv)
 

Variables

int communicator_size = 0
 
static int active_processes = 0
 
xbt_dict_t reqq = NULL
 
MPI_Datatype MPI_DEFAULT_TYPE
 
MPI_Datatype MPI_CURRENT_TYPE
 
static int sendbuffer_size =0
 
char * sendbuffer =NULL
 
static int recvbuffer_size =0
 
char * recvbuffer =NULL
 

Macro Definition Documentation

#define KEY_SIZE   (sizeof(int) * 2 + 1)
#define CHECK_ACTION_PARAMS (   action,
  mandatory,
  optional 
)
Value:
{\
int i=0;\
while(action[i]!=NULL)\
i++;\
if(i<mandatory+2) \
THROWF(arg_error, 0, "%s replay failed.\n" \
"%d items were given on the line. First two should be process_id and action. " \
"This action needs after them %d mandatory arguments, and accepts %d optional ones. \n" \
"Please contact the Simgrid team if support is needed", __FUNCTION__, i, mandatory, optional);\
}
#define THROWF(c, v,...)
Builds and throws an exception with a printf-like formatted message.
Definition: ex.h:455
while(1)
Definition: dax_dtd.c:1885
Invalid argument.
Definition: ex.h:252
if(!(yy_init))
Definition: dax_dtd.c:1795

Function Documentation

XBT_LOG_NEW_DEFAULT_SUBCATEGORY ( smpi_replay  ,
smpi  ,
"Trace Replay with SMPI"   
)
static void log_timed_action ( const char *const *  action,
double  clock 
)
static
static xbt_dynar_t get_reqq_self ( )
static
static void set_reqq_self ( xbt_dynar_t  mpi_request)
static
void* smpi_get_tmp_sendbuffer ( int  size)
void* smpi_get_tmp_recvbuffer ( int  size)
void smpi_free_tmp_buffer ( void buf)
static double parse_double ( const char *  string)
static
static MPI_Datatype decode_datatype ( const char *const  action)
static
const char* encode_datatype ( MPI_Datatype  datatype,
int *  known 
)
static void action_init ( const char *const *  action)
static
static void action_finalize ( const char *const *  action)
static
static void action_comm_size ( const char *const *  action)
static
static void action_comm_split ( const char *const *  action)
static
static void action_comm_dup ( const char *const *  action)
static
static void action_compute ( const char *const *  action)
static
static void action_send ( const char *const *  action)
static
static void action_Isend ( const char *const *  action)
static
static void action_recv ( const char *const *  action)
static
static void action_Irecv ( const char *const *  action)
static
static void action_test ( const char *const *  action)
static
static void action_wait ( const char *const *  action)
static
static void action_waitall ( const char *const *  action)
static
static void action_barrier ( const char *const *  action)
static
static void action_bcast ( const char *const *  action)
static
static void action_reduce ( const char *const *  action)
static
static void action_allReduce ( const char *const *  action)
static
static void action_allToAll ( const char *const *  action)
static
static void action_gather ( const char *const *  action)
static
static void action_gatherv ( const char *const *  action)
static
static void action_reducescatter ( const char *const *  action)
static
static void action_allgather ( const char *const *  action)
static
static void action_allgatherv ( const char *const *  action)
static
static void action_allToAllv ( const char *const *  action)
static
void smpi_replay_run ( int *  argc,
char ***  argv 
)

Variable Documentation

int communicator_size = 0
int active_processes = 0
static
xbt_dict_t reqq = NULL
MPI_Datatype MPI_DEFAULT_TYPE
MPI_Datatype MPI_CURRENT_TYPE
int sendbuffer_size =0
static
char* sendbuffer =NULL
int recvbuffer_size =0
static
char* recvbuffer =NULL