NewMadeleine

Documentation

Primitives to build communicators for collectives. More...

Collaboration diagram for Communicators:
typedef struct nm_comm_snm_comm_t
 NewMadeleine communicator opaque type. More...
 
nm_comm_t nm_comm_world (const char *label)
 create a new global communicator with given label More...
 
nm_comm_t nm_comm_self (const char *label)
 create a new communicator containing only self, with given label More...
 
nm_comm_t nm_comm_create (nm_comm_t comm, nm_group_t group)
 create a sub-communicator containing nodes in group- collective on parent communicator More...
 
nm_comm_t nm_comm_create_group (nm_session_t p_session, nm_group_t p_newcomm_group, nm_group_t p_bcast_group)
 create a new communicator, new communicator group is p_newcomm_group, collectively called from group p_bcast_group using session p_session More...
 
void nm_comm_destroy (nm_comm_t p_comm)
 destroy a communicator- no synchronization is done More...
 
nm_comm_t nm_comm_dup (nm_comm_t comm)
 get a duplicate of the given communicator- collective on parent communicator More...
 
static int nm_comm_size (nm_comm_t comm)
 get the number of nodes in the communicator More...
 
static int nm_comm_rank (nm_comm_t comm)
 get the rank of self in the given communicator More...
 
static nm_gate_t nm_comm_get_gate (nm_comm_t p_comm, int rank)
 get the gate for the given rank in communicator numbering More...
 
static nm_gate_t nm_comm_gate_self (nm_comm_t p_comm)
 get the gate for self in the given communicator More...
 
static int nm_comm_get_dest (nm_comm_t p_comm, nm_gate_t p_gate)
 get the rank for the given gate, in communicator numbering More...
 
static nm_session_t nm_comm_get_session (nm_comm_t p_comm)
 get the session attached to the communicator More...
 
static nm_group_t nm_comm_group (nm_comm_t comm)
 get the group of nodes in the communicator- real group, not a duplicate More...
 
nm_comm_t nm_comm_get_by_session (nm_session_t p_session)
 get the communicator from the session; may return NULL if no communicator is attached to this session
More...
 

Detailed Description

Primitives to build communicators for collectives.

Typedef Documentation

◆ nm_comm_t

typedef struct nm_comm_s* nm_comm_t

NewMadeleine communicator opaque type.

Definition at line 31 of file nm_comm.h.

Function Documentation

◆ nm_comm_create()

nm_comm_t nm_comm_create ( nm_comm_t  comm,
nm_group_t  group 
)

create a sub-communicator containing nodes in group- collective on parent communicator

◆ nm_comm_create_group()

nm_comm_t nm_comm_create_group ( nm_session_t  p_session,
nm_group_t  p_newcomm_group,
nm_group_t  p_bcast_group 
)

create a new communicator, new communicator group is p_newcomm_group, collectively called from group p_bcast_group using session p_session

◆ nm_comm_destroy()

void nm_comm_destroy ( nm_comm_t  p_comm)

destroy a communicator- no synchronization is done

Examples
nm_rpc_hello.c.

Referenced by nm_examples_exit(), and nm_sync_clocks_shutdown().

Here is the caller graph for this function:

◆ nm_comm_dup()

nm_comm_t nm_comm_dup ( nm_comm_t  comm)

get a duplicate of the given communicator- collective on parent communicator

Referenced by nm_sync_clocks_init().

Here is the caller graph for this function:

◆ nm_comm_gate_self()

static nm_gate_t nm_comm_gate_self ( nm_comm_t  p_comm)
static

get the gate for self in the given communicator

◆ nm_comm_get_by_session()

nm_comm_t nm_comm_get_by_session ( nm_session_t  p_session)

get the communicator from the session; may return NULL if no communicator is attached to this session

◆ nm_comm_get_dest()

static int nm_comm_get_dest ( nm_comm_t  p_comm,
nm_gate_t  p_gate 
)
static

get the rank for the given gate, in communicator numbering

◆ nm_comm_get_gate()

static nm_gate_t nm_comm_get_gate ( nm_comm_t  p_comm,
int  rank 
)
static

get the gate for the given rank in communicator numbering

◆ nm_comm_get_session()

static nm_session_t nm_comm_get_session ( nm_comm_t  p_comm)
static

get the session attached to the communicator

◆ nm_comm_group()

static nm_group_t nm_comm_group ( nm_comm_t  comm)
static

get the group of nodes in the communicator- real group, not a duplicate

◆ nm_comm_rank()

static int nm_comm_rank ( nm_comm_t  comm)
static

get the rank of self in the given communicator

◆ nm_comm_self()

nm_comm_t nm_comm_self ( const char *  label)

create a new communicator containing only self, with given label

◆ nm_comm_size()

static int nm_comm_size ( nm_comm_t  comm)
static

get the number of nodes in the communicator

◆ nm_comm_world()

nm_comm_t nm_comm_world ( const char *  label)

create a new global communicator with given label

Examples
nm_rpc_hello.c.

Referenced by nm_examples_init_topo().

Here is the caller graph for this function: