Skip to content

Commit a0b4f2d

Browse files
committed
Renaming GVT hook structs
1 parent 2bd6e28 commit a0b4f2d

File tree

3 files changed

+45
-45
lines changed

3 files changed

+45
-45
lines changed

core/gvt/mpi_allreduce.c

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ static unsigned int gvt_cnt = 0;
1111
static unsigned int gvt_force = 0;
1212
void (*g_tw_gvt_hook) (tw_pe * pe) = NULL;
1313
// Holds one timestamp at which to trigger the arbitrary function
14-
struct trigger_gvt_hook g_tw_trigger_gvt_hook = {.trigger = GVT_HOOK_TRIGGER_disabled};
14+
struct gvt_hook_trigger g_tw_gvt_hook_trigger = {.status = GVT_HOOK_STATUS_disabled};
1515

1616
// MPI configuration parameters for tw_event_sig
1717
#ifdef USE_RAND_TIEBREAKER
@@ -127,13 +127,13 @@ tw_gvt_stats(FILE * f)
127127
#ifdef USE_RAND_TIEBREAKER
128128
#define NOT_PAST_LOOKAHEAD(pe) (TW_STIME_DBL(tw_pq_minimum_sig_ptr(pe->pq)->recv_ts) - TW_STIME_DBL(pe->GVT_sig.recv_ts) < g_tw_max_opt_lookahead)
129129
#define PAST_GVT_HOOK_ACTIVATION(pe) (\
130-
g_tw_trigger_gvt_hook.trigger == GVT_HOOK_TRIGGER_timestamp \
131-
&& tw_event_sig_compare_ptr(tw_pq_minimum_sig_ptr(pe->pq), &g_tw_trigger_gvt_hook.sig_at) >= 0)
130+
g_tw_gvt_hook_trigger.status == GVT_HOOK_STATUS_timestamp \
131+
&& tw_event_sig_compare_ptr(tw_pq_minimum_sig_ptr(pe->pq), &g_tw_gvt_hook_trigger.sig_at) >= 0)
132132
#else
133133
#define NOT_PAST_LOOKAHEAD(pe) (TW_STIME_DBL(tw_pq_minimum(pe->pq)) - TW_STIME_DBL(pe->GVT) < g_tw_max_opt_lookahead)
134134
#define PAST_GVT_HOOK_ACTIVATION(pe) (
135-
g_tw_trigger_gvt_hook.trigger == GVT_HOOK_TRIGGER_timestamp \
136-
&& tw_pq_minimum(me->pq) >= g_tw_trigger_gvt_hook.at)
135+
g_tw_gvt_hook_trigger.status == GVT_HOOK_STATUS_timestamp \
136+
&& tw_pq_minimum(me->pq) >= g_tw_gvt_hook_trigger.at)
137137
#endif
138138

139139
void
@@ -480,8 +480,8 @@ void tw_trigger_gvt_hook_at(tw_stime time) {
480480
tw_warning(TW_LOC, "Trying to schedule arbitrary function trigger at a time in the past %e, current GVT %e\n", time, now);
481481
}
482482

483-
g_tw_trigger_gvt_hook.trigger = GVT_HOOK_TRIGGER_timestamp;
484-
g_tw_trigger_gvt_hook.sig_at = time_sig;
483+
g_tw_gvt_hook_trigger.status = GVT_HOOK_STATUS_timestamp;
484+
g_tw_gvt_hook_trigger.sig_at = time_sig;
485485
}
486486
#else
487487
void tw_trigger_gvt_hook_at(tw_stime time) {
@@ -491,8 +491,8 @@ void tw_trigger_gvt_hook_at(tw_stime time) {
491491
tw_warning(TW_LOC, "Trying to schedule arbitrary function trigger at a time in the past %e, current GVT %e\n", time, now);
492492
}
493493

494-
g_tw_trigger_gvt_hook.trigger = GVT_HOOK_TRIGGER_timestamp;
495-
g_tw_trigger_gvt_hook.at = time;
494+
g_tw_gvt_hook_trigger.status = GVT_HOOK_STATUS_timestamp;
495+
g_tw_gvt_hook_trigger.at = time;
496496
}
497497
#endif
498498

@@ -504,17 +504,17 @@ void tw_trigger_gvt_hook_at_event_sig(tw_event_sig time) {
504504
tw_warning(TW_LOC, "Trying to schedule arbitrary function trigger at a time in the past %e, current GVT %e\n", time.recv_ts, now.recv_ts);
505505
}
506506

507-
g_tw_trigger_gvt_hook.trigger = GVT_HOOK_TRIGGER_timestamp;
508-
g_tw_trigger_gvt_hook.sig_at = time;
509-
//g_tw_trigger_gvt_hook.at = time;
507+
g_tw_gvt_hook_trigger.status = GVT_HOOK_STATUS_timestamp;
508+
g_tw_gvt_hook_trigger.sig_at = time;
509+
//g_tw_gvt_hook_trigger.at = time;
510510
}
511511
#endif
512512

513513
void tw_trigger_gvt_hook_every(int num_gvt_calls) {
514514
if (num_gvt_calls <= 0) {
515515
tw_error(TW_LOC, "`tw_trigger_gvt_hook_every` has been called with a non-positive argument: %d", num_gvt_calls);
516516
}
517-
g_tw_trigger_gvt_hook.trigger = GVT_HOOK_TRIGGER_every_n_gvt;
518-
g_tw_trigger_gvt_hook.every_n_gvt.starting_at = g_tw_gvt_done;
519-
g_tw_trigger_gvt_hook.every_n_gvt.nums = num_gvt_calls;
517+
g_tw_gvt_hook_trigger.status = GVT_HOOK_STATUS_every_n_gvt;
518+
g_tw_gvt_hook_trigger.every_n_gvt.starting_at = g_tw_gvt_done;
519+
g_tw_gvt_hook_trigger.every_n_gvt.nums = num_gvt_calls;
520520
}

core/ross-gvt-internal.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,15 @@ void tw_trigger_gvt_hook_at_event_sig(tw_event_sig time);
5858
*/
5959
void tw_trigger_gvt_hook_every(int num_gvt_calls);
6060

61-
enum GVT_HOOK_TRIGGER {
62-
GVT_HOOK_TRIGGER_disabled = 0,
63-
GVT_HOOK_TRIGGER_timestamp,
64-
GVT_HOOK_TRIGGER_every_n_gvt, // Hook will be executed
61+
enum GVT_HOOK_STATUS {
62+
GVT_HOOK_STATUS_disabled = 0,
63+
GVT_HOOK_STATUS_timestamp,
64+
GVT_HOOK_STATUS_every_n_gvt,
6565
};
6666

6767
// Holds one timestamp at which to trigger the arbitrary function
68-
struct trigger_gvt_hook {
69-
enum GVT_HOOK_TRIGGER trigger;
68+
struct gvt_hook_trigger {
69+
enum GVT_HOOK_STATUS status;
7070
union {
7171
// GVT_HOOK_TYPE_timestamp
7272
struct {
@@ -84,6 +84,6 @@ struct trigger_gvt_hook {
8484
};
8585
};
8686

87-
extern struct trigger_gvt_hook g_tw_trigger_gvt_hook;
87+
extern struct gvt_hook_trigger g_tw_gvt_hook_trigger;
8888

8989
#endif

core/tw-sched.c

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ static inline void reset_bitfields(tw_event *revent)
2323
#ifdef USE_RAND_TIEBREAKER
2424
#define PQ_MINUMUM(pe) tw_pq_minimum_sig_ptr(pe->pq)->recv_ts
2525
#define CMP_KP_TO_EVENT_TIME(kp, e) tw_event_sig_compare_ptr(&kp->last_sig, &e->sig)
26-
#define CMP_GVT_HOOK_TO_NEXT_IN_QUEUE(pe) tw_event_sig_compare_ptr(&g_tw_trigger_gvt_hook.sig_at, tw_pq_minimum_sig_ptr(pe->pq))
26+
#define CMP_GVT_HOOK_TO_NEXT_IN_QUEUE(pe) tw_event_sig_compare_ptr(&g_tw_gvt_hook_trigger.sig_at, tw_pq_minimum_sig_ptr(pe->pq))
2727
#define TRIGGER_ROLLBACK_TO_EVENT_TIME(kp, e) tw_kp_rollback_to_sig(kp, &e->sig)
2828
#define STIME_FROM_PE(pe) TW_STIME_DBL(pe->GVT_sig.recv_ts)
2929
#define STIME_FROM_KP(kp) TW_STIME_DBL(kp->last_sig.recv_ts)
3030
#else
3131
#define PQ_MINUMUM(pe) tw_pq_minimum(pe->pq)
3232
#define CMP_KP_TO_EVENT_TIME(kp, e) TW_STIME_CMP(kp->last_time, e->recv_ts)
33-
#define CMP_GVT_HOOK_TO_NEXT_IN_QUEUE(pe) (g_tw_trigger_gvt_hook.at - tw_pq_minimum(pe->pq))
33+
#define CMP_GVT_HOOK_TO_NEXT_IN_QUEUE(pe) (g_tw_gvt_hook_trigger.at - tw_pq_minimum(pe->pq))
3434
#define TRIGGER_ROLLBACK_TO_EVENT_TIME(kp, e) tw_kp_rollback_to(kp, e->recv_ts);
3535
#define STIME_FROM_PE(pe) TW_STIME_DBL(pe->GVT)
3636
#define STIME_FROM_KP(kp) TW_STIME_DBL(kp->last_time)
@@ -197,7 +197,7 @@ static void tw_sched_batch(tw_pe * me) {
197197

198198
// Force GVT computation, if (local) virtual time is ahead of the triggering timestamp for the gvt hook
199199
if (g_tw_gvt_hook
200-
&& g_tw_trigger_gvt_hook.trigger == GVT_HOOK_TRIGGER_timestamp
200+
&& g_tw_gvt_hook_trigger.status == GVT_HOOK_STATUS_timestamp
201201
&& CMP_GVT_HOOK_TO_NEXT_IN_QUEUE(me) <= 0) {
202202
tw_gvt_force_update();
203203
break;
@@ -356,7 +356,7 @@ static void tw_sched_batch_realtime(tw_pe * me) {
356356

357357
// Force GVT computation, if (local) virtual time is ahead of the triggering timestamp for the gvt hook
358358
if (g_tw_gvt_hook
359-
&& g_tw_trigger_gvt_hook.trigger == GVT_HOOK_TRIGGER_timestamp
359+
&& g_tw_gvt_hook_trigger.status == GVT_HOOK_STATUS_timestamp
360360
&& CMP_GVT_HOOK_TO_NEXT_IN_QUEUE(me) <= 0) {
361361
tw_gvt_force_update();
362362
break;
@@ -565,9 +565,9 @@ void tw_scheduler_rollback_and_cancel_events_pe(tw_pe * pe) {
565565
static inline bool is_gvt_past_hook_threshold(tw_pe * me) {
566566
// checking if the trigger has been activated on all PEs
567567
#ifdef USE_RAND_TIEBREAKER
568-
bool const activate_trigger = tw_event_sig_compare_ptr(&me->GVT_sig, &g_tw_trigger_gvt_hook.sig_at) >= 0;
568+
bool const activate_trigger = tw_event_sig_compare_ptr(&me->GVT_sig, &g_tw_gvt_hook_trigger.sig_at) >= 0;
569569
#else
570-
bool const activate_trigger = me->GVT >= g_tw_trigger_gvt_hook.at;
570+
bool const activate_trigger = me->GVT >= g_tw_gvt_hook_trigger.at;
571571
#endif
572572
bool global_triggered;
573573
if(MPI_Allreduce(&activate_trigger, &global_triggered, 1, MPI_C_BOOL, MPI_LAND, MPI_COMM_ROSS) != MPI_SUCCESS) {
@@ -580,21 +580,21 @@ static inline bool is_gvt_past_hook_threshold(tw_pe * me) {
580580
* This function will determine if the GVT hook should be called, and if it does, it calls the hook
581581
*/
582582
static inline void tw_gvt_hook_step(tw_pe * me) {
583-
if (g_tw_gvt_hook && g_tw_trigger_gvt_hook.trigger) {
583+
if (g_tw_gvt_hook && g_tw_gvt_hook_trigger.status) {
584584
bool has_hook_been_triggered = false;
585-
switch (g_tw_trigger_gvt_hook.trigger) {
586-
case GVT_HOOK_TRIGGER_disabled:
587-
tw_error(TW_LOC, "This is weird. This should have never happened. This switch case is guarded by g_tw_trigger_gvt_hook.trigger != GVT_HOOK_TRIGGER_disabled. Panic.");
585+
switch (g_tw_gvt_hook_trigger.status) {
586+
case GVT_HOOK_STATUS_disabled:
587+
tw_error(TW_LOC, "This is weird. This should have never happened. This switch case is guarded by g_tw_gvt_hook_trigger.trigger != GVT_HOOK_STATUS_disabled. Panic.");
588588
break;
589-
case GVT_HOOK_TRIGGER_timestamp:
589+
case GVT_HOOK_STATUS_timestamp:
590590
has_hook_been_triggered = is_gvt_past_hook_threshold(me);
591591
if (has_hook_been_triggered) {
592-
g_tw_trigger_gvt_hook.trigger = GVT_HOOK_TRIGGER_disabled;
592+
g_tw_gvt_hook_trigger.status = GVT_HOOK_STATUS_disabled;
593593
}
594594
break;
595-
case GVT_HOOK_TRIGGER_every_n_gvt: {
596-
int const starting_at = g_tw_trigger_gvt_hook.every_n_gvt.starting_at;
597-
int const every = g_tw_trigger_gvt_hook.every_n_gvt.nums;
595+
case GVT_HOOK_STATUS_every_n_gvt: {
596+
int const starting_at = g_tw_gvt_hook_trigger.every_n_gvt.starting_at;
597+
int const every = g_tw_gvt_hook_trigger.every_n_gvt.nums;
598598
has_hook_been_triggered = (g_tw_gvt_done - starting_at) % every == 0;
599599
}
600600
break;
@@ -611,25 +611,25 @@ bool first_seq_warning = true;
611611
*/
612612
static inline void tw_gvt_hook_step_seq(tw_pe * me) {
613613
if (g_tw_gvt_hook
614-
&& g_tw_trigger_gvt_hook.trigger
614+
&& g_tw_gvt_hook_trigger.status
615615
&& CMP_GVT_HOOK_TO_NEXT_IN_QUEUE(me) <= 0 // the next event is ahead of our next function trigger
616616
&& tw_pq_get_size(me->pq) > 0 // we have events to process (not triggering function if simulation has finished)
617617
) {
618618
// GVT hook can only be triggered in sequential mode at user-defined points in time, aka, by `tw_trigger_gvt_hook_at`
619-
if (g_tw_trigger_gvt_hook.trigger != GVT_HOOK_TRIGGER_timestamp) {
619+
if (g_tw_gvt_hook_trigger.status != GVT_HOOK_STATUS_timestamp) {
620620
if (first_seq_warning) {
621621
tw_warning(TW_LOC, "GVT hook cannot be triggered by other than the timestamp trigger (set by calling `tw_trigger_gvt_hook_at`). The GVT hook won't be called");
622622
first_seq_warning = false;
623623
}
624-
g_tw_trigger_gvt_hook.trigger = GVT_HOOK_TRIGGER_disabled;
624+
g_tw_gvt_hook_trigger.status = GVT_HOOK_STATUS_disabled;
625625
return;
626626
}
627627
#ifdef USE_RAND_TIEBREAKER
628-
tw_copy_event_sig(&me->GVT_sig, &g_tw_trigger_gvt_hook.sig_at);
628+
tw_copy_event_sig(&me->GVT_sig, &g_tw_gvt_hook_trigger.sig_at);
629629
#else
630-
me->GVT = g_tw_trigger_gvt_hook.at;
630+
me->GVT = g_tw_gvt_hook_trigger.at;
631631
#endif
632-
g_tw_trigger_gvt_hook.trigger = GVT_HOOK_TRIGGER_disabled;
632+
g_tw_gvt_hook_trigger.status = GVT_HOOK_STATUS_disabled;
633633
g_tw_gvt_hook(me);
634634
}
635635
}
@@ -777,7 +777,7 @@ void tw_scheduler_conservative(tw_pe * me) {
777777
}
778778

779779
if (g_tw_gvt_hook
780-
&& g_tw_trigger_gvt_hook.trigger == GVT_HOOK_TRIGGER_timestamp
780+
&& g_tw_gvt_hook_trigger.status == GVT_HOOK_STATUS_timestamp
781781
&& CMP_GVT_HOOK_TO_NEXT_IN_QUEUE(me) <= 0) {
782782
tw_gvt_force_update();
783783
break;
@@ -994,7 +994,7 @@ void tw_scheduler_optimistic_debug(tw_pe * me) {
994994
tw_error(TW_LOC, "Number of KPs is greater than 1.");
995995
}
996996

997-
if (g_tw_gvt_hook && g_tw_trigger_gvt_hook.trigger) {
997+
if (g_tw_gvt_hook && g_tw_gvt_hook_trigger.status) {
998998
printf("Warning: GVT Hook will not be triggered in the Optimistic Debug Scheduler.\n");
999999
}
10001000

0 commit comments

Comments
 (0)