1 #ifndef INC_ross_extern_h
2 #define INC_ross_extern_h
130 extern void tw_init(
int *argc,
char ***argv);
164 #define TW_LOC __FILE__,__LINE__
166 extern void tw_error(
const char *file,
int line,
const char *fmt, ...)
NORETURN;
167 extern
void tw_warning(const
char *file,
int line, const
char *fmt, ...);
168 extern
void tw_printf(const
char *file,
int line, const
char *fmt, ...);
170 extern
void*
tw_calloc(const
char *file,
int line, const
char *for_who,
size_t e_sz,
size_t n);
void tw_clock_init(tw_pe *me)
tw_synch g_tw_synchronization_protocol
tw_lp * tw_lp_next_onpe(tw_lp *last, tw_pe *pe)
unsigned int g_tw_gvt_done
double g_tw_min_detected_offset
void tw_kp_onpe(tw_kpid id, tw_pe *pe)
void tw_pe_settype(const tw_petype *type)
int tw_output(tw_lp *lp, const char *fmt,...)
tw_clock g_tw_cycles_ev_abort
void tw_init_kps(tw_pe *me)
void tw_error(const char *file, int line, const char *fmt,...) NORETURN
unsigned int g_tw_sim_started
unsigned int g_tw_gvt_threshold
void tw_rand_init_streams(tw_lp *lp, unsigned int nstreams)
void kp_fossil_remote(tw_kp *kp)
void tw_scheduler_optimistic(tw_pe *me)
void tw_warning(const char *file, int line, const char *fmt,...)
static void tw_event_free(tw_pe *, tw_event *)
void tw_kp_rollback_to(tw_kp *kp, tw_stime to)
Holds the entire PE state.
tw_clock tw_clock_now(tw_pe *me)
void tw_lp_onpe(tw_lpid index, tw_pe *pe, tw_lpid id)
unsigned long long g_tw_gvt_realtime_interval
void tw_lp_settype(tw_lpid lp, tw_lptype *type)
Function Pointers for ROSS Event Handlers.
Statistics tallied over the duration of the simulation.
unsigned int g_tw_net_device_size
void tw_get_stats(tw_pe *me, tw_statistics *s)
map_local_f g_tw_custom_lp_global_to_local_map
tw_clock g_tw_cycles_cancel
unsigned int g_tw_events_per_pe_extra
buddy_list_bucket_t * g_tw_buddy_master
unsigned int g_tw_gvt_interval
const tw_optdef * tw_clock_setup()
tw_lpid(* tw_typemap_f)(tw_lpid gid)
void tw_pre_run_lps(tw_pe *me)
static void * tw_event_data(tw_event *event)
uint32_t g_tw_avl_node_count
tw_clock g_tw_cycles_ev_queue
void tw_wall_now(tw_wtime *t)
void tw_wall_sub(tw_wtime *r, tw_wtime *a, tw_wtime *b)
void tw_snapshot_restore(tw_lp *lp, size_t state_sz)
void tw_lp_onkp(tw_lp *lp, tw_kp *kp)
uint32_t g_tw_buddy_alloc
tw_typemap_f g_tw_lp_typemap
void tw_init(int *argc, char ***argv)
long tw_snapshot_delta(tw_lp *lp, size_t state_sz)
void tw_scheduler_sequential(tw_pe *me)
map_custom_f g_tw_custom_initial_mapping
static void tw_free_output_messages(tw_event *e, int print_message)
void tw_pe_fossil_collect(void)
tw_lptype * g_tw_lp_types
unsigned int g_tw_nRNG_per_lp
tw_lpid map_onetype(tw_lpid gid)
void tw_kp_rollback_event(tw_event *event)
void tw_init_lps(tw_pe *me)
unsigned long long g_tw_clock_rate
void tw_scheduler_optimistic_debug(tw_pe *me)
void tw_lp_suspend(tw_lp *lp, int do_orig_event_rc, int error_num)
void tw_scheduler_optimistic_realtime(tw_pe *me)
tw_kp * tw_kp_next_onpe(tw_kp *last, tw_pe *pe)
void(* map_custom_f)(void)
Rollback-aware output mechanism.
double tw_wall_to_double(tw_wtime *t)
void tw_event_send(tw_event *event)
Virtual Functions for per PE ops.
void tw_event_rollback(tw_event *event)
unsigned long long g_tw_max_opt_lookahead
void tw_snapshot(tw_lp *lp, size_t state_sz)
void tw_sched_init(tw_pe *me)
void tw_kp_put_back_output_buffer(tw_out *out)
void tw_scheduler_conservative(tw_pe *me)
unsigned int g_tw_lz4_knob
tw_clock g_tw_cycles_ev_proc
void * tw_calloc(const char *file, int line, const char *for_who, size_t e_sz, size_t n)
tw_out * tw_kp_grab_output_buffer(tw_kp *kp)
void tw_define_lps(tw_lpid nlp, size_t msg_sz)
tw_lp *(* map_local_f)(tw_lpid)
unsigned long long g_tw_gvt_interval_start_cycles
unsigned int g_tw_events_per_pe
void tw_printf(const char *file, int line, const char *fmt,...)
void tw_calloc_stats(size_t *alloc, size_t *waste)