|
SimGrid
3.13
Versatile Simulation of Distributed Systems
|
#include <cstring>#include <unordered_map>#include <utility>#include "src/internal_config.h"#include "private.h"#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/mman.h>#include <sys/stat.h>#include <sys/types.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) |
| #define | TOPAGE(addr) (void *)(((unsigned long)(addr) / xbt_pagesize) * xbt_pagesize) |
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) |
| void | smpi_execute_flops_ (double *flops) |
| void | smpi_execute_ (double *duration) |
| void | smpi_execute_flops (double flops) |
| void | smpi_execute (double duration) |
| void | smpi_switch_data_segment (int dest) |
| Map a given SMPI privatization segment (make a SMPI process active) More... | |
| void | smpi_bench_begin (void) |
| void | smpi_bench_end (void) |
| 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 (void) |
| unsigned long long | smpi_rastro_timestamp (void) |
| 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_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 () |
Variables | |
| xbt_dict_t | samples = NULL |
| xbt_dict_t | calls = NULL |
| double | smpi_cpu_threshold |
| double | smpi_running_power |
| int | smpi_loaded_page = -1 |
| char * | smpi_start_data_exe = NULL |
| int | smpi_size_data_exe = 0 |
| int | 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) |
| #define TOPAGE | ( | addr | ) | (void *)(((unsigned long)(addr) / xbt_pagesize) * xbt_pagesize) |
| XBT_LOG_NEW_DEFAULT_SUBCATEGORY | ( | smpi_bench | , |
| smpi | , | ||
| "Logging specific to SMPI (benchmarking)" | |||
| ) |
|
static |
|
static |
| void smpi_execute_flops_ | ( | double * | flops | ) |
| void smpi_execute_ | ( | double * | duration | ) |
| void smpi_execute_flops | ( | double | flops | ) |
| void smpi_execute | ( | double | duration | ) |
| void smpi_switch_data_segment | ( | int | dest | ) |
Map a given SMPI privatization segment (make a SMPI process active)
|
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 | ( | void | ) |
| unsigned long long smpi_rastro_timestamp | ( | void | ) |
|
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_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 | ) |
| xbt_dict_t samples = NULL |
| xbt_dict_t calls = NULL |
| double smpi_cpu_threshold |
| double smpi_running_power |
| int smpi_loaded_page = -1 |
| char* smpi_start_data_exe = NULL |
| int smpi_size_data_exe = 0 |
| int smpi_privatize_global_variables |
| double smpi_total_benched_time = 0 |
| smpi_privatisation_region_t smpi_privatisation_regions |
| double sg_surf_precision |