OPAL (Object Oriented Parallel Accelerator Library)
2022.1
OPAL
src
optimizer
Comm
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
26
namespace
Comm
{
27
28
typedef
size_t
id_t
;
29
typedef
size_t
localId_t
;
30
32
struct
Bundle_t
{
33
int
island_id
;
34
int
leader_pid
;
35
int
master_pid
;
36
int
master_local_pid
;
37
MPI_Comm
worker
;
38
MPI_Comm
opt
;
39
MPI_Comm
coworkers
;
40
MPI_Comm
world
;
41
};
42
}
43
44
#endif
Comm
Definition:
types.h:26
Comm::id_t
size_t id_t
Definition:
types.h:28
Comm::localId_t
size_t localId_t
Definition:
types.h:29
Comm::Bundle_t
bundles all communicators for a specific role/pid
Definition:
types.h:32
Comm::Bundle_t::world
MPI_Comm world
Definition:
types.h:40
Comm::Bundle_t::coworkers
MPI_Comm coworkers
Definition:
types.h:39
Comm::Bundle_t::worker
MPI_Comm worker
Definition:
types.h:37
Comm::Bundle_t::leader_pid
int leader_pid
Definition:
types.h:34
Comm::Bundle_t::island_id
int island_id
Definition:
types.h:33
Comm::Bundle_t::master_pid
int master_pid
Definition:
types.h:35
Comm::Bundle_t::opt
MPI_Comm opt
Definition:
types.h:38
Comm::Bundle_t::master_local_pid
int master_local_pid
Definition:
types.h:36
Generated on Thu Oct 20 2022 17:40:08 for OPAL (Object Oriented Parallel Accelerator Library) by
1.9.3