NewMadeleine

Documentation

« back to PM2 home.
#include <nm_public.h>
#include <nm_sendrecv_interface.h>
#include <Padico/Puk.h>
Include dependency graph for nm_group.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  nm_coll_topology_s
 a description of hierarchy of processes; subgroup is empty when no topology is available and n_subgroups=0 More...
 
struct  nm_coll_topology_groups_s
 groups-based form of topology More...
 

Functions

 PUK_VECT_TYPE (nm_coll_subgroup, int)
 
 PUK_VECT_TYPE (nm_coll_rank, int)
 
nm_group_t nm_group_new (void)
 create a new empty group
 
void nm_group_add_node (nm_group_t p_group, nm_gate_t p_gate)
 
int nm_group_size (nm_group_t group)
 
int nm_group_rank (nm_group_t group)
 rank of self in the group; -1 if self is not member of the group
 
nm_gate_t nm_group_get_gate (nm_group_t p_group, int rank)
 
nm_gate_t * nm_group_get_gates (nm_group_t p_group)
 
const struct nm_uuid_binary_s * nm_group_get_uuid (nm_group_t p_group)
 
int nm_group_get_dest (nm_group_t p_group, nm_gate_t p_gate)
 
const struct nm_coll_topology_s * nm_group_get_topology (nm_group_t p_group)
 
const struct nm_coll_topology_groups_s * nm_group_get_topology_groups (nm_group_t p_group, int root)
 
nm_group_t nm_group_world (void)
 get a new group containing all nodes
 
int nm_group_compare (nm_group_t group1, nm_group_t group2)
 
void nm_group_free (nm_group_t group)
 
nm_group_t nm_group_dup (nm_group_t group)
 
nm_group_t nm_group_incl (nm_group_t group, int n, const int ranks[])
 
nm_group_t nm_group_excl (nm_group_t group, int n, const int ranks[])
 
nm_group_t nm_group_union (nm_group_t group1, nm_group_t group2)
 
nm_group_t nm_group_intersection (nm_group_t group1, nm_group_t group2)
 
nm_group_t nm_group_difference (nm_group_t group1, nm_group_t group2)
 
int nm_group_translate_ranks (nm_group_t p_group1, int n, const int *p_ranks1, nm_group_t p_group2, int *p_ranks2)
 translate ranks from group1 to group2 numbering; n may be 0; ranks1 may contain -1; p_ranks1 may be the same as p_ranks2
 
#define NM_GROUP_NULL   ((nm_group_t)NULL)
 
#define NM_GROUP_IDENT   0x01
 
#define NM_GROUP_SIMILAR   0x02
 
#define NM_GROUP_UNEQUAL   0x04
 
typedef struct nm_group_s * nm_group_t
 type for groups
 

Macro Definition Documentation

◆ NM_GROUP_IDENT

#define NM_GROUP_IDENT   0x01

Definition at line 42 of file nm_group.h.

◆ NM_GROUP_NULL

#define NM_GROUP_NULL   ((nm_group_t)NULL)

Definition at line 40 of file nm_group.h.

◆ NM_GROUP_SIMILAR

#define NM_GROUP_SIMILAR   0x02

Definition at line 43 of file nm_group.h.

◆ NM_GROUP_UNEQUAL

#define NM_GROUP_UNEQUAL   0x04

Definition at line 44 of file nm_group.h.

Function Documentation

◆ PUK_VECT_TYPE() [1/2]

PUK_VECT_TYPE ( nm_coll_rank  ,
int   
)

◆ PUK_VECT_TYPE() [2/2]

PUK_VECT_TYPE ( nm_coll_subgroup  ,
int   
)