OpenMPI 0.1.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

constants.h
1 // -*- c++ -*-
2 //
3 // Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
4 // University Research and Technology
5 // Corporation. All rights reserved.
6 // Copyright (c) 2004-2005 The University of Tennessee and The University
7 // of Tennessee Research Foundation. All rights
8 // reserved.
9 // Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
10 // University of Stuttgart. All rights reserved.
11 // Copyright (c) 2004-2005 The Regents of the University of California.
12 // All rights reserved.
13 // Copyright (c) 2008-2009 Cisco Systems, Inc. All rights reserved.
14 // Copyright (c) 2011 FUJITSU LIMITED. All rights reserved.
15 // $COPYRIGHT$
16 //
17 // Additional copyrights may follow
18 //
19 // $HEADER$
20 //
21
22 // return codes
23 static const int SUCCESS = MPI_SUCCESS;
24 static const int ERR_BUFFER = MPI_ERR_BUFFER;
25 static const int ERR_COUNT = MPI_ERR_COUNT;
26 static const int ERR_TYPE = MPI_ERR_TYPE;
27 static const int ERR_TAG = MPI_ERR_TAG ;
28 static const int ERR_COMM = MPI_ERR_COMM;
29 static const int ERR_RANK = MPI_ERR_RANK;
30 static const int ERR_REQUEST = MPI_ERR_REQUEST;
31 static const int ERR_ROOT = MPI_ERR_ROOT;
32 static const int ERR_GROUP = MPI_ERR_GROUP;
33 static const int ERR_OP = MPI_ERR_OP;
34 static const int ERR_TOPOLOGY = MPI_ERR_TOPOLOGY;
35 static const int ERR_DIMS = MPI_ERR_DIMS;
36 static const int ERR_ARG = MPI_ERR_ARG;
37 static const int ERR_UNKNOWN = MPI_ERR_UNKNOWN;
38 static const int ERR_TRUNCATE = MPI_ERR_TRUNCATE;
39 static const int ERR_OTHER = MPI_ERR_OTHER;
40 static const int ERR_INTERN = MPI_ERR_INTERN;
41 static const int ERR_PENDING = MPI_ERR_PENDING;
42 static const int ERR_IN_STATUS = MPI_ERR_IN_STATUS;
43 static const int ERR_ACCESS = MPI_ERR_ACCESS;
44 static const int ERR_AMODE = MPI_ERR_AMODE;
45 static const int ERR_ASSERT = MPI_ERR_ASSERT;
46 static const int ERR_BAD_FILE = MPI_ERR_BAD_FILE;
47 static const int ERR_BASE = MPI_ERR_BASE;
48 static const int ERR_CONVERSION = MPI_ERR_CONVERSION;
49 static const int ERR_DISP = MPI_ERR_DISP;
50 static const int ERR_DUP_DATAREP = MPI_ERR_DUP_DATAREP;
51 static const int ERR_FILE_EXISTS = MPI_ERR_FILE_EXISTS;
52 static const int ERR_FILE_IN_USE = MPI_ERR_FILE_IN_USE;
53 static const int ERR_FILE = MPI_ERR_FILE;
54 static const int ERR_INFO_KEY = MPI_ERR_INFO_KEY;;
55 static const int ERR_INFO_NOKEY = MPI_ERR_INFO_NOKEY;
56 static const int ERR_INFO_VALUE = MPI_ERR_INFO_VALUE;
57 static const int ERR_INFO = MPI_ERR_INFO;
58 static const int ERR_IO = MPI_ERR_IO;
59 static const int ERR_KEYVAL = MPI_ERR_KEYVAL;
60 static const int ERR_LOCKTYPE = MPI_ERR_LOCKTYPE;
61 static const int ERR_NAME = MPI_ERR_NAME;
62 static const int ERR_NO_MEM = MPI_ERR_NO_MEM;
63 static const int ERR_NOT_SAME = MPI_ERR_NOT_SAME;
64 static const int ERR_NO_SPACE = MPI_ERR_NO_SPACE;
65 static const int ERR_NO_SUCH_FILE = MPI_ERR_NO_SUCH_FILE;
66 static const int ERR_PORT = MPI_ERR_PORT;
67 static const int ERR_QUOTA = MPI_ERR_QUOTA;
68 static const int ERR_READ_ONLY = MPI_ERR_READ_ONLY;
69 static const int ERR_RMA_CONFLICT = MPI_ERR_RMA_CONFLICT;
70 static const int ERR_RMA_SYNC = MPI_ERR_RMA_SYNC;
71 static const int ERR_SERVICE = MPI_ERR_SERVICE;
72 static const int ERR_SIZE = MPI_ERR_SIZE;
73 static const int ERR_SPAWN = MPI_ERR_SPAWN;
74 static const int ERR_UNSUPPORTED_DATAREP = MPI_ERR_UNSUPPORTED_DATAREP;
75 static const int ERR_UNSUPPORTED_OPERATION = MPI_ERR_UNSUPPORTED_OPERATION;
76 static const int ERR_WIN = MPI_ERR_WIN;
77 static const int ERR_LASTCODE = MPI_ERR_LASTCODE;
78
79 // assorted constants
80 OMPI_DECLSPEC extern void* const BOTTOM;
81 OMPI_DECLSPEC extern void* const IN_PLACE;
82 static const int PROC_NULL = MPI_PROC_NULL;
83 static const int ANY_SOURCE = MPI_ANY_SOURCE;
84 static const int ROOT = MPI_ROOT;
85 static const int ANY_TAG = MPI_ANY_TAG;
86 static const int UNDEFINED = MPI_UNDEFINED;
87 static const int BSEND_OVERHEAD = MPI_BSEND_OVERHEAD;
88 static const int KEYVAL_INVALID = MPI_KEYVAL_INVALID;
89 static const int ORDER_C = MPI_ORDER_C;
90 static const int ORDER_FORTRAN = MPI_ORDER_FORTRAN;
91 static const int DISTRIBUTE_BLOCK = MPI_DISTRIBUTE_BLOCK;
92 static const int DISTRIBUTE_CYCLIC = MPI_DISTRIBUTE_CYCLIC;
93 static const int DISTRIBUTE_NONE = MPI_DISTRIBUTE_NONE;
94 static const int DISTRIBUTE_DFLT_DARG = MPI_DISTRIBUTE_DFLT_DARG;
95
96 // error-handling specifiers
97 OMPI_DECLSPEC extern const Errhandler ERRORS_ARE_FATAL;
98 OMPI_DECLSPEC extern const Errhandler ERRORS_RETURN;
99 OMPI_DECLSPEC extern const Errhandler ERRORS_THROW_EXCEPTIONS;
100
101 // typeclass definitions for MPI_Type_match_size
102 static const int TYPECLASS_INTEGER = MPI_TYPECLASS_INTEGER;
103 static const int TYPECLASS_REAL = MPI_TYPECLASS_REAL;
104 static const int TYPECLASS_COMPLEX = MPI_TYPECLASS_COMPLEX;
105
106 // maximum sizes for strings
107 static const int MAX_PROCESSOR_NAME = MPI_MAX_PROCESSOR_NAME;
108 static const int MAX_ERROR_STRING = MPI_MAX_ERROR_STRING;
109 static const int MAX_INFO_KEY = MPI_MAX_INFO_KEY;
110 static const int MAX_INFO_VAL = MPI_MAX_INFO_VAL;
111 static const int MAX_PORT_NAME = MPI_MAX_PORT_NAME;
112 static const int MAX_OBJECT_NAME = MPI_MAX_OBJECT_NAME;
113
114 // elementary datatypes (C / C++)
115 OMPI_DECLSPEC extern const Datatype CHAR;
116 OMPI_DECLSPEC extern const Datatype SHORT;
117 OMPI_DECLSPEC extern const Datatype INT;
118 OMPI_DECLSPEC extern const Datatype LONG;
119 OMPI_DECLSPEC extern const Datatype SIGNED_CHAR;
120 OMPI_DECLSPEC extern const Datatype UNSIGNED_CHAR;
121 OMPI_DECLSPEC extern const Datatype UNSIGNED_SHORT;
122 OMPI_DECLSPEC extern const Datatype UNSIGNED;
123 OMPI_DECLSPEC extern const Datatype UNSIGNED_LONG;
124 OMPI_DECLSPEC extern const Datatype FLOAT;
125 OMPI_DECLSPEC extern const Datatype DOUBLE;
126 OMPI_DECLSPEC extern const Datatype LONG_DOUBLE;
127 OMPI_DECLSPEC extern const Datatype BYTE;
128 OMPI_DECLSPEC extern const Datatype PACKED;
129 OMPI_DECLSPEC extern const Datatype WCHAR;
130
131 // datatypes for reductions functions (C / C++)
132 OMPI_DECLSPEC extern const Datatype FLOAT_INT;
133 OMPI_DECLSPEC extern const Datatype DOUBLE_INT;
134 OMPI_DECLSPEC extern const Datatype LONG_INT;
135 OMPI_DECLSPEC extern const Datatype TWOINT;
136 OMPI_DECLSPEC extern const Datatype SHORT_INT;
137 OMPI_DECLSPEC extern const Datatype LONG_DOUBLE_INT;
138
139 // elementary datatype (Fortran)
140 OMPI_DECLSPEC extern const Datatype INTEGER;
141 OMPI_DECLSPEC extern const Datatype REAL;
142 OMPI_DECLSPEC extern const Datatype DOUBLE_PRECISION;
143 OMPI_DECLSPEC extern const Datatype F_COMPLEX;
144 OMPI_DECLSPEC extern const Datatype LOGICAL;
145 OMPI_DECLSPEC extern const Datatype CHARACTER;
146
147 // datatype for reduction functions (Fortran)
148 OMPI_DECLSPEC extern const Datatype TWOREAL;
149 OMPI_DECLSPEC extern const Datatype TWODOUBLE_PRECISION;
150 OMPI_DECLSPEC extern const Datatype TWOINTEGER;
151
152 // optional datatypes (Fortran)
153 OMPI_DECLSPEC extern const Datatype INTEGER1;
154 OMPI_DECLSPEC extern const Datatype INTEGER2;
155 OMPI_DECLSPEC extern const Datatype INTEGER4;
156 OMPI_DECLSPEC extern const Datatype REAL2;
157 OMPI_DECLSPEC extern const Datatype REAL4;
158 OMPI_DECLSPEC extern const Datatype REAL8;
159
160 // optional datatype (C / C++)
161 OMPI_DECLSPEC extern const Datatype LONG_LONG;
162 OMPI_DECLSPEC extern const Datatype LONG_LONG_INT;
163 OMPI_DECLSPEC extern const Datatype UNSIGNED_LONG_LONG;
164
165 // c++ types
166 OMPI_DECLSPEC extern const Datatype BOOL;
167 OMPI_DECLSPEC extern const Datatype COMPLEX;
168 OMPI_DECLSPEC extern const Datatype DOUBLE_COMPLEX;
169 OMPI_DECLSPEC extern const Datatype F_DOUBLE_COMPLEX;
170 OMPI_DECLSPEC extern const Datatype LONG_DOUBLE_COMPLEX;
171
172 // special datatypes for contstruction of derived datatypes
173 OMPI_DECLSPEC extern const Datatype UB;
174 OMPI_DECLSPEC extern const Datatype LB;
175
176 // datatype decoding constants
177 static const int COMBINER_NAMED = MPI_COMBINER_NAMED;
178 static const int COMBINER_DUP = MPI_COMBINER_DUP;
179 static const int COMBINER_CONTIGUOUS = MPI_COMBINER_CONTIGUOUS;
180 static const int COMBINER_VECTOR = MPI_COMBINER_VECTOR;
181 static const int COMBINER_HVECTOR_INTEGER = MPI_COMBINER_HVECTOR_INTEGER;
182 static const int COMBINER_HVECTOR = MPI_COMBINER_HVECTOR;
183 static const int COMBINER_INDEXED = MPI_COMBINER_INDEXED;
184 static const int COMBINER_HINDEXED_INTEGER = MPI_COMBINER_HINDEXED_INTEGER;
185 static const int COMBINER_HINDEXED = MPI_COMBINER_HINDEXED;
186 static const int COMBINER_INDEXED_BLOCK = MPI_COMBINER_INDEXED_BLOCK;
187 static const int COMBINER_STRUCT_INTEGER = MPI_COMBINER_STRUCT_INTEGER;
188 static const int COMBINER_STRUCT = MPI_COMBINER_STRUCT;
189 static const int COMBINER_SUBARRAY = MPI_COMBINER_SUBARRAY;
190 static const int COMBINER_DARRAY = MPI_COMBINER_DARRAY;
191 static const int COMBINER_F90_REAL = MPI_COMBINER_F90_REAL;
192 static const int COMBINER_F90_COMPLEX = MPI_COMBINER_F90_COMPLEX;
193 static const int COMBINER_F90_INTEGER = MPI_COMBINER_F90_INTEGER;
194 static const int COMBINER_RESIZED = MPI_COMBINER_RESIZED;
195
196 // thread constants
197 static const int THREAD_SINGLE = MPI_THREAD_SINGLE;
198 static const int THREAD_FUNNELED = MPI_THREAD_FUNNELED;
199 static const int THREAD_SERIALIZED = MPI_THREAD_SERIALIZED;
200 static const int THREAD_MULTIPLE = MPI_THREAD_MULTIPLE;
201
202 // reserved communicators
203 // JGS these can not be const because Set_errhandler is not const
204 OMPI_DECLSPEC extern Intracomm COMM_WORLD;
205 OMPI_DECLSPEC extern Intracomm COMM_SELF;
206
207 // results of communicator and group comparisons
208 static const int IDENT = MPI_IDENT;
209 static const int CONGRUENT = MPI_CONGRUENT;
210 static const int SIMILAR = MPI_SIMILAR;
211 static const int UNEQUAL = MPI_UNEQUAL;
212
213 // environmental inquiry keys
214 static const int TAG_UB = MPI_TAG_UB;
215 static const int HOST = MPI_HOST;
216 static const int IO = MPI_IO;
217 static const int WTIME_IS_GLOBAL = MPI_WTIME_IS_GLOBAL;
218 static const int APPNUM = MPI_APPNUM;
219 static const int LASTUSEDCODE = MPI_LASTUSEDCODE;
220 static const int UNIVERSE_SIZE = MPI_UNIVERSE_SIZE;
221 static const int WIN_BASE = MPI_WIN_BASE;
222 static const int WIN_SIZE = MPI_WIN_SIZE;
223 static const int WIN_DISP_UNIT = MPI_WIN_DISP_UNIT;
224
225 // collective operations
226 OMPI_DECLSPEC extern const Op MAX;
227 OMPI_DECLSPEC extern const Op MIN;
228 OMPI_DECLSPEC extern const Op SUM;
229 OMPI_DECLSPEC extern const Op PROD;
230 OMPI_DECLSPEC extern const Op MAXLOC;
231 OMPI_DECLSPEC extern const Op MINLOC;
232 OMPI_DECLSPEC extern const Op BAND;
233 OMPI_DECLSPEC extern const Op BOR;
234 OMPI_DECLSPEC extern const Op BXOR;
235 OMPI_DECLSPEC extern const Op LAND;
236 OMPI_DECLSPEC extern const Op LOR;
237 OMPI_DECLSPEC extern const Op LXOR;
238 OMPI_DECLSPEC extern const Op REPLACE;
239
240 // null handles
241 OMPI_DECLSPEC extern const Group GROUP_NULL;
242 OMPI_DECLSPEC extern const Win WIN_NULL;
243 OMPI_DECLSPEC extern const Info INFO_NULL;
244 OMPI_DECLSPEC extern Comm_Null COMM_NULL;
245 OMPI_DECLSPEC extern const Datatype DATATYPE_NULL;
246 OMPI_DECLSPEC extern Request REQUEST_NULL;
247 OMPI_DECLSPEC extern const Op OP_NULL;
248 OMPI_DECLSPEC extern const Errhandler ERRHANDLER_NULL;
249 #if OMPI_PROVIDE_MPI_FILE_INTERFACE
250 OMPI_DECLSPEC extern const File FILE_NULL;
251 #endif
252
253 // constants specifying empty or ignored input
254 OMPI_DECLSPEC extern const char** ARGV_NULL;
255 OMPI_DECLSPEC extern const char*** ARGVS_NULL;
256
257 // empty group
258 OMPI_DECLSPEC extern const Group GROUP_EMPTY;
259
260 // topologies
261 static const int GRAPH = MPI_GRAPH;
262 static const int CART = MPI_CART;
263
264 #if OMPI_PROVIDE_MPI_FILE_INTERFACE
265 // MPI-2 IO
266 static const int MODE_CREATE = MPI_MODE_CREATE;
267 static const int MODE_RDONLY = MPI_MODE_RDONLY;
268 static const int MODE_WRONLY = MPI_MODE_WRONLY;
269 static const int MODE_RDWR = MPI_MODE_RDWR;
270 static const int MODE_DELETE_ON_CLOSE = MPI_MODE_DELETE_ON_CLOSE;
271 static const int MODE_UNIQUE_OPEN = MPI_MODE_UNIQUE_OPEN;
272 static const int MODE_EXCL = MPI_MODE_EXCL;
273 static const int MODE_APPEND = MPI_MODE_APPEND;
274 static const int MODE_SEQUENTIAL = MPI_MODE_SEQUENTIAL;
275
276 static const int DISPLACEMENT_CURRENT = MPI_DISPLACEMENT_CURRENT;
277
278 #if !defined(OMPI_IGNORE_CXX_SEEK) && OMPI_WANT_MPI_CXX_SEEK
279 static const int SEEK_SET = ::SEEK_SET;
280 static const int SEEK_CUR = ::SEEK_CUR;
281 static const int SEEK_END = ::SEEK_END;
282 #endif
283
284 static const int MAX_DATAREP_STRING = MPI_MAX_DATAREP_STRING;
285 #endif
286
287 // one-sided constants
288 static const int MODE_NOCHECK = MPI_MODE_NOCHECK;
289 static const int MODE_NOPRECEDE = MPI_MODE_NOPRECEDE;
290 static const int MODE_NOPUT = MPI_MODE_NOPUT;
291 static const int MODE_NOSTORE = MPI_MODE_NOSTORE;
292 static const int MODE_NOSUCCEED = MPI_MODE_NOSUCCEED;
293
294 static const int LOCK_EXCLUSIVE = MPI_LOCK_EXCLUSIVE;
295 static const int LOCK_SHARED = MPI_LOCK_SHARED;
Datatype
Definition: datatype.h:24
Errhandler
Definition: errhandler.h:21
Win
Definition: win.h:23
Op
Definition: op.h:21
Comm_Null
Definition: comm.h:22
Request
Definition: request.h:22
Group
Definition: group.h:21
Info
Definition: info.h:22
Intracomm
Definition: intracomm.h:21