Charades
globals.h
Go to the documentation of this file.
1 
10 #ifndef GLOBALS_H_
11 #define GLOBALS_H_
12 
13 #include "typedefs.h"
14 
16 extern unsigned g_total_lps;
17 extern unsigned g_num_chares;
18 extern unsigned g_lps_per_chare;
19 
20 extern LPMapper* g_lp_mapper;
21 extern LPFactory* g_lp_factory;
22 
25 extern Time g_tw_lookahead;
26 extern uint32_t g_num_msg_types;
27 extern uint32_t g_event_buffer_size;
28 
31 extern unsigned g_tw_synchronization_protocol;
32 extern unsigned g_tw_mblock;
33 extern Time g_tw_ts_end;
34 
37 extern unsigned g_tw_gvt_scheme;
38 extern unsigned g_tw_gvt_interval;
39 extern unsigned g_tw_gvt_trigger;
40 extern unsigned g_tw_gvt_phases;
41 extern unsigned g_tw_gvt_bucket_size;
42 extern unsigned g_tw_async_reduction;
43 extern double g_tw_reserve_threshold;
44 extern uint32_t g_tw_reserve_buckets;
45 extern uint32_t g_tw_adaptive_buckets;
46 extern uint32_t g_tw_clear_lag;
47 extern uint32_t g_tw_clear_buckets;
49 
51 extern uint32_t g_tw_ldb_continuous;
52 extern uint32_t g_tw_ldb_first;
53 extern unsigned g_tw_ldb_interval;
54 extern unsigned g_tw_max_ldb;
55 extern unsigned g_tw_ldb_metric;
56 extern unsigned g_tw_metric_ts_abs;
57 extern unsigned g_tw_metric_invert;
58 
61 extern unsigned g_tw_rng_default;
62 
65 extern char g_output_dir[256];
66 extern unsigned gvt_print_interval;
67 extern unsigned g_tw_stat_interval;
68 extern long int g_tw_expected_events;
69 
71 class EventBuffer;
72 
76 class Globals {
77  public:
82  Time g_last_gvt;
100 
101  Globals() : g_last_gvt(0),
102  abort_event(NULL),
103  event_buffer(NULL),
104  avl_list_head(NULL) {}
105 };
106 
107 void clear_globals();
108 Globals* get_globals();
109 
111 #define PE_VALUE(x) get_globals()->x
112 
113 #endif
PE-level variables which may change over time.
Definition: globals.h:76
LPMapper * g_lp_mapper
mapper for placing and locating LPs
Definition: globals.C:18
Definition: event.h:120
AvlTree avl_list_head
Hash table for events received remotely in optimistic execution.
Definition: globals.h:99
void clear_globals()
sets all global variables to default values
Definition: globals.C:79
unsigned g_tw_ldb_metric
metric used to measure LP load
Definition: globals.C:57
unsigned g_tw_async_reduction
use asynchronous reductions in GVTs
Definition: globals.C:43
long int g_tw_expected_events
expected number of committed events
Definition: globals.C:72
unsigned g_total_lps
total number of LPs
Definition: globals.C:14
unsigned g_tw_metric_invert
whether or not to invert metric
Definition: globals.C:59
EventBuffer * event_buffer
Buffer of pre-allocated events for entire simulation.
Definition: globals.h:93
Globals * get_globals()
returns a pointer to the local Globals object
Definition: globals.C:119
Definition: event_buffer.h:8
unsigned g_tw_ldb_interval
number of intervals to wait before lb
Definition: globals.C:55
unsigned g_tw_gvt_phases
number of phases in a phased gvt
Definition: globals.C:41
unsigned g_tw_synchronization_protocol
scheduler type
Definition: globals.C:31
LPFactory * g_lp_factory
factory for creating LPs based on global id
Definition: globals.C:19
char g_output_dir[256]
output directory for extra logging
Definition: globals.C:69
Base class which defines the mapper interface used during simulation setup.
Definition: mapper.h:7
Definition: avl_tree.h:7
unsigned g_tw_max_ldb
max number of times to call lb
Definition: globals.C:56
unsigned g_tw_gvt_interval
distance between GVT calls
Definition: globals.C:39
Time g_tw_lookahead
event lookahead (conservative)
Definition: globals.C:24
uint32_t g_tw_ldb_first
first interval to call lb
Definition: globals.C:54
unsigned g_tw_metric_ts_abs
use absolute time or not
Definition: globals.C:58
unsigned g_tw_stat_interval
frequency of logging stats (in GVTs)
Definition: globals.C:71
uint32_t g_num_msg_types
number of message types
Definition: globals.C:25
Event * abort_event
Sentinel event signifying some kind of error.
Definition: globals.h:87
unsigned g_tw_gvt_trigger
unit of the GVT interval (time or events)
Definition: globals.C:40
unsigned g_num_chares
total number of chares
Definition: globals.C:15
unsigned g_tw_gvt_bucket_size
size of each bucket in a bucketed gvt
Definition: globals.C:42
unsigned gvt_print_interval
frequency of progress print outs
Definition: globals.C:70
unsigned g_tw_mblock
batch size for event execution
Definition: globals.C:32
Declares most types used within the simulator and by models.
unsigned g_tw_rng_default
Definition: globals.C:64
Base class which defines the factory interface used during simulation setup.
Definition: factory.h:7
Time g_last_gvt
Last computed GVT, used for rollbacks.
Definition: globals.h:82
unsigned g_tw_gvt_scheme
GVT algorithm.
Definition: globals.C:38
uint32_t g_event_buffer_size
event buffer size
Definition: globals.C:26
Time g_tw_ts_end
end time of simulation
Definition: globals.C:33
unsigned g_lps_per_chare
number of LPs per chare (if constant)
Definition: globals.C:16