NewMadeleine

Documentation

« back to PM2 home.
nm_launcher_interface.h
Go to the documentation of this file.
1/*
2 * NewMadeleine
3 * Copyright (C) 2006-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#ifndef NM_LAUNCHER_INTERFACE_H
17#define NM_LAUNCHER_INTERFACE_H
18
23#include <nm_public.h>
25
35PUK_VECT_TYPE(nm_launcher_rank, int);
36
37PUK_VECT_TYPE(nm_launcher_subgroup, int);
38
40static inline int nm_launcher_init(int*argc, char**argv);
41
44
47
50
53
56
63int nm_launcher_get_topology(struct nm_launcher_rank_vect_s*p_ranks,
64 struct nm_launcher_subgroup_vect_s*p_subgroups, int*n_subgroups);
65
67void nm_launcher_abort(int rc);
68
72int nm_launcher_init_nocheck(int*argc, char**argv);
73
74static inline int nm_launcher_init(int*argc, char**argv)
75{
77 return nm_launcher_init_nocheck(argc, argv);
78}
79
82{
83 int rank;
87 return p_gate;
88}
89
92
96
97
98#endif /* NM_LAUNCHER_INTERFACE_H */
int nm_launcher_get_rank(int *rank)
Returns process rank.
int nm_launcher_get_topology(struct nm_launcher_rank_vect_s *p_ranks, struct nm_launcher_subgroup_vect_s *p_subgroups, int *n_subgroups)
Returns topology.
int nm_launcher_get_size(int *size)
Returns the number of nodes.
PUK_VECT_TYPE(nm_launcher_rank, int)
void nm_launcher_abort(int rc)
Abort all processes.
int nm_launcher_exit(void)
Cleans session.
int nm_launcher_get_gate(int dest, nm_gate_t *gate)
Returns the gate for the process dest.
static int nm_launcher_init(int *argc, char **argv)
Initializes nmad.
int nm_launcher_get_dest(nm_gate_t p_gate, int *dest)
Returns the dest rank for the given gate.
static void nm_abi_config_check(void)
Check consistency of ABI config between nmad and application.
Definition nm_public.h:188
static nm_gate_t p_gate
void nm_launcher_print_drivers_strategy(nm_core_t p_core)
print on stderr loaded drivers and the selected strategy
int nm_launcher_homogeneous_network(void)
Checks whether the networks are homogeneous across all nodes.
int nm_launcher_init_nocheck(int *argc, char **argv)
static nm_gate_t nm_launcher_self_gate(void)
shortcut to get the gate to self
nm_gate_t gate
gate of the destination or the source node
nm_len_t size
size of the onsided data (not incuding target-side completion)
This is the common public header for NewMad.
Core NewMadeleine structure.
Definition nm_core.h:43
Connection to another process.
Definition nm_gate.h:104