41 #define lock_mpi() {if(!mpi_support_multithread) spin_lock(&mpi_lock);} 44 #define unlock_mpi() {if(!mpi_support_multithread) spin_unlock(&mpi_lock);} 49 void mpi_init(
int *argc,
char ***argv);
void syncronize_all(void)
Syncronize all the kernels.
Core ROOT-Sim functionalities.
void mpi_reduce_statistics(struct stat_t *, struct stat_t *)
Invoke statistics reduction.
void inter_kernel_comm_init(void)
Initialize inter-kernel communication.
void send_remote_msg(msg_t *msg)
Send a message to a remote LP.
void inter_kernel_comm_finalize(void)
Finalize inter-kernel communication.
bool all_kernels_terminated(void)
Check if all kernels have reached the termination condition.
void mpi_finalize(void)
Finalize MPI.
void collect_termination(void)
Check if other kernels have reached the termination condition.
bool mpi_support_multithread
Flag telling whether the MPI runtime supports multithreading.
bool is_request_completed(MPI_Request *)
check if an MPI request has been completed
bool pending_msgs(int tag)
Check if there are pending messages.
void mpi_init(int *argc, char ***argv)
Initialize MPI subsystem.
void receive_remote_msgs(void)
Receive remote messages.
Message delivery support.
void broadcast_termination(void)
Notify all the kernels about local termination.