NewMadeleine

Documentation

Collective operations
Collaboration diagram for Collective operations:
typedef struct nm_coll_req_snm_coll_req_t
 
typedef void(* nm_coll_req_notifier_t) (void *ref)
 notification function for collective reqs More...
 
void nm_coll_group_barrier (nm_session_t p_session, nm_group_t p_group, int self, nm_tag_t tag)
 
void nm_coll_group_bcast (nm_session_t p_session, nm_group_t p_group, int root, int self, void *buffer, nm_len_t len, nm_tag_t tag)
 
void nm_coll_group_scatter (nm_session_t p_session, nm_group_t p_group, int root, int self, const void *sbuf, nm_len_t slen, void *rbuf, nm_len_t rlen, nm_tag_t tag)
 
void nm_coll_group_gather (nm_session_t p_session, nm_group_t p_group, int root, int self, 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_coll_scatter (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_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_data_bcast (nm_comm_t comm, int root, struct nm_data_s *p_data, nm_tag_t tag)
 
void nm_coll_data_scatter (nm_comm_t p_comm, int root, struct nm_data_s p_sdata[], struct nm_data_s *p_rdata, nm_tag_t tag)
 
void nm_coll_data_gather (nm_comm_t p_comm, int root, struct nm_data_s *p_sdata, struct nm_data_s p_rdata[], nm_tag_t tag)
 
void nm_coll_group_data_bcast (nm_session_t p_session, nm_group_t p_group, int root, int self, struct nm_data_s *p_data, nm_tag_t tag)
 
void nm_coll_req_wait (struct nm_coll_req_s *p_coll_req)
 
int nm_coll_req_test (struct nm_coll_req_s *p_coll_req)
 
struct nm_coll_req_snm_coll_group_data_ibcast (nm_session_t p_session, nm_group_t p_group, int root, int self, struct nm_data_s *p_data, nm_tag_t tag, nm_coll_req_notifier_t p_notify, void *ref)
 generic ibcast with automatic algorithm selection More...
 
struct nm_coll_req_snm_coll_ibcast_pipeline (nm_session_t p_session, nm_group_t p_group, int root, int self, struct nm_data_s *p_data, nm_tag_t tag, nm_len_t block_size, nm_coll_tree_kind_t kind, nm_coll_req_notifier_t p_notify, void *ref)
 ibcast with pipelined algorithm More...
 
struct nm_coll_req_snm_coll_bcast_tree (nm_session_t p_session, nm_group_t p_group, int root, int self, struct nm_data_s *p_data, nm_tag_t tag, nm_coll_tree_kind_t kind, nm_coll_req_notifier_t p_notify, void *ref)
 ibcast with tree algorithm More...
 
struct nm_coll_req_snm_coll_group_ibarrier (nm_session_t p_session, nm_group_t p_group, int self, nm_tag_t tag)
 
struct nm_coll_req_snm_coll_group_data_igather (nm_session_t p_session, nm_group_t p_group, int root, int self, struct nm_data_s *p_sdata, struct nm_data_s p_rdata[], nm_tag_t tag, nm_coll_req_notifier_t p_notify, void *ref)
 
struct nm_coll_req_snm_coll_igather (nm_comm_t comm, int root, const void *sbuf, nm_len_t slen, void *rbuf, nm_len_t rlen, nm_tag_t tag, nm_coll_req_notifier_t p_notify, void *ref)
 
void nm_coll_bcast_2trees (nm_session_t p_session, nm_group_t p_group, int root, int self, struct nm_data_s *p_data, nm_tag_t tag1, nm_tag_t tag2, nm_len_t block_size, nm_coll_tree_kind_t kind)
 

Detailed Description

Typedef Documentation

◆ nm_coll_req_notifier_t

typedef void(* nm_coll_req_notifier_t) (void *ref)

notification function for collective reqs

Definition at line 36 of file nm_coll.h.

◆ nm_coll_req_t

typedef struct nm_coll_req_s* nm_coll_req_t

Definition at line 33 of file nm_coll.h.

Function Documentation

◆ nm_coll_barrier()

void nm_coll_barrier ( nm_comm_t  comm,
nm_tag_t  tag 
)
Examples
nm_mcast_basic.c, nm_onesided_simple.c, and nm_rpc_hello.c.

Referenced by nm_examples_barrier(), and nm_sync_clocks_nm_barrier().

Here is the caller graph for this function:

◆ nm_coll_bcast()

void nm_coll_bcast ( nm_comm_t  comm,
int  root,
void *  buffer,
nm_len_t  len,
nm_tag_t  tag 
)

Referenced by nm_sync_clocks_bcast().

Here is the caller graph for this function:

◆ nm_coll_bcast_2trees()

void nm_coll_bcast_2trees ( nm_session_t  p_session,
nm_group_t  p_group,
int  root,
int  self,
struct nm_data_s p_data,
nm_tag_t  tag1,
nm_tag_t  tag2,
nm_len_t  block_size,
nm_coll_tree_kind_t  kind 
)

◆ nm_coll_bcast_tree()

struct nm_coll_req_s * nm_coll_bcast_tree ( nm_session_t  p_session,
nm_group_t  p_group,
int  root,
int  self,
struct nm_data_s p_data,
nm_tag_t  tag,
nm_coll_tree_kind_t  kind,
nm_coll_req_notifier_t  p_notify,
void *  ref 
)

ibcast with tree algorithm

◆ nm_coll_data_bcast()

void nm_coll_data_bcast ( nm_comm_t  comm,
int  root,
struct nm_data_s p_data,
nm_tag_t  tag 
)

◆ nm_coll_data_gather()

void nm_coll_data_gather ( nm_comm_t  p_comm,
int  root,
struct nm_data_s p_sdata,
struct nm_data_s  p_rdata[],
nm_tag_t  tag 
)

◆ nm_coll_data_scatter()

void nm_coll_data_scatter ( nm_comm_t  p_comm,
int  root,
struct nm_data_s  p_sdata[],
struct nm_data_s p_rdata,
nm_tag_t  tag 
)

◆ nm_coll_gather()

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 
)

Referenced by nm_sync_clocks_gather().

Here is the caller graph for this function:

◆ nm_coll_group_barrier()

void nm_coll_group_barrier ( nm_session_t  p_session,
nm_group_t  p_group,
int  self,
nm_tag_t  tag 
)

◆ nm_coll_group_bcast()

void nm_coll_group_bcast ( nm_session_t  p_session,
nm_group_t  p_group,
int  root,
int  self,
void *  buffer,
nm_len_t  len,
nm_tag_t  tag 
)

◆ nm_coll_group_data_bcast()

void nm_coll_group_data_bcast ( nm_session_t  p_session,
nm_group_t  p_group,
int  root,
int  self,
struct nm_data_s p_data,
nm_tag_t  tag 
)

◆ nm_coll_group_data_ibcast()

struct nm_coll_req_s * nm_coll_group_data_ibcast ( nm_session_t  p_session,
nm_group_t  p_group,
int  root,
int  self,
struct nm_data_s p_data,
nm_tag_t  tag,
nm_coll_req_notifier_t  p_notify,
void *  ref 
)

generic ibcast with automatic algorithm selection

◆ nm_coll_group_data_igather()

struct nm_coll_req_s * nm_coll_group_data_igather ( nm_session_t  p_session,
nm_group_t  p_group,
int  root,
int  self,
struct nm_data_s p_sdata,
struct nm_data_s  p_rdata[],
nm_tag_t  tag,
nm_coll_req_notifier_t  p_notify,
void *  ref 
)

◆ nm_coll_group_gather()

void nm_coll_group_gather ( nm_session_t  p_session,
nm_group_t  p_group,
int  root,
int  self,
const void *  sbuf,
nm_len_t  slen,
void *  rbuf,
nm_len_t  rlen,
nm_tag_t  tag 
)

◆ nm_coll_group_ibarrier()

struct nm_coll_req_s * nm_coll_group_ibarrier ( nm_session_t  p_session,
nm_group_t  p_group,
int  self,
nm_tag_t  tag 
)

◆ nm_coll_group_scatter()

void nm_coll_group_scatter ( nm_session_t  p_session,
nm_group_t  p_group,
int  root,
int  self,
const void *  sbuf,
nm_len_t  slen,
void *  rbuf,
nm_len_t  rlen,
nm_tag_t  tag 
)

◆ nm_coll_ibcast_pipeline()

struct nm_coll_req_s * nm_coll_ibcast_pipeline ( nm_session_t  p_session,
nm_group_t  p_group,
int  root,
int  self,
struct nm_data_s p_data,
nm_tag_t  tag,
nm_len_t  block_size,
nm_coll_tree_kind_t  kind,
nm_coll_req_notifier_t  p_notify,
void *  ref 
)

ibcast with pipelined algorithm

◆ nm_coll_igather()

struct nm_coll_req_s * nm_coll_igather ( nm_comm_t  comm,
int  root,
const void *  sbuf,
nm_len_t  slen,
void *  rbuf,
nm_len_t  rlen,
nm_tag_t  tag,
nm_coll_req_notifier_t  p_notify,
void *  ref 
)

◆ nm_coll_req_test()

int nm_coll_req_test ( struct nm_coll_req_s p_coll_req)

◆ nm_coll_req_wait()

void nm_coll_req_wait ( struct nm_coll_req_s p_coll_req)

◆ nm_coll_scatter()

void nm_coll_scatter ( nm_comm_t  comm,
int  root,
const void *  sbuf,
nm_len_t  slen,
void *  rbuf,
nm_len_t  rlen,
nm_tag_t  tag 
)