ROSS
Macros | Functions | Variables
mpi_allreduce.c File Reference
#include <ross.h>

Go to the source code of this file.

Macros

#define TW_GVT_NORMAL   0
 
#define TW_GVT_COMPUTE   1
 

Functions

tw_stat st_get_allreduce_count ()
 
const tw_optdeftw_gvt_setup (void)
 
void tw_gvt_start (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)
 

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
 
static const tw_optdef gvt_opts []
 

Macro Definition Documentation

#define TW_GVT_COMPUTE   1

Definition at line 4 of file mpi_allreduce.c.

Referenced by tw_gvt_step1(), tw_gvt_step1_realtime(), and tw_gvt_step2().

#define TW_GVT_NORMAL   0

Definition at line 3 of file mpi_allreduce.c.

Referenced by tw_gvt_step2().

Function Documentation

tw_stat st_get_allreduce_count ( )

Definition at line 20 of file mpi_allreduce.c.

References all_reduce_cnt.

Referenced by st_collect_engine_data_pes().

Here is the caller graph for this function:

void tw_gvt_force_update ( void  )

Definition at line 39 of file mpi_allreduce.c.

References g_tw_gvt_interval, gvt_cnt, and gvt_force.

Referenced by tw_sched_batch(), and tw_scheduler_conservative().

Here is the caller graph for this function:

void tw_gvt_force_update_realtime ( void  )

Definition at line 46 of file mpi_allreduce.c.

References g_tw_gvt_interval_start_cycles, and gvt_force.

Referenced by tw_sched_batch_realtime().

Here is the caller graph for this function:

const tw_optdef* tw_gvt_setup ( void  )

Definition at line 26 of file mpi_allreduce.c.

References gvt_cnt, and gvt_opts.

Referenced by tw_init().

Here is the caller graph for this function:

void tw_gvt_start ( void  )

Definition at line 34 of file mpi_allreduce.c.

Referenced by tw_init().

Here is the caller graph for this function:

void tw_gvt_stats ( FILE *  f)

Definition at line 53 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().

Here is the caller graph for this function:

void tw_gvt_step1 ( tw_pe me)

Definition at line 69 of file mpi_allreduce.c.

References g_tw_gvt_interval, g_tw_max_opt_lookahead, tw_pe::GVT, gvt_cnt, tw_pe::gvt_status, tw_pe::pq, TW_GVT_COMPUTE, tw_pq_minimum(), and TW_STIME_DBL.

Referenced by tw_scheduler_conservative(), and tw_scheduler_optimistic().

Here is the call graph for this function:

Here is the caller graph for this function:

void tw_gvt_step1_realtime ( tw_pe me)

Definition at line 79 of file mpi_allreduce.c.

References g_tw_gvt_interval_start_cycles, g_tw_gvt_realtime_interval, g_tw_max_opt_lookahead, tw_pe::GVT, tw_pe::gvt_status, tw_pe::pq, tw_clock_read(), TW_GVT_COMPUTE, tw_pq_minimum(), and TW_STIME_DBL.

Referenced by tw_scheduler_optimistic_realtime().

Here is the call graph for this function:

Here is the caller graph for this function:

void tw_gvt_step2 ( tw_pe me)

Variable Documentation

tw_stat all_reduce_cnt = 0
static
unsigned int g_tw_gvt_max_no_change = 10000
static

Definition at line 6 of file mpi_allreduce.c.

Referenced by tw_gvt_step2().

unsigned int g_tw_gvt_no_change = 0
static

Definition at line 7 of file mpi_allreduce.c.

Referenced by tw_gvt_step2().

unsigned int gvt_cnt = 0
static

Definition at line 9 of file mpi_allreduce.c.

Referenced by tw_gvt_force_update(), tw_gvt_setup(), tw_gvt_step1(), and tw_gvt_step2().

unsigned int gvt_force = 0
static

Definition at line 10 of file mpi_allreduce.c.

Referenced by tw_gvt_force_update(), tw_gvt_force_update_realtime(), and tw_gvt_stats().

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"),
}
#define TWOPT_DOUBLE(n, v, h)
Definition: tw-opts.h:32
static double gvt_print_interval
Definition: mpi_allreduce.h:4
unsigned int g_tw_gvt_interval
Definition: ross-global.c:63
#define TWOPT_UINT(n, v, h)
Definition: tw-opts.h:30
#define TWOPT_GROUP(h)
Definition: tw-opts.h:27

Definition at line 12 of file mpi_allreduce.c.

Referenced by tw_gvt_setup().