ROSS
mpi_allreduce.c File Reference
#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_optdeftw_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 []

Macro Definition Documentation

◆ NOT_PAST_LOOKAHEAD

#define NOT_PAST_LOOKAHEAD ( pe)
Value:
tw_pe * pe
Definition avl_tree.c:10
tw_stime tw_pq_minimum(tw_pq *)
Definition splay.c:398
#define TW_STIME_DBL(x)
Definition ross-base.h:42
unsigned long long g_tw_max_opt_lookahead
Definition ross-global.c:68

Definition at line 134 of file mpi_allreduce.c.

Referenced by tw_gvt_step1(), and tw_gvt_step1_realtime().

◆ PAST_GVT_HOOK_ACTIVATION

#define PAST_GVT_HOOK_ACTIVATION ( pe)
Value:
(\
@ GVT_HOOK_STATUS_timestamp
struct gvt_hook_trigger g_tw_gvt_hook_trigger

Definition at line 135 of file mpi_allreduce.c.

Referenced by tw_gvt_step1(), and tw_gvt_step1_realtime().

◆ TW_GVT_COMPUTE

#define TW_GVT_COMPUTE   1

◆ TW_GVT_NORMAL

#define TW_GVT_NORMAL   0

Definition at line 4 of file mpi_allreduce.c.

Referenced by tw_gvt_step2().

Function Documentation

◆ st_get_allreduce_count()

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().

◆ tw_gvt_finish()

void tw_gvt_finish ( void )

Definition at line 89 of file mpi_allreduce.c.

Referenced by tw_end().

◆ tw_gvt_force_update()

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().

◆ tw_gvt_force_update_realtime()

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().

◆ tw_gvt_setup()

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().

◆ tw_gvt_start()

void tw_gvt_start ( void )

◆ tw_gvt_stats()

void tw_gvt_stats ( FILE * f)

◆ tw_gvt_step1()

◆ tw_gvt_step1_realtime()

◆ tw_gvt_step2()

◆ tw_trigger_gvt_hook_at()

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().

◆ tw_trigger_gvt_hook_every()

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().

◆ tw_trigger_gvt_hook_now()

◆ tw_trigger_gvt_hook_now_rev()

void tw_trigger_gvt_hook_now_rev ( tw_lp * lp)

◆ tw_trigger_gvt_hook_when_model_calls()

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().

Variable Documentation

◆ all_reduce_cnt

tw_stat all_reduce_cnt = 0
static

◆ g_tw_gvt_hook

void(* g_tw_gvt_hook) (tw_pe *pe, bool past_end_time) ( tw_pe * pe,
bool past_end_time ) = NULL

◆ g_tw_gvt_hook_trigger

◆ g_tw_gvt_max_no_change

unsigned int g_tw_gvt_max_no_change = 10000
static

Definition at line 7 of file mpi_allreduce.c.

Referenced by tw_gvt_step2().

◆ g_tw_gvt_no_change

unsigned int g_tw_gvt_no_change = 0
static

Definition at line 8 of file mpi_allreduce.c.

Referenced by tw_gvt_step2().

◆ gvt_cnt

unsigned int gvt_cnt = 0
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().

◆ gvt_force

unsigned int gvt_force = 0
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().

◆ gvt_opts

const tw_optdef gvt_opts[]
static
Initial value:
=
{
TWOPT_GROUP("ROSS MPI GVT"),
TWOPT_UINT("gvt-interval", g_tw_gvt_interval, "GVT Interval: Iterations through scheduling loop (synch=1,2,3,4), or ms between GVTs (synch=5)"),
TWOPT_DOUBLE("report-interval", gvt_print_interval, "percent of runtime to print GVT"),
}
static double gvt_print_interval
unsigned int g_tw_gvt_interval
Definition ross-global.c:67
#define TWOPT_UINT(n, v, h)
Definition tw-opts.h:33
#define TWOPT_GROUP(h)
Definition tw-opts.h:30
#define TWOPT_DOUBLE(n, v, h)
Definition tw-opts.h:35

Definition at line 47 of file mpi_allreduce.c.

Referenced by tw_gvt_setup().