NewMadeleine

Documentation

« back to PM2 home.
nm_coll_inline.h
Go to the documentation of this file.
1/*
2 * NewMadeleine
3 * Copyright (C) 2014-2026 (see AUTHORS file)
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or (at
8 * your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
14 */
15
16
23
32
33
34/* ********************************************************* */
35
36static inline int nm_comm_size(nm_comm_t p_comm)
37{
39}
40
41static inline int nm_comm_rank(nm_comm_t p_comm)
42{
44}
45
47{
48 return nm_group_get_gate(p_comm->p_group, rank);
49}
50
55
60
65
67{
68 return p_comm->p_group;
69}
70
int nm_group_rank(nm_group_t group)
rank of self in the group; -1 if self is not member of the group
int nm_group_size(nm_group_t group)
const struct nm_coll_topology_s * nm_group_get_topology(nm_group_t p_group)
nm_gate_t nm_group_get_gate(nm_group_t p_group, int rank)
int nm_group_get_dest(nm_group_t p_group, nm_gate_t p_gate)
struct nm_group_s * nm_group_t
type for groups
Definition nm_group.h:38
static nm_gate_t nm_comm_gate_self(nm_comm_t p_comm)
static int nm_comm_rank(nm_comm_t p_comm)
static nm_gate_t nm_comm_get_gate(nm_comm_t p_comm, int rank)
static nm_group_t nm_comm_group(nm_comm_t p_comm)
static int nm_comm_size(nm_comm_t p_comm)
static nm_session_t nm_comm_get_session(nm_comm_t p_comm)
static const struct nm_coll_topology_s * nm_comm_get_topology(nm_comm_t p_comm)
static int nm_comm_get_dest(nm_comm_t p_comm, nm_gate_t p_gate)
static nm_comm_t p_comm
static nm_gate_t p_gate
uint64_t nm_tag_t
user tags, 64 bits, contained in indirect hashtable
Definition nm_types.h:56
a description of hierarchy of processes; both vects are empty when no topology is available
Definition nm_group.h:55
nm_session_t p_session
session for the communicator
nm_group_t p_group
group of nodes involved in the communicator
Connection to another process.
Definition nm_gate.h:104
struct nm_comm_s * p_local_comm
struct nm_comm_s * p_remote_comm
nm_comm_t p_overlay_comm
an overlay communicator spanning all nodes