#include <ross.h>
#include <assert.h>
Go to the source code of this file.
Macros | |
#define | TW_GVT_NORMAL 0 |
#define | TW_GVT_COMPUTE 1 |
#define | NOT_PAST_LOOKAHEAD(pe) |
#define | PAST_GVT_HOOK_ACTIVATION(pe) |
Functions | |
tw_stat | st_get_allreduce_count () |
const tw_optdef * | tw_gvt_setup (void) |
void | tw_gvt_start (void) |
void | tw_gvt_finish (void) |
void | tw_gvt_force_update (void) |
void | tw_gvt_force_update_realtime (void) |
void | tw_gvt_stats (FILE *f) |
void | tw_gvt_step1 (tw_pe *me) |
void | tw_gvt_step1_realtime (tw_pe *me) |
void | tw_gvt_step2 (tw_pe *me) |
void | tw_trigger_gvt_hook_at (tw_stime time) |
void | tw_trigger_gvt_hook_every (int num_gvt_calls) |
void | tw_trigger_gvt_hook_when_model_calls (void) |
void | tw_trigger_gvt_hook_now (tw_lp *lp) |
void | tw_trigger_gvt_hook_now_rev (tw_lp *lp) |
Variables | |
static unsigned int | g_tw_gvt_max_no_change = 10000 |
static unsigned int | g_tw_gvt_no_change = 0 |
static tw_stat | all_reduce_cnt = 0 |
static unsigned int | gvt_cnt = 0 |
static unsigned int | gvt_force = 0 |
void(* | g_tw_gvt_hook )(tw_pe *pe, bool past_end_time) = NULL |
struct gvt_hook_trigger | g_tw_gvt_hook_trigger = {.status = GVT_HOOK_STATUS_disabled} |
static const tw_optdef | gvt_opts [] |
#define NOT_PAST_LOOKAHEAD | ( | pe | ) |
Definition at line 134 of file mpi_allreduce.c.
Referenced by tw_gvt_step1(), and tw_gvt_step1_realtime().
#define PAST_GVT_HOOK_ACTIVATION | ( | pe | ) |
Definition at line 135 of file mpi_allreduce.c.
Referenced by tw_gvt_step1(), and tw_gvt_step1_realtime().
#define TW_GVT_COMPUTE 1 |
Definition at line 5 of file mpi_allreduce.c.
Referenced by tw_gvt_step1(), tw_gvt_step1_realtime(), tw_gvt_step2(), and tw_trigger_gvt_hook_now().
#define TW_GVT_NORMAL 0 |
Definition at line 4 of file mpi_allreduce.c.
Referenced by tw_gvt_step2().
tw_stat st_get_allreduce_count | ( | ) |
Definition at line 55 of file mpi_allreduce.c.
References all_reduce_cnt.
Referenced by st_collect_engine_data_pes().
void tw_gvt_finish | ( | void | ) |
Definition at line 89 of file mpi_allreduce.c.
Referenced by tw_end().
void tw_gvt_force_update | ( | void | ) |
Definition at line 98 of file mpi_allreduce.c.
References g_tw_gvt_interval, gvt_cnt, and gvt_force.
Referenced by tw_sched_batch(), and tw_scheduler_conservative().
void tw_gvt_force_update_realtime | ( | void | ) |
Definition at line 105 of file mpi_allreduce.c.
References g_tw_gvt_interval_start_cycles, and gvt_force.
Referenced by tw_sched_batch_realtime().
const tw_optdef * tw_gvt_setup | ( | void | ) |
Definition at line 61 of file mpi_allreduce.c.
References gvt_cnt, and gvt_opts.
Referenced by tw_init().
void tw_gvt_start | ( | void | ) |
Definition at line 69 of file mpi_allreduce.c.
References tw_event_sig::event_tiebreaker, tw_event_sig::priority, tw_event_sig::recv_ts, and tw_event_sig::tie_lineage_length.
Referenced by tw_init().
void tw_gvt_stats | ( | FILE * | f | ) |
Definition at line 112 of file mpi_allreduce.c.
References all_reduce_cnt, g_tw_clock_rate, g_tw_gvt_done, g_tw_gvt_interval, g_tw_gvt_realtime_interval, g_tw_mblock, and gvt_force.
Referenced by tw_stats().
void tw_gvt_step1 | ( | tw_pe * | me | ) |
Definition at line 141 of file mpi_allreduce.c.
References g_tw_gvt_interval, gvt_cnt, tw_pe::gvt_status, NOT_PAST_LOOKAHEAD, PAST_GVT_HOOK_ACTIVATION, and TW_GVT_COMPUTE.
Referenced by tw_scheduler_conservative(), and tw_scheduler_optimistic().
void tw_gvt_step1_realtime | ( | tw_pe * | me | ) |
Definition at line 156 of file mpi_allreduce.c.
References g_tw_gvt_interval_start_cycles, g_tw_gvt_realtime_interval, tw_pe::gvt_status, NOT_PAST_LOOKAHEAD, PAST_GVT_HOOK_ACTIVATION, tw_clock_read(), and TW_GVT_COMPUTE.
Referenced by tw_scheduler_optimistic_realtime().
void tw_gvt_step2 | ( | tw_pe * | me | ) |
Definition at line 325 of file mpi_allreduce.c.
References all_reduce_cnt, ALL_STATS, g_st_engine_stats, g_st_model_stats, g_st_num_gvt, g_tw_clock_rate, g_tw_gvt_done, g_tw_gvt_interval_start_cycles, g_tw_gvt_max_no_change, g_tw_gvt_no_change, g_tw_masternode, g_tw_mynode, g_tw_synchronization_protocol, g_tw_ts_end, tw_pe::GVT, gvt_cnt, GVT_COL, tw_pe::GVT_prev, gvt_print(), GVT_STATS, tw_pe::gvt_status, tw_pe::id, MPI_COMM_ROSS, MPI_TYPE_TW_STIME, OPTIMISTIC, OPTIMISTIC_REALTIME, percent_complete, tw_pe::pq, RT_STATS, tw_statistics::s_fossil_collect, tw_statistics::s_gvt, tw_statistics::s_net_read, tw_pe::s_nwhite_recv, tw_pe::s_nwhite_sent, st_collect_engine_data(), st_collect_model_data(), st_inst_dump(), tw_pe::stats, tw_pe::trans_msg_ts, tw_clock_read(), tw_error(), TW_GVT_COMPUTE, TW_GVT_NORMAL, TW_LOC, tw_net_minimum(), tw_net_read(), tw_pe_fossil_collect(), tw_pq_minimum(), TW_STIME_CMP, TW_STIME_DBL, TW_STIME_MAX, and VT_STATS.
Referenced by tw_scheduler_conservative(), tw_scheduler_optimistic(), tw_scheduler_optimistic_realtime(), and tw_scheduler_rollback_and_cancel_events_pe().
void tw_trigger_gvt_hook_at | ( | tw_stime | time | ) |
Definition at line 488 of file mpi_allreduce.c.
References g_tw_gvt_hook_trigger, g_tw_pe, GVT_HOOK_STATUS_timestamp, TW_LOC, and tw_warning().
Referenced by gvt_hook(), and main().
void tw_trigger_gvt_hook_every | ( | int | num_gvt_calls | ) |
Definition at line 514 of file mpi_allreduce.c.
References g_tw_gvt_done, g_tw_gvt_hook_trigger, GVT_HOOK_STATUS_every_n_gvt, tw_error(), and TW_LOC.
Referenced by main().
void tw_trigger_gvt_hook_now | ( | tw_lp * | lp | ) |
Definition at line 529 of file mpi_allreduce.c.
References CONSERVATIVE, g_tw_gvt_hook_trigger, g_tw_synchronization_protocol, GVT_HOOK_STATUS_model_call, tw_pe::gvt_status, tw_lp::kp, tw_kp::last_sig, OPTIMISTIC_DEBUG, tw_lp::pe, tw_lp::triggered_gvt_hook, tw_copy_event_sig(), tw_error(), TW_GVT_COMPUTE, and TW_LOC.
Referenced by phold_event_handler().
void tw_trigger_gvt_hook_now_rev | ( | tw_lp * | lp | ) |
Definition at line 544 of file mpi_allreduce.c.
References g_tw_gvt_hook_trigger, g_tw_max_sig, tw_lp::triggered_gvt_hook, and tw_copy_event_sig().
Referenced by phold_event_handler_rc().
void tw_trigger_gvt_hook_when_model_calls | ( | void | ) |
Definition at line 523 of file mpi_allreduce.c.
References g_tw_gvt_hook_trigger, g_tw_max_sig, GVT_HOOK_STATUS_model_call, and tw_copy_event_sig().
Referenced by main().
|
static |
Definition at line 9 of file mpi_allreduce.c.
Referenced by st_collect_engine_data_pes(), st_get_allreduce_count(), tw_gvt_stats(), and tw_gvt_step2().
Definition at line 12 of file mpi_allreduce.c.
Referenced by main(), tw_gvt_hook_step(), tw_gvt_hook_step_seq(), tw_gvt_inprogress(), tw_sched_batch(), tw_sched_batch_realtime(), tw_scheduler_conservative(), and tw_scheduler_optimistic_debug().
struct gvt_hook_trigger g_tw_gvt_hook_trigger = {.status = GVT_HOOK_STATUS_disabled} |
Definition at line 14 of file mpi_allreduce.c.
Referenced by is_gvt_past_hook_threshold(), tw_gvt_hook_step(), tw_gvt_hook_step_seq(), tw_sched_batch(), tw_sched_batch_realtime(), tw_scheduler_conservative(), tw_scheduler_optimistic_debug(), tw_trigger_gvt_hook_at(), tw_trigger_gvt_hook_every(), tw_trigger_gvt_hook_now(), tw_trigger_gvt_hook_now_rev(), and tw_trigger_gvt_hook_when_model_calls().
|
static |
Definition at line 7 of file mpi_allreduce.c.
Referenced by tw_gvt_step2().
|
static |
Definition at line 8 of file mpi_allreduce.c.
Referenced by tw_gvt_step2().
|
static |
Definition at line 10 of file mpi_allreduce.c.
Referenced by tw_gvt_force_update(), tw_gvt_setup(), tw_gvt_step1(), and tw_gvt_step2().
|
static |
Definition at line 11 of file mpi_allreduce.c.
Referenced by tw_gvt_force_update(), tw_gvt_force_update_realtime(), and tw_gvt_stats().
|
static |
Definition at line 47 of file mpi_allreduce.c.
Referenced by tw_gvt_setup().