MAIA
bb96820c
Multiphysics at AIA
Loading...
Searching...
No Matches
config.h
Go to the documentation of this file.
1
// Copyright (C) 2024 The m-AIA AUTHORS
2
//
3
// This file is part of m-AIA (https://git.rwth-aachen.de/aia/m-AIA/m-AIA)
4
//
5
// SPDX-License-Identifier: LGPL-3.0-only
6
7
#ifndef MAIA_CONFIG_H_
8
#define MAIA_CONFIG_H_
24
26
// #define IBM_BLUE_GENE
27
29
#define MAIA_SCRATCH_ALIGNMENT_BOUNDARY 64
30
33
36
38
#if(defined(MAIA_EXTRA_DEBUG) || !defined(NDEBUG)) && !defined(MAIA_ASSERTS)
39
#define MAIA_ASSERTS
40
#endif
41
43
#if defined(MAIA_EXTRA_DEBUG) && !defined(MAIA_ASSERT_ACCESSORS)
44
#define MAIA_ASSERT_ACCESSORS
45
#endif
46
48
//#define MAIA_ASSERT_ALLOC
49
51
#if defined(MAIA_EXTRA_DEBUG) && !defined(MAIA_ASSERT_ALLOC)
52
#define MAIA_ASSERT_ALLOC
53
#endif
54
56
//#define MAIA_DEBUG_ALLOC
57
59
#if !defined(NDEBUG) && !defined(MAIA_DEBUG_ALLOC)
60
#define MAIA_DEBUG_ALLOC
61
#endif
62
64
//#define MAIA_GRID_SANITY_CHECKS
65
67
#if !defined(NDEBUG) && !defined(MAIA_GRID_SANITY_CHECKS)
68
#define MAIA_GRID_SANITY_CHECKS
69
#endif
70
72
// #define MAIA_DEBUG_DLB_TIMER
73
75
// #define MAIA_PROFILING
76
78
// #define MAIA_DEBUG_FUNCTION
79
80
// \brief define to write massive parallel debug information to the m_log
81
//#define MP_DEBUG_LOG
82
83
// \brief define to enable use of access_properties file
84
//#define MAIA_WRITE_ACCESS_PROPERTIES_FILE
85
86
// \brief define to enable print out of properties; WARNING: will slow down the simulation
87
//#define MAIA_PRINT_PROPERTIES
88
90
#define MAIA_TIMER_FUNCTION
91
93
// #define MAIA_TIMER_DEBUG
94
96
//#define MAIA_ASSERT_TIMER_CHECKS
97
100
//#define MAIA_TIMER_CHECKS
101
#if(defined(MAIA_TIMER_DEBUG) || defined(MAIA_ASSERT_TIMER_CHECKS)) && !defined(MAIA_TIMER_CHECKS)
102
#define MAIA_TIMER_CHECKS
103
#endif
104
106
//#define MAIA_SYNCHRONIZE_TIMERS
107
109
#define MAIA_MPI_TIMER
110
113
118
120
#define MAIA_INFOOUT_PROJECT_NAME "n/a"
121
122
/* Choose the file type you want to use:
123
* 0: Use a single file that is used by all processors, and that is written to using MPI I/O
124
* 1: Use a physical file for each processor (as before, but with formatted output)
125
*
126
* This basically corresponds to the namespace MAIA_INFOOUT_FILETYPES in infoout.h
127
*/
128
#define MAIA_INFOOUT_FILE_TYPE 1
129
130
/* Set to 'true' if you want only the root domain (i.e. rank 0) to write to the log file,
131
* otherwise to 'false'. This has different
132
* meanings for the different file types:
133
* 0: While all processors CAN write to the file, only rank 0 will do so.
134
* 1: Only one file is created, and only rank 0 will write to it.
135
*/
136
#define MAIA_INFOOUT_ROOT_ONLY true
137
138
/* Set the minimum buffer size of the log file before output is written. Before
139
* your log messages reach this size (in bytes), nothing is written to the file
140
* (true for both file types). Especially for MPI files this can improve the
141
* performance dramatically. Please note that of course the internal buffer will
142
* be increased by at least this amount of bytes as well, resulting in a larger
143
* memory footprint.
144
*
145
* If you set this to zero, each message (i.e. after each "endl") the buffer is
146
* written to the file.
147
* A good starting value is 256 kB (256*1024 = 262144).
148
*/
149
#define MAIA_INFOOUT_MIN_FLUSH_SIZE 0
150
152
// The following options control optimizations that use compiler intrinsics
153
155
// #define USE_RESTRICT
156
158
// #define COMPILER_ATTRIBUTES
159
165
// #define USE_ALIGNMENT
166
168
170
// The following options enable/disable certain features from FV solver:
171
173
// #define DISABLE_FV_MG
174
176
// #define FV_FREE_SURFACE_BC
177
181
//#define FV_MARKER
182
185
#define MAIA_FV_LOG_ACCESS_TO_UNAVAILABLE_TIME_STEP
186
188
190
// The following options enable/disable certain features in the DG solver
191
192
// Set how to handle the exchange of MPI surface data
193
//
194
// You need to specify one method of how to facilitate the exchange of MPI
195
// surface data. If 'DG_USE_MPI_BUFFERS' is enabled, data that needs to be
196
// exchanged is explicitly copied to contiguous buffers in memory for each
197
// domain. If 'DG_USE_MPI_DERIVED_TYPES' is enabled, individual MPI derived
198
// datatypes are created for each domain, and the (optional) buffering is left
199
// to the MPI implementation.
200
// Rationale: This switch is left in here until one method has been proven to
201
// be superior. Afterwards, the inferior method should be removed.
202
// Note: If neither or both methods are enabled, the code will not compiler.
203
#define DG_USE_MPI_BUFFERS
204
// #define DG_USE_MPI_DERIVED_TYPES
205
206
// If enabled, the DG solver will use MPI_Waitsome to mix receiving and memory
207
// copying in finishMpiExchange(). Will not compile if DG_USE_MPI_DERIVED_TYPES
208
// is enabled.
209
// #define DG_USE_MPI_WAITSOME
211
213
// The following options control certain I/O aspects
214
219
#define MAIA_NCMPI_FILE_TYPE NC_64BIT_DATA
220
225
#define MAIA_NCMPI_FILL_VARIABLES false
226
228
// #define MAIA_NCMPI_PRINT_FILE_HINTS
229
231
#define MPI_IO_OPT
232
234
#define MPI_IO_PRINT_INFO
235
239
#if defined(_WIN64)
240
#define PARALLELIO_DEFAULT_BACKEND ParallelIoHdf5
241
#endif
242
#if !defined(PARALLELIO_DEFAULT_BACKEND)
243
#define PARALLELIO_DEFAULT_BACKEND ParallelIoPNetcdf
244
#endif
246
247
#endif
home
gitlab-runner
scratch
builds
oxpnswJ6
1
aia
m-AIA
m-AIA
src
config.h
Generated on Sun Jun 16 2024 23:43:58 for MAIA by
1.9.5