enum nm_coll_tree_kind_e nm_coll_tree_kind_t
nm_status_t nm_cond_status_t
status with synchronization (wait/signal)
void nm_mcast_set_default_tree_kind(nm_mcast_service_t nm_mcast, const nm_coll_tree_kind_t kind)
Change the default tree used for routing data.
void nm_mcast_send(nm_mcast_service_t nm_mcast, nm_comm_t p_recv_comm, int *p_dests, int *p_prios, int n_dests, nm_tag_t tag, struct nm_data_s *p_data, nm_len_t hlen, nm_coll_tree_kind_t tree_kind)
Send data in a blocking mode.
void nm_mcast_finalize(nm_mcast_service_t nm_mcast)
Release the mcast interface.
void(* nm_mcast_send_notifier_t)(void *p_ref)
Public abstraction for the callback called when the mcast_send is completed.
void nm_mcast_send_init(nm_mcast_service_t nm_mcast, nm_mcast_t *p_mcast)
Initialize a multicast send.
nm_mcast_service_t nm_mcast_init(nm_comm_t p_comm)
Initializes the mcast interface.
struct nm_mcast_service_s * nm_mcast_service_t
Public abstraction for a mcast service.
void nm_mcast_send_destroy(nm_mcast_t *p_mcast)
Free data allocated by nm_mcast_send_init()
void nm_mcast_isend(nm_mcast_t *p_mcast, nm_comm_t p_comm, int *p_dests, int *p_prios, int n_dests, nm_tag_t tag, struct nm_data_s *p_data, nm_len_t hlen, nm_coll_tree_kind_t tree_kind)
Send data in a non-blocking mode.
void nm_mcast_wait(nm_mcast_t *p_mcast)
Wait for a non-blocking multicast send.
void nm_mcast_send_set_notifier(nm_mcast_t *p_mcast, nm_mcast_send_notifier_t notifier, void *p_ref)
Attach a notifier to mcast_send, to be called when the root node of the multicast ends its sends.
nm_tag_t tag
the user-supplied tag
nm_mpi_communicator_t * p_comm
communicator used for communication
uint64_t nm_tag_t
user tags, 64 bits, contained in indirect hashtable
uint64_t nm_len_t
data length used by nmad
a data descriptor, used to pack/unpack data from app layout to/from contiguous buffers
A multicast send request.
nm_mcast_send_notifier_t p_notifier
notification function to call uppon mcast completion
nm_cond_status_t cond_mcast_ended
nm_mcast_service_t p_mcast_service
void * p_notifier_ref
user-supplied parameter for the notifier