Go to the source code of this file.
Data Structures | |
struct | st_stats_buffer |
struct | sample_metadata |
struct | st_pe_stats |
struct | st_kp_stats |
struct | st_lp_stats |
struct | st_event_data |
struct | st_model_types |
struct | model_metadata |
Macros | |
#define | INST_MAX_LENGTH 4096 |
#define | st_buffer_free_space(buf) (buf->size - buf->count) |
#define | st_buffer_write_ptr(buf) (buf->buffer + buf->write_pos) |
#define | st_buffer_read_ptr(buf) (buf->buffer + buf->read_pos) |
Typedefs | |
typedef struct sample_metadata | sample_metadata |
typedef struct st_pe_stats | st_pe_stats |
typedef struct st_kp_stats | st_kp_stats |
typedef struct st_lp_stats | st_lp_stats |
typedef void(* | ev_trace_f )(void *msg, tw_lp *lp, char *buffer, int *collect_flag) |
typedef void(* | sample_event_f )(void *state, tw_bf *b, tw_lp *lp, void *sample) |
typedef void(* | sample_revent_f )(void *state, tw_bf *b, tw_lp *lp, void *sample) |
typedef void(* | model_stat_f )(void *sv, tw_lp *lp, char *buffer) |
typedef struct st_model_types | st_model_types |
Enumerations | |
enum | collection_types { GVT_COL, RT_COL, ANALYSIS_LP, EV_TRACE, MODEL_COL, NUM_COL_TYPES } |
enum | inst_data_types { PE_TYPE, KP_TYPE, LP_TYPE, MODEL_TYPE } |
enum | granularity_types { GRAN_PE, GRAN_KP, GRAN_LP, GRAN_ALL } |
enum | traces_enum { NO_TRACE, FULL_TRACE, RB_TRACE, COMMIT_TRACE } |
enum | stats_types_enum { NO_STATS, GVT_STATS, RT_STATS, VT_STATS, ALL_STATS } |
Variables | |
char | stats_directory [4096] |
int | g_st_buffer_size |
int | g_st_buffer_free_percent |
FILE * | seq_ev_trace |
FILE * | seq_model |
FILE * | seq_analysis |
char | g_st_stats_out [4096] |
char | g_st_stats_path [4096] |
int | g_st_pe_data |
int | g_st_kp_data |
int | g_st_lp_data |
int | g_st_disable_out |
int | g_st_model_stats |
int | g_st_engine_stats |
int | g_st_gvt_sampling |
int | g_st_num_gvt |
int | g_st_rt_sampling |
tw_clock | g_st_rt_interval |
tw_clock | g_st_rt_samp_start_cycles |
int | g_st_ev_trace |
int | g_st_use_analysis_lps |
tw_lpid | g_st_analysis_nlp |
double | g_st_vt_interval |
double | g_st_sampling_end |
tw_lpid | g_st_total_model_lps |
int | g_st_sample_count |
st_model_types * | g_st_model_types |
#define INST_MAX_LENGTH 4096 |
Definition at line 11 of file st-instrumentation.h.
Referenced by st_buffer_allocate(), and st_buffer_init().
#define st_buffer_free_space | ( | buf | ) | (buf->size - buf->count) |
Definition at line 14 of file st-instrumentation.h.
Referenced by st_buffer_push().
#define st_buffer_read_ptr | ( | buf | ) | (buf->buffer + buf->read_pos) |
Definition at line 16 of file st-instrumentation.h.
Referenced by st_buffer_write().
#define st_buffer_write_ptr | ( | buf | ) | (buf->buffer + buf->write_pos) |
Definition at line 15 of file st-instrumentation.h.
Referenced by st_buffer_push().
typedef void(* ev_trace_f)(void *msg, tw_lp *lp, char *buffer, int *collect_flag) |
Definition at line 188 of file st-instrumentation.h.
typedef void(* model_stat_f)(void *sv, tw_lp *lp, char *buffer) |
Definition at line 214 of file st-instrumentation.h.
Definition at line 197 of file st-instrumentation.h.
typedef struct sample_metadata sample_metadata |
Definition at line 38 of file st-instrumentation.h.
Definition at line 198 of file st-instrumentation.h.
typedef struct st_kp_stats st_kp_stats |
Definition at line 98 of file st-instrumentation.h.
typedef struct st_lp_stats st_lp_stats |
Definition at line 99 of file st-instrumentation.h.
typedef struct st_model_types st_model_types |
Definition at line 215 of file st-instrumentation.h.
typedef struct st_pe_stats st_pe_stats |
Definition at line 97 of file st-instrumentation.h.
enum collection_types |
Enumerator | |
---|---|
GVT_COL | |
RT_COL | |
ANALYSIS_LP | |
EV_TRACE | |
MODEL_COL | |
NUM_COL_TYPES |
Definition at line 40 of file st-instrumentation.h.
enum granularity_types |
Enumerator | |
---|---|
GRAN_PE | |
GRAN_KP | |
GRAN_LP | |
GRAN_ALL |
Definition at line 56 of file st-instrumentation.h.
enum inst_data_types |
Enumerator | |
---|---|
PE_TYPE | |
KP_TYPE | |
LP_TYPE | |
MODEL_TYPE |
Definition at line 49 of file st-instrumentation.h.
enum stats_types_enum |
Enumerator | |
---|---|
NO_STATS | |
GVT_STATS | |
RT_STATS | |
VT_STATS | |
ALL_STATS |
Definition at line 230 of file st-instrumentation.h.
enum traces_enum |
Enumerator | |
---|---|
NO_TRACE | |
FULL_TRACE | |
RB_TRACE | |
COMMIT_TRACE |
Definition at line 171 of file st-instrumentation.h.
void specialized_lp_init_mapping | ( | ) |
Definition at line 41 of file specialized-lps.c.
References analysis_start_gid, g_st_analysis_nlp, g_tw_kp, g_tw_lp, g_tw_mynode, g_tw_nlp, g_tw_pe, st_analysis_lp_settype(), tw_lp_onkp(), and tw_lp_onpe().
Referenced by tw_define_lps().
void specialized_lp_run | ( | ) |
Definition at line 52 of file specialized-lps.c.
References g_st_sampling_end, and g_tw_ts_end.
Referenced by st_inst_init().
void specialized_lp_setup | ( | ) |
Definition at line 18 of file specialized-lps.c.
References ALL_STATS, ANALYSIS_LP, analysis_start_gid, g_st_analysis_nlp, g_st_engine_stats, g_st_model_stats, g_st_total_model_lps, g_st_use_analysis_lps, g_tw_nkp, g_tw_nlp, g_tw_synchronization_protocol, MPI_COMM_ROSS, SEQUENTIAL, st_buffer_init(), and VT_STATS.
Referenced by tw_define_lps().
void st_buffer_allocate | ( | ) |
Definition at line 16 of file st-stats-buffer.c.
References buffer_fh, g_st_engine_stats, g_st_ev_trace, g_st_model_stats, g_st_stats_path, g_st_use_analysis_lps, g_tw_masternode, g_tw_mynode, INST_MAX_LENGTH, MPI_COMM_ROSS, NUM_COL_TYPES, prev_offsets, stats_directory, tw_calloc(), and TW_LOC.
Referenced by tw_define_lps().
void st_buffer_finalize | ( | int | type | ) |
Definition at line 188 of file st-stats-buffer.c.
References buffer_fh, g_st_disable_out, g_tw_mynode, missed_bytes, and st_buffer_write().
Referenced by st_inst_finalize().
void st_buffer_init | ( | int | type | ) |
Definition at line 62 of file st-stats-buffer.c.
References ANALYSIS_LP, st_stats_buffer::buffer, buffer_fh, st_stats_buffer::count, file_suffix, g_st_buffer_size, g_st_disable_out, g_st_stats_out, g_tw_synchronization_protocol, INST_MAX_LENGTH, MPI_COMM_ROSS, st_stats_buffer::read_pos, seq_analysis, seq_ev_trace, seq_model, SEQUENTIAL, st_stats_buffer::size, stats_directory, tw_calloc(), TW_LOC, and st_stats_buffer::write_pos.
Referenced by specialized_lp_setup(), and st_inst_init().
void st_buffer_push | ( | int | type, |
char * | data, | ||
int | size | ||
) |
Definition at line 100 of file st-stats-buffer.c.
References buffer_overflow_warned, st_stats_buffer::count, g_st_disable_out, g_tw_lp, g_tw_mynode, missed_bytes, st_buffer_free_space, st_buffer_write_ptr, tw_now(), TW_STIME_DBL, and st_stats_buffer::write_pos.
Referenced by analysis_commit(), st_collect_engine_data_kps(), st_collect_engine_data_lps(), st_collect_engine_data_pes(), st_collect_event_data(), and st_collect_model_data().
void st_buffer_write | ( | int | end_of_sim, |
int | type | ||
) |
Definition at line 137 of file st-stats-buffer.c.
References buffer_fh, buffer_overflow_warned, st_stats_buffer::count, g_st_buffer_free_percent, g_st_buffer_size, g_tw_mynode, g_tw_pe, MPI_COMM_ROSS, prev_offsets, st_stats_buffer::read_pos, tw_statistics::s_stat_comp, tw_statistics::s_stat_write, st_buffer_read_ptr, tw_pe::stats, tw_clock_read(), tw_nnodes(), and st_stats_buffer::write_pos.
Referenced by st_buffer_finalize(), and st_inst_dump().
void st_collect_engine_data | ( | tw_pe * | me, |
int | col_type | ||
) |
Definition at line 10 of file st-sim-engine.c.
References g_st_kp_data, g_st_lp_data, g_st_pe_data, g_tw_clock_rate, g_tw_nkp, g_tw_nlp, tw_pe::GVT, sample_metadata::real_time, tw_statistics::s_stat_comp, st_collect_engine_data_kps(), st_collect_engine_data_lps(), st_collect_engine_data_pes(), tw_pe::stats, sample_metadata::ts, tw_clock_read(), tw_get_stats(), tw_getkp(), and tw_getlp().
Referenced by analysis_event(), st_inst_finalize(), tw_gvt_step2(), tw_sched_batch(), tw_sched_batch_realtime(), and tw_scheduler_conservative().
void st_collect_engine_data_kps | ( | tw_pe * | me, |
tw_kp * | kp, | ||
sample_metadata * | sample_md, | ||
int | col_type | ||
) |
Definition at line 102 of file st-sim-engine.c.
References st_kp_stats::efficiency, sample_metadata::flag, g_tw_mynode, tw_pe::GVT, tw_kp::id, tw_kp::kp_stats, KP_TYPE, st_kp_stats::kpid, tw_kp::last_stats, tw_kp::last_time, st_kp_stats::peid, st_kp_stats::s_e_rbs, st_kp_stats::s_nevent_abort, st_kp_stats::s_nevent_processed, st_kp_stats::s_nread_network, st_kp_stats::s_nsend_network, st_kp_stats::s_rb_secondary, st_kp_stats::s_rb_total, sample_metadata::sample_sz, st_buffer_push(), st_kp_stats::time_ahead_gvt, tw_error(), TW_LOC, and TW_STIME_DBL.
Referenced by st_collect_engine_data().
void st_collect_engine_data_lps | ( | tw_lp * | lp, |
sample_metadata * | sample_md, | ||
int | col_type | ||
) |
Definition at line 145 of file st-sim-engine.c.
References st_lp_stats::efficiency, sample_metadata::flag, g_tw_mynode, tw_lp::gid, tw_kp::id, tw_lp::kp, st_lp_stats::kpid, tw_lp::last_stats, tw_lp::lp_stats, LP_TYPE, st_lp_stats::lpid, st_lp_stats::peid, st_lp_stats::s_e_rbs, st_lp_stats::s_nevent_abort, st_lp_stats::s_nevent_processed, st_lp_stats::s_nread_network, st_lp_stats::s_nsend_network, sample_metadata::sample_sz, st_buffer_push(), tw_error(), and TW_LOC.
Referenced by st_collect_engine_data().
void st_collect_engine_data_pes | ( | tw_pe * | pe, |
sample_metadata * | sample_md, | ||
tw_statistics * | s, | ||
int | col_type | ||
) |
Definition at line 45 of file st-sim-engine.c.
References all_reduce_cnt, st_pe_stats::all_reduce_count, st_pe_stats::efficiency, sample_metadata::flag, g_tw_clock_rate, g_tw_gvt_done, g_tw_mynode, last_all_reduce_cnt, PE_TYPE, st_pe_stats::peid, tw_pe::pq, st_pe_stats::s_avl, tw_statistics::s_avl, st_pe_stats::s_buddy, tw_statistics::s_buddy, st_pe_stats::s_cancel_q, tw_statistics::s_cancel_q, st_pe_stats::s_e_rbs, tw_statistics::s_e_rbs, st_pe_stats::s_event_abort, tw_statistics::s_event_abort, st_pe_stats::s_event_process, tw_statistics::s_event_process, st_pe_stats::s_fc_attempts, tw_statistics::s_fc_attempts, st_pe_stats::s_fossil_collect, tw_statistics::s_fossil_collect, st_pe_stats::s_gvt, tw_statistics::s_gvt, st_pe_stats::s_lz4, tw_statistics::s_lz4, st_pe_stats::s_net_other, tw_statistics::s_net_other, st_pe_stats::s_net_read, tw_statistics::s_net_read, st_pe_stats::s_nevent_abort, tw_statistics::s_nevent_abort, st_pe_stats::s_nevent_processed, tw_statistics::s_nevent_processed, st_pe_stats::s_ngvts, st_pe_stats::s_nread_network, tw_statistics::s_nread_network, st_pe_stats::s_nsend_network, tw_statistics::s_nsend_network, st_pe_stats::s_pe_event_ties, tw_statistics::s_pe_event_ties, st_pe_stats::s_pq, tw_statistics::s_pq, st_pe_stats::s_pq_qsize, st_pe_stats::s_rb_secondary, tw_statistics::s_rb_secondary, st_pe_stats::s_rb_total, tw_statistics::s_rb_total, st_pe_stats::s_rollback, tw_statistics::s_rollback, sample_metadata::sample_sz, st_buffer_push(), st_get_allreduce_count(), tw_pe::stats, and tw_pq_get_size().
Referenced by st_collect_engine_data().
void st_collect_event_data | ( | tw_event * | cev, |
double | recv_rt | ||
) |
Definition at line 9 of file st-event-trace.c.
References st_event_data::dest_lp, tw_event::dest_lp, st_model_types::ev_sz, EV_TRACE, st_model_types::ev_trace, evtype_warned, g_st_disable_out, g_tw_masternode, g_tw_mynode, g_tw_pe, g_tw_synchronization_protocol, tw_lp::gid, st_event_data::model_data_sz, tw_lp::model_types, st_event_data::real_ts, tw_event::recv_ts, st_event_data::recv_vts, tw_statistics::s_stat_comp, tw_event::send_lp, tw_event::send_ts, st_event_data::send_vts, seq_ev_trace, SEQUENTIAL, st_event_data::src_lp, st_buffer_push(), tw_pe::stats, tw_clock_read(), tw_event_data(), and TW_STIME_DBL.
Referenced by tw_eventq_push_list(), tw_sched_batch(), tw_sched_batch_realtime(), tw_sched_event_q(), tw_scheduler_conservative(), and tw_scheduler_sequential().
void st_collect_model_data | ( | tw_pe * | pe, |
double | current_rt, | ||
int | stats_type | ||
) |
Definition at line 45 of file st-model-data.c.
References tw_lp::cur_state, sample_metadata::flag, g_st_disable_out, g_tw_lp, g_tw_mynode, g_tw_nlp, g_tw_synchronization_protocol, tw_lp::gid, model_metadata::gvt, tw_pe::GVT, tw_kp::id, tw_lp::kp, model_metadata::kpid, model_metadata::lpid, MODEL_COL, st_model_types::model_stat_fn, model_metadata::model_sz, MODEL_TYPE, tw_lp::model_types, st_model_types::mstat_sz, model_metadata::peid, sample_metadata::real_time, tw_statistics::s_stat_comp, sample_metadata::sample_sz, seq_model, SEQUENTIAL, st_buffer_push(), tw_pe::stats, model_metadata::stats_type, sample_metadata::ts, tw_clock_read(), tw_now(), and TW_STIME_DBL.
Referenced by tw_gvt_step2(), tw_sched_batch(), tw_sched_batch_realtime(), tw_scheduler_conservative(), and tw_scheduler_sequential().
void st_inst_dump | ( | ) |
Definition at line 88 of file st-instrumentation.c.
References ALL_STATS, ANALYSIS_LP, EV_TRACE, g_st_disable_out, g_st_engine_stats, g_st_ev_trace, g_st_model_stats, g_st_use_analysis_lps, GVT_COL, GVT_STATS, MODEL_COL, RT_COL, RT_STATS, and st_buffer_write().
Referenced by tw_gvt_step2().
void st_inst_finalize | ( | tw_pe * | me | ) |
Definition at line 105 of file st-instrumentation.c.
References ALL_STATS, ANALYSIS_LP, EV_TRACE, g_st_engine_stats, g_st_ev_trace, g_st_model_stats, g_st_use_analysis_lps, GVT_COL, GVT_STATS, MODEL_COL, RT_COL, RT_STATS, st_buffer_finalize(), and st_collect_engine_data().
Referenced by tw_scheduler_conservative(), tw_scheduler_optimistic(), and tw_scheduler_optimistic_realtime().
void st_inst_init | ( | void | ) |
Definition at line 51 of file st-instrumentation.c.
References ALL_STATS, EV_TRACE, g_st_engine_stats, g_st_ev_trace, g_st_gvt_sampling, g_st_model_stats, g_st_rt_interval, g_st_rt_samp_start_cycles, g_st_rt_sampling, g_tw_clock_rate, GVT_COL, GVT_STATS, MODEL_COL, RT_COL, RT_STATS, specialized_lp_run(), st_buffer_init(), and tw_clock_read().
Referenced by tw_run().
const tw_optdef* st_inst_opts | ( | ) |
Definition at line 46 of file st-instrumentation.c.
References inst_options.
Referenced by tw_init().
void st_model_settype | ( | tw_lpid | i, |
st_model_types * | model_types | ||
) |
Definition at line 25 of file st-model-data.c.
References g_tw_lp, g_tw_masternode, g_tw_mynode, model_type_warned, model_types, and tw_lp::model_types.
Referenced by main().
void st_model_setup_types | ( | tw_lp * | lp | ) |
Definition at line 10 of file st-model-data.c.
References g_tw_lp_typemap, g_tw_masternode, g_tw_mynode, tw_lp::gid, model_type_warned, and tw_lp::model_types.
Referenced by tw_lp_setup_types().
const tw_optdef* st_special_lp_opts | ( | void | ) |
Definition at line 67 of file specialized-lps.c.
References special_lp_opt.
Referenced by tw_init().
tw_lpid g_st_analysis_nlp |
Definition at line 12 of file specialized-lps.c.
Referenced by late_sanity_check(), specialized_lp_init_mapping(), specialized_lp_setup(), tw_define_lps(), tw_getlp(), tw_init_lps(), tw_lp_onpe(), tw_lp_settype(), tw_pre_run_lps(), and tw_stats().
int g_st_buffer_free_percent |
Definition at line 10 of file st-stats-buffer.c.
Referenced by st_buffer_write().
int g_st_buffer_size |
Definition at line 9 of file st-stats-buffer.c.
Referenced by st_buffer_init(), and st_buffer_write().
int g_st_disable_out |
Definition at line 9 of file st-instrumentation.c.
Referenced by analysis_commit(), st_buffer_finalize(), st_buffer_init(), st_buffer_push(), st_collect_event_data(), st_collect_model_data(), and st_inst_dump().
int g_st_engine_stats |
Definition at line 12 of file st-instrumentation.c.
Referenced by analysis_event(), specialized_lp_setup(), st_buffer_allocate(), st_inst_dump(), st_inst_finalize(), st_inst_init(), tw_gvt_step2(), tw_sched_batch(), tw_sched_batch_realtime(), and tw_scheduler_conservative().
int g_st_ev_trace |
Definition at line 3 of file st-event-trace.c.
Referenced by st_buffer_allocate(), st_inst_dump(), st_inst_finalize(), st_inst_init(), tw_eventq_push_list(), tw_lp_setup_types(), tw_sched_batch(), tw_sched_batch_realtime(), tw_sched_event_q(), tw_scheduler_conservative(), and tw_scheduler_sequential().
int g_st_gvt_sampling |
Definition at line 14 of file st-instrumentation.c.
Referenced by st_inst_init().
int g_st_kp_data |
Definition at line 7 of file st-instrumentation.c.
Referenced by st_collect_engine_data().
int g_st_lp_data |
Definition at line 8 of file st-instrumentation.c.
Referenced by st_collect_engine_data().
int g_st_model_stats |
Definition at line 11 of file st-instrumentation.c.
Referenced by analysis_commit(), analysis_event(), analysis_event_rc(), analysis_init(), specialized_lp_setup(), st_buffer_allocate(), st_inst_dump(), st_inst_finalize(), st_inst_init(), tw_gvt_step2(), tw_sched_batch(), tw_sched_batch_realtime(), tw_scheduler_conservative(), and tw_scheduler_sequential().
st_model_types* g_st_model_types |
Definition at line 3 of file st-model-data.c.
int g_st_num_gvt |
Definition at line 15 of file st-instrumentation.c.
Referenced by tw_gvt_step2().
int g_st_pe_data |
Definition at line 6 of file st-instrumentation.c.
Referenced by st_collect_engine_data().
tw_clock g_st_rt_interval |
Definition at line 18 of file st-instrumentation.c.
Referenced by st_inst_init(), tw_sched_batch(), tw_sched_batch_realtime(), tw_scheduler_conservative(), and tw_scheduler_sequential().
tw_clock g_st_rt_samp_start_cycles |
Definition at line 19 of file st-instrumentation.c.
Referenced by st_inst_init(), tw_sched_batch(), tw_sched_batch_realtime(), tw_scheduler_conservative(), and tw_scheduler_sequential().
int g_st_rt_sampling |
Definition at line 17 of file st-instrumentation.c.
Referenced by st_inst_init(), tw_sched_batch(), tw_sched_batch_realtime(), tw_scheduler_conservative(), and tw_scheduler_sequential().
int g_st_sample_count |
Definition at line 13 of file specialized-lps.c.
Referenced by analysis_init().
double g_st_sampling_end |
Definition at line 22 of file st-instrumentation.c.
Referenced by specialized_lp_run(), and st_create_sample_event().
char g_st_stats_out[4096] |
Definition at line 4 of file st-instrumentation.c.
Referenced by st_buffer_init().
char g_st_stats_path[4096] |
Definition at line 5 of file st-instrumentation.c.
Referenced by st_buffer_allocate().
tw_lpid g_st_total_model_lps |
Definition at line 16 of file specialized-lps.c.
Referenced by specialized_lp_setup(), and tw_getlocal_lp().
int g_st_use_analysis_lps |
Definition at line 11 of file specialized-lps.c.
Referenced by specialized_lp_setup(), st_buffer_allocate(), st_inst_dump(), st_inst_finalize(), tw_getlocal_lp(), tw_init(), and tw_stats().
double g_st_vt_interval |
Definition at line 21 of file st-instrumentation.c.
Referenced by st_create_sample_event().
FILE * seq_analysis |
Definition at line 13 of file st-stats-buffer.c.
Referenced by analysis_commit(), and st_buffer_init().
FILE* seq_ev_trace |
Definition at line 13 of file st-stats-buffer.c.
Referenced by st_buffer_init(), and st_collect_event_data().
FILE * seq_model |
Definition at line 13 of file st-stats-buffer.c.
Referenced by st_buffer_init(), and st_collect_model_data().
char stats_directory[4096] |
Definition at line 8 of file st-stats-buffer.c.
Referenced by st_buffer_allocate(), and st_buffer_init().