SimGrid
3.14.159
Versatile Simulation of Distributed Systems
|
#include <cstring>
#include <unordered_map>
#include <utility>
#include "src/internal_config.h"
#include "private.h"
#include "private.hpp"
#include <xbt/ex.hpp>
#include "xbt/dict.h"
#include "xbt/sysdep.h"
#include "xbt/ex.h"
#include "surf/surf.h"
#include "simgrid/sg_config.h"
#include "simgrid/modelchecker.h"
#include "src/mc/mc_replay.h"
#include <sys/types.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <errno.h>
#include <fcntl.h>
#include <math.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>
Classes | |
class | std::hash< smpi_source_location > |
struct | local_data_t |
Namespaces | |
std | |
Macros | |
#define | MAP_ANONYMOUS MAP_ANON |
#define | PTR_STRLEN (2 + 2 * sizeof(void*) + 1) |
Functions | |
XBT_LOG_NEW_DEFAULT_SUBCATEGORY (smpi_bench, smpi, "Logging specific to SMPI (benchmarking)") | |
static size_t | shm_size (int fd) |
static void * | shm_map (int fd, size_t size, shared_data_key_type *data) |
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_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) |
void * | smpi_shared_malloc (size_t size, const char *file, int line) |
void | smpi_shared_free (void *ptr) |
int | smpi_shared_known_call (const char *func, const char *input) |
void * | smpi_shared_get_call (const char *func, const char *input) |
void * | smpi_shared_set_call (const char *func, const char *input, void *data) |
void | smpi_switch_data_segment (int dest) |
Map a given SMPI privatization segment (make a SMPI process active) More... | |
void | smpi_really_switch_data_segment (int dest) |
Map a given SMPI privatization segment (make a SMPI process active) even if SMPI thinks it is already active. More... | |
int | smpi_is_privatisation_file (char *file) |
void | smpi_initialize_global_memory_segments () |
void | smpi_destroy_global_memory_segments () |
smpi_trace_call_location_t * | smpi_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 |
xbt_dict_t | calls = nullptr |
double | smpi_cpu_threshold |
double | smpi_host_speed |
int | smpi_loaded_page = -1 |
char * | smpi_start_data_exe = nullptr |
int | smpi_size_data_exe = 0 |
bool | smpi_privatize_global_variables |
double | smpi_total_benched_time = 0 |
smpi_privatisation_region_t | smpi_privatisation_regions |
double | sg_surf_precision |
#define MAP_ANONYMOUS MAP_ANON |
#define PTR_STRLEN (2 + 2 * sizeof(void*) + 1) |
XBT_LOG_NEW_DEFAULT_SUBCATEGORY | ( | smpi_bench | , |
smpi | , | ||
"Logging specific to SMPI (benchmarking)" | |||
) |
|
static |
|
static |
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_bench_begin | ( | ) |
void smpi_bench_end | ( | ) |
|
static |
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 |
|
static |
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 | ||
) |
void* smpi_shared_malloc | ( | size_t | size, |
const char * | file, | ||
int | line | ||
) |
int smpi_shared_known_call | ( | const char * | func, |
const char * | input | ||
) |
void* smpi_shared_get_call | ( | const char * | func, |
const char * | input | ||
) |
void smpi_switch_data_segment | ( | int | dest | ) |
Map a given SMPI privatization segment (make a SMPI process active)
void smpi_really_switch_data_segment | ( | int | dest | ) |
Map a given SMPI privatization segment (make a SMPI process active) even if SMPI thinks it is already active.
When doing a state restoration, the state of the restored variables might not be consistent with the state of the virtual memory. In this case, we to change the data segment.
int smpi_is_privatisation_file | ( | char * | file | ) |
void smpi_initialize_global_memory_segments | ( | ) |
void smpi_destroy_global_memory_segments | ( | ) |
smpi_trace_call_location_t* smpi_trace_get_call_location | ( | ) |
These functions will be called from the user code.
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.)
void smpi_trace_set_call_location_ | ( | const char * | file, |
int * | line | ||
) |
Required for Fortran bindings.
Fortran binding.
void smpi_trace_set_call_location__ | ( | const char * | file, |
int * | line | ||
) |
Required for Fortran if -fsecond-underscore is activated.
Fortran binding + -fsecond-underscore.
xbt_dict_t samples = nullptr |
xbt_dict_t calls = nullptr |
double smpi_cpu_threshold |
double smpi_host_speed |
int smpi_loaded_page = -1 |
char* smpi_start_data_exe = nullptr |
int smpi_size_data_exe = 0 |
bool smpi_privatize_global_variables |
double smpi_total_benched_time = 0 |
smpi_privatisation_region_t smpi_privatisation_regions |
double sg_surf_precision |