OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
types.h
Go to the documentation of this file.
1//
2// Types in namespace Comm
3//
4// Copyright (c) 2010 - 2013, Yves Ineichen, ETH Zürich
5// All rights reserved
6//
7// Implemented as part of the PhD thesis
8// "Toward massively parallel multi-objective optimization with application to
9// particle accelerators" (https://doi.org/10.3929/ethz-a-009792359)
10//
11// This file is part of OPAL.
12//
13// OPAL is free software: you can redistribute it and/or modify
14// it under the terms of the GNU General Public License as published by
15// the Free Software Foundation, either version 3 of the License, or
16// (at your option) any later version.
17//
18// You should have received a copy of the GNU General Public License
19// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
20//
21#ifndef __COMM_TYPES__
22#define __COMM_TYPES__
23
24#include "mpi.h"
25
26namespace Comm {
27
28 typedef size_t id_t;
29 typedef size_t localId_t;
30
32 struct Bundle_t {
37 MPI_Comm worker;
38 MPI_Comm opt;
39 MPI_Comm coworkers;
40 MPI_Comm world;
41 };
42}
43
44#endif
Definition: types.h:26
size_t id_t
Definition: types.h:28
size_t localId_t
Definition: types.h:29
bundles all communicators for a specific role/pid
Definition: types.h:32
MPI_Comm world
Definition: types.h:40
MPI_Comm coworkers
Definition: types.h:39
MPI_Comm worker
Definition: types.h:37
int leader_pid
Definition: types.h:34
int island_id
Definition: types.h:33
int master_pid
Definition: types.h:35
MPI_Comm opt
Definition: types.h:38
int master_local_pid
Definition: types.h:36