Primitives to manipulate groups of processes.
More...
|
| struct | nm_coll_topology_s |
| | a description of hierarchy of processes; subgroup is empty when no topology is available and n_subgroups=0 More...
|
| |
| typedef struct nm_group_s * | nm_group_t |
| | type for groups
|
| |
| 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
|
| |
Primitives to manipulate groups of processes.
◆ nm_group_t
◆ nm_group_add_node()
◆ nm_group_compare()
◆ nm_group_difference()
◆ nm_group_dup()
◆ nm_group_excl()
◆ nm_group_free()
◆ nm_group_get_dest()
◆ nm_group_get_gate()
◆ nm_group_get_gates()
◆ nm_group_get_topology()
◆ nm_group_get_topology_groups()
◆ nm_group_get_uuid()
◆ nm_group_incl()
◆ nm_group_intersection()
◆ nm_group_new()
◆ nm_group_rank()
rank of self in the group; -1 if self is not member of the group
Referenced by nm_comm_rank().
◆ nm_group_size()
◆ nm_group_translate_ranks()
| int nm_group_translate_ranks |
( |
nm_group_t |
p_group1, |
|
|
int |
n, |
|
|
const int * |
p_ranks1, |
|
|
nm_group_t |
p_group2, |
|
|
int * |
p_ranks2 |
|
) |
| |
|
extern |
translate ranks from group1 to group2 numbering; n may be 0; ranks1 may contain -1; p_ranks1 may be the same as p_ranks2
◆ nm_group_union()
◆ nm_group_world()
get a new group containing all nodes