nm_sync_clocks_interface.h
Go to the documentation of this file.
46 static inline double nm_sync_clocks_remote_to_global(nm_sync_clocks_t p_clocks, int rank, double t);
49 static inline double nm_sync_clocks_global_to_local(nm_sync_clocks_t p_clocks, double global_time);
90 static inline void nm_sync_clocks_send(nm_sync_clocks_t p_clocks, int dest, int tag, void*p_data, int size)
92 struct nm_sync_clocks_nmad_s*p_nm_clocks = (struct nm_sync_clocks_nmad_s*)&p_clocks->backend_data;
97 static inline void nm_sync_clocks_recv(nm_sync_clocks_t p_clocks, int from, int tag, void*p_data, int size)
99 struct nm_sync_clocks_nmad_s*p_nm_clocks = (struct nm_sync_clocks_nmad_s*)&p_clocks->backend_data;
104 static inline void nm_sync_clocks_bcast(nm_sync_clocks_t p_clocks, int root, int tag, void*p_data, int size)
106 struct nm_sync_clocks_nmad_s*p_nm_clocks = (struct nm_sync_clocks_nmad_s*)&p_clocks->backend_data;
109 static inline void nm_sync_clocks_gather(nm_sync_clocks_t p_clocks, int root, int tag, void*p_sbuf, int size, void*p_rbuf)
111 struct nm_sync_clocks_nmad_s*p_nm_clocks = (struct nm_sync_clocks_nmad_s*)&p_clocks->backend_data;
117 struct nm_sync_clocks_nmad_s*p_nm_clocks = (struct nm_sync_clocks_nmad_s*)&p_clocks->backend_data;
136 struct nm_sync_clocks_nmad_s*p_nm_clocks = (struct nm_sync_clocks_nmad_s*)&p_clocks->backend_data;
146 struct nm_sync_clocks_nmad_s*p_nm_clocks = (struct nm_sync_clocks_nmad_s*)&p_clocks->backend_data;
156 static inline double nm_sync_clocks_remote_to_global(nm_sync_clocks_t p_clocks, int rank, double remote_time)
161 static inline double nm_sync_clocks_local_to_global(nm_sync_clocks_t p_clocks, double local_time)
166 static inline double nm_sync_clocks_global_to_local(nm_sync_clocks_t p_clocks, double global_time)
void nm_coll_gather(nm_comm_t comm, int root, const void *sbuf, nm_len_t slen, void *rbuf, nm_len_t rlen, nm_tag_t tag)
void nm_coll_barrier(nm_comm_t comm, nm_tag_t tag)
void nm_coll_bcast(nm_comm_t comm, int root, void *buffer, nm_len_t len, nm_tag_t tag)
void nm_comm_destroy(nm_comm_t p_comm)
destroy a communicator- no synchronization is done
nm_comm_t nm_comm_dup(nm_comm_t comm)
get a duplicate of the given communicator- collective on parent communicator
static nm_gate_t nm_comm_get_gate(nm_comm_t p_comm, int rank)
Definition nm_coll_inline.h:46
static nm_session_t nm_comm_get_session(nm_comm_t p_comm)
Definition nm_coll_inline.h:61
nm_len_t size
size of the onsided data (not incuding target-side completion)
Definition nm_onesided_private.h:1
static int nm_sr_recv(nm_session_t p_session, nm_gate_t p_gate, nm_tag_t tag, void *data, nm_len_t len)
blocking recv
Definition nm_sendrecv_interface.h:563
static int nm_sr_send(nm_session_t p_session, nm_gate_t p_gate, nm_tag_t tag, const void *data, nm_len_t len)
blocking send
Definition nm_sendrecv_interface.h:549
static void nm_sync_clocks_send(nm_sync_clocks_t p_clocks, int dest, int tag, void *p_data, int size)
Definition nm_sync_clocks_interface.h:90
static double nm_sync_clocks_global_to_local(nm_sync_clocks_t p_clocks, double global_time)
get local time for the given global time
Definition nm_sync_clocks_interface.h:166
static void nm_sync_clocks_shutdown(nm_sync_clocks_t p_clocks)
destroy the given clock
Definition nm_sync_clocks_interface.h:144
static double nm_sync_clocks_add_real_origin_usec(nm_sync_clocks_t p_clocks, double t)
Definition nm_sync_clocks_interface.h:76
static void nm_sync_clocks_nm_barrier(nm_sync_clocks_t p_clocks)
Definition nm_sync_clocks_interface.h:114
static void nm_sync_clocks_recv(nm_sync_clocks_t p_clocks, int from, int tag, void *p_data, int size)
Definition nm_sync_clocks_interface.h:97
static double nm_sync_clocks_remote_to_global(nm_sync_clocks_t p_clocks, int rank, double t)
get global clock (in usec.) from remote local clock
Definition nm_sync_clocks_interface.h:156
static void nm_sync_clocks_bcast(nm_sync_clocks_t p_clocks, int root, int tag, void *p_data, int size)
Definition nm_sync_clocks_interface.h:104
static double nm_sync_clocks_local_to_global(nm_sync_clocks_t p_clocks, double local_t)
compute global time for the given local time
Definition nm_sync_clocks_interface.h:161
static nm_sync_clocks_t nm_sync_clocks_init(nm_comm_t p_comm)
Definition nm_sync_clocks_interface.h:124
struct sync_clocks_generic_s * nm_sync_clocks_t
an opaque sync-clocks object
Definition nm_sync_clocks_interface.h:35
static long double nm_sync_clocks_get_skew(nm_sync_clocks_t p_clocks, int rank)
get the clock skew between master and given rank
Definition nm_sync_clocks_interface.h:181
static void nm_sync_clocks_synchronize(nm_sync_clocks_t p_clocks)
synchronize time offsets between nodes; collective operation on communicator
Definition nm_sync_clocks_interface.h:171
static double nm_sync_clocks_get_origin(nm_sync_clocks_t p_clocks)
get the real time origin
Definition nm_sync_clocks_interface.h:186
static double nm_sync_clocks_get_time_usec(nm_sync_clocks_t p_clocks)
get local time, in usec.
Definition nm_sync_clocks_interface.h:151
static void nm_sync_clocks_gather(nm_sync_clocks_t p_clocks, int root, int tag, void *p_sbuf, int size, void *p_rbuf)
Definition nm_sync_clocks_interface.h:109
static int nm_sync_clocks_barrier(nm_sync_clocks_t p_clocks, double *barrier_local_time)
a barrier that unlocks all node at the same time as much as possible parameter barrier_local_time wil...
Definition nm_sync_clocks_interface.h:176
Definition nm_coll_inline.h:19
Definition nm_session_private.h:24