15 int i, j, idx = 0, sim_idx = 0;
26 for (i = 0; i < s->
num_lps; i++)
32 for (i = 0; (
unsigned int)i <
g_tw_nlp; i++)
65 sample->
next = sample + 1;
68 else if (i == g_st_sample_count - 1)
75 sample->
next = sample + 1;
81 for (j = 0; j < s->
num_lps; j++)
86 sample = sample->
next;
106 printf(
"WARNING: last available sample space for analysis lp!\n");
112 for (i = 0; i < s->
num_lps; i++)
114 if (s->
lp_list[i] == ULLONG_MAX)
132 if (g_st_damaris_enabled)
163 for (j = 0; j < s->
num_lps; j++)
165 if (s->
lp_list[j] == ULLONG_MAX)
215 for (j = 0; j < s->
num_lps; j++)
228 memcpy(&buffer[0], (
char*)&metadata,
sizeof(
lp_metadata));
264 printf(
"WARNING: there is model sample data that has not been committed!\n");
tw_synch g_tw_synchronization_protocol
tw_lpid analysis_start_gid
void analysis_init(analysis_state *s, tw_lp *lp)
tw_peid analysis_map(tw_lpid gid)
void tw_error(const char *file, int line, const char *fmt,...) NORETURN
model_sample_data * model_samples_current
tw_statistics stats
per PE counters
struct lp_metadata lp_metadata
void st_buffer_push(int type, char *data, int size)
void analysis_event(analysis_state *s, tw_bf *bf, analysis_msg *m, tw_lp *lp)
void(* event_f)(void *sv, tw_bf *cv, void *msg, tw_lp *me)
void analysis_finish(analysis_state *s, tw_lp *lp)
void tw_lp_settype(tw_lpid lp, tw_lptype *type)
Function Pointers for ROSS Event Handlers.
tw_kp * kp
kp – Kernel process that we belong to (must match pe).
tw_peid(* map_f)(tw_lpid)
#define TW_STIME_CMP(x, y)
static tw_stime tw_now(tw_lp const *lp)
void analysis_commit(analysis_state *s, tw_bf *bf, analysis_msg *m, tw_lp *lp)
static void * tw_event_data(tw_event *event)
void st_analysis_lp_settype(tw_lpid lpid)
Reverse Computation Bitfield.
void(* init_f)(void *sv, tw_lp *me)
void analysis_event_rc(analysis_state *s, tw_bf *bf, analysis_msg *m, tw_lp *lp)
static void st_create_sample_event(tw_lp *lp)
void(* revent_f)(void *sv, tw_bf *cv, void *msg, tw_lp *me)
void st_collect_engine_data(tw_pe *me, int col_type)
void(* pre_run_f)(void *sv, tw_lp *me)
sample_revent_f sample_revent_fn
sample_event_f sample_event_fn
struct st_model_types * model_types
tw_kpid id
ID number, otherwise its not available to the app.
void * cur_state
Current application LP data.
void tw_event_send(tw_event *event)
tw_stat s_alp_nevent_processed
static tw_lp * tw_getlocal_lp(tw_lpid gid)
model_sample_data * model_samples_tail
model_sample_data * model_samples_head
void(* final_f)(void *sv, tw_lp *me)
void(* commit_f)(void *sv, tw_bf *cv, void *msg, tw_lp *me)
void * tw_calloc(const char *file, int line, const char *for_who, size_t e_sz, size_t n)
static tw_event * tw_event_new(tw_lpid dest_gid, tw_stime offset_ts, tw_lp *sender)