76 #define is_red_colour(c) ( (bool) (c & 0x1) ) 79 #define in_red_phase() ( is_red_colour(threads_phase_colour[local_tid]) ) 82 #define next_colour(c) ( ((c)+1) & 0x3 ) phase_colour * threads_phase_colour
void exit_red_phase(void)
Make a thread exit from red phase.
void join_white_msg_redux(void)
Join the white message reduction collective operation.
Core ROOT-Sim functionalities.
void gvt_comm_finalize(void)
Shut down the MPI-based distributed GVT reduction submodule.
void register_incoming_msg(const msg_t *)
Register an incoming message, if necessary.
void gvt_comm_init(void)
Initialize the MPI-based distributed GVT reduction submodule.
void join_gvt_redux(simtime_t local_vt)
Reduce the GVT value.
void broadcast_gvt_init(unsigned int round)
Initiate a distributed GVT.
void register_outgoing_msg(const msg_t *)
Register an outgoing message, if necessary.
simtime_t last_reduced_gvt(void)
Return the last GVT value.
bool all_white_msg_received(void)
Check if white messages are all received.
double simtime_t
This defines the type with whom timestamps are represented.
bool white_msg_redux_completed(void)
Test completion of white message reduction collective operation.
simtime_t * min_outgoing_red_msg
Minimum time among all the outgoing red messages for each thread.
void wait_white_msg_redux(void)
Wait for the completion of wait message reduction.
bool gvt_init_pending(void)
Check if there are pending GVT-init messages around.
void gvt_init_clear(void)
Forcely extract GVT-init message from MPI.
void flush_white_msg_recv(void)
Reset received white messages.
_msg_colours
Define colour values for messages and threads.
void enter_red_phase(void)
Make a thread enter into red phase.
void flush_white_msg_sent(void)
Reset sent white messages.
bool gvt_redux_completed(void)
Check if final GVT reduction is complete.