SimGrid  3.16
Versatile Simulation of Distributed Systems
smpi_bench.cpp File Reference
#include "src/internal_config.h"
#include "private.h"
#include "private.hpp"
#include "simgrid/modelchecker.h"
#include "src/mc/mc_replay.h"
#include "src/smpi/smpi_process.hpp"
#include "src/smpi/smpi_comm.hpp"
#include <sys/mman.h>
#include <math.h>

Classes

struct  local_data_t
 

Functions

 XBT_LOG_NEW_DEFAULT_SUBCATEGORY (smpi_bench, smpi, "Logging specific to SMPI (benchmarking)")
 
void smpi_bench_destroy ()
 
void smpi_execute_flops_ (double *flops)
 
void smpi_execute_ (double *duration)
 
void smpi_execute_flops (double flops)
 
void smpi_execute (double duration)
 
void smpi_execute_benched (double duration)
 
void smpi_bench_begin ()
 
void smpi_bench_end ()
 
static unsigned int private_sleep (double secs)
 
unsigned int smpi_sleep (unsigned int secs)
 
int smpi_usleep (useconds_t usecs)
 
int smpi_gettimeofday (struct timeval *tv, void *tz)
 
unsigned long long smpi_rastro_resolution ()
 
unsigned long long smpi_rastro_timestamp ()
 
static char * sample_location (int global, const char *file, int line)
 
static int sample_enough_benchs (local_data_t *data)
 
void smpi_sample_1 (int global, const char *file, int line, int iters, double threshold)
 
int smpi_sample_2 (int global, const char *file, int line)
 
void smpi_sample_3 (int global, const char *file, int line)
 
smpi_trace_call_location_tsmpi_trace_get_call_location ()
 These functions will be called from the user code. More...
 
void smpi_trace_set_call_location (const char *file, const int line)
 Functions for call location tracing. More...
 
void smpi_trace_set_call_location_ (const char *file, int *line)
 Required for Fortran bindings. More...
 
void smpi_trace_set_call_location__ (const char *file, int *line)
 Required for Fortran if -fsecond-underscore is activated. More...
 

Variables

xbt_dict_t samples = nullptr
 
double smpi_cpu_threshold = -1
 
double smpi_host_speed
 
shared_malloc_type smpi_cfg_shared_malloc = shmalloc_global
 
double smpi_total_benched_time = 0
 
smpi_privatisation_region_t smpi_privatisation_regions
 
double sg_surf_precision
 

Function Documentation

◆ XBT_LOG_NEW_DEFAULT_SUBCATEGORY()

XBT_LOG_NEW_DEFAULT_SUBCATEGORY ( smpi_bench  ,
smpi  ,
"Logging specific to SMPI (benchmarking)"   
)

◆ smpi_bench_destroy()

void smpi_bench_destroy ( )

◆ smpi_execute_flops_()

void smpi_execute_flops_ ( double *  flops)

◆ smpi_execute_()

void smpi_execute_ ( double *  duration)

◆ smpi_execute_flops()

void smpi_execute_flops ( double  flops)

◆ smpi_execute()

void smpi_execute ( double  duration)

◆ smpi_execute_benched()

void smpi_execute_benched ( double  duration)

◆ smpi_bench_begin()

void smpi_bench_begin ( )

◆ smpi_bench_end()

void smpi_bench_end ( )

◆ private_sleep()

static unsigned int private_sleep ( double  secs)
static

◆ smpi_sleep()

unsigned int smpi_sleep ( unsigned int  secs)

◆ smpi_usleep()

int smpi_usleep ( useconds_t  usecs)

◆ smpi_gettimeofday()

int smpi_gettimeofday ( struct timeval *  tv,
void tz 
)

◆ smpi_rastro_resolution()

unsigned long long smpi_rastro_resolution ( )

◆ smpi_rastro_timestamp()

unsigned long long smpi_rastro_timestamp ( )

◆ sample_location()

static char* sample_location ( int  global,
const char *  file,
int  line 
)
static

◆ sample_enough_benchs()

static int sample_enough_benchs ( local_data_t data)
static

◆ smpi_sample_1()

void smpi_sample_1 ( int  global,
const char *  file,
int  line,
int  iters,
double  threshold 
)

◆ smpi_sample_2()

int smpi_sample_2 ( int  global,
const char *  file,
int  line 
)

◆ smpi_sample_3()

void smpi_sample_3 ( int  global,
const char *  file,
int  line 
)

◆ smpi_trace_get_call_location()

smpi_trace_call_location_t* smpi_trace_get_call_location ( )

These functions will be called from the user code.

◆ smpi_trace_set_call_location()

void smpi_trace_set_call_location ( const char *  file,
int  line 
)

Functions for call location tracing.

These functions will be called from the user's application! (With the FILE and LINE values passed as parameters.)

◆ smpi_trace_set_call_location_()

void smpi_trace_set_call_location_ ( const char *  file,
int *  line 
)

Required for Fortran bindings.

Fortran binding.

◆ smpi_trace_set_call_location__()

void smpi_trace_set_call_location__ ( const char *  file,
int *  line 
)

Required for Fortran if -fsecond-underscore is activated.

Fortran binding + -fsecond-underscore.

Variable Documentation

◆ samples

xbt_dict_t samples = nullptr

◆ smpi_cpu_threshold

double smpi_cpu_threshold = -1

◆ smpi_host_speed

double smpi_host_speed

◆ smpi_cfg_shared_malloc

shared_malloc_type smpi_cfg_shared_malloc = shmalloc_global

◆ smpi_total_benched_time

double smpi_total_benched_time = 0

◆ smpi_privatisation_regions

smpi_privatisation_region_t smpi_privatisation_regions

◆ sg_surf_precision

double sg_surf_precision