GEOS
GeosxConfig.hpp
Go to the documentation of this file.
1 /*
2  * ------------------------------------------------------------------------------------------------------------
3  * SPDX-License-Identifier: LGPL-2.1-only
4  *
5  * Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
6  * Copyright (c) 2018-2024 TotalEnergies
7  * Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
8  * Copyright (c) 2023-2024 Chevron
9  * Copyright (c) 2019- GEOS/GEOSX Contributors
10  * All rights reserved
11  *
12  * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
13  * ------------------------------------------------------------------------------------------------------------
14  */
15 
23 #ifndef GEOS_COMMON_CONFIG_HPP
24 #define GEOS_COMMON_CONFIG_HPP
25 
27 #define GEOS_USE_FPE
28 
30 /* #undef GEOS_USE_BOUNDS_CHECK */
31 
33 #define GEOS_USE_CALIPER
34 
36 /* #undef GEOS_USE_ADIAK */
37 
39 #define GEOS_USE_CHAI
40 
42 #define GEOS_USE_MATHPRESSO
43 
45 #define GEOS_USE_MPI
46 
48 #define GEOS_USE_OPENMP
49 
51 /* #undef GEOS_USE_CUDA */
52 
54 /* #undef GEOS_USE_CUDA_NVTOOLSEXT */
55 
57 /* #undef GEOS_CUDA_STACK_SIZE */
58 
60 /* #undef GEOS_USE_HIP */
61 
63 /* #undef GEOS_USE_FMT_CONST_FORMATTER_WORKAROUND */
64 
66 /* #undef GEOS_USE_PYGEOSX */
67 
69 #define GEOS_USE_RAJA
70 
72 /* #undef GEOS_USE_TIMERS */
73 
75 /* #undef GEOS_USE_TOTALVIEW_OUTPUT */
76 
78 /* #undef GEOS_USE_MKL */
79 
81 #define GEOS_USE_TRILINOS
82 
84 #define GEOS_USE_HYPRE
85 
87 /* #undef GEOS_USE_HYPREDRV */
88 
90 #define GEOS_USE_HYPRE_CPU 0
92 #define GEOS_USE_HYPRE_CUDA 1
94 #define GEOS_USE_HYPRE_HIP 2
96 #define GEOS_USE_HYPRE_DEVICE GEOS_USE_HYPRE_CPU
97 
99 #define GEOS_USE_SUPERLU_DIST
100 
102 /* #undef GEOS_USE_PETSC */
103 
105 #define GEOS_USE_METIS
106 
108 #define GEOS_USE_PARMETIS
109 
111 #define GEOS_USE_SCOTCH
112 
114 #define GEOS_LA_INTERFACE Hypre
116 /* #undef GEOS_LA_INTERFACE_TRILINOS */
118 #define GEOS_LA_INTERFACE_HYPRE
120 /* #undef GEOS_LA_INTERFACE_PETSC */
121 
123 /* #undef FORTRAN_MANGLE_NO_UNDERSCORE */
124 
126 /* #undef GEOS_USE_SEPARATION_COEFFICIENT */
127 
129 #define GEOS_CMAKE_BUILD_TYPE "Release"
130 
132 #define GEOS_LOCALINDEX_TYPE int
133 
135 #define GEOS_LOCALINDEX_TYPE_FLAG 0
136 
138 #define GEOS_GLOBALINDEX_TYPE long long int
139 
141 #define GEOS_GLOBALINDEX_TYPE_FLAG 2
142 
144 #define GEOS_BLOCK_SIZE 32
145 
147 #define HDF5_VERSION 1.12.1
148 
150 #define Conduit_VERSION 0.9.5
151 
153 #define RAJA_VERSION 2025.12.0
154 
156 #define umpire_VERSION 2025.12.0
157 
159 #define chai_VERSION 2025.12.0
160 
162 #define adiak_VERSION ..
163 
165 #define caliper_VERSION ..
166 
168 #define metis_VERSION 5.1.0
169 
171 #define parmetis_VERSION 4.0.0
172 
174 /* #undef scotch_VERSION */
175 
177 #define superlu_dist_VERSION 6.3.0
178 
180 #define suitesparse_VERSION 5.7.9
181 
183 #define hypre_VERSION 3.1.0
184 
186 #define trilinos_VERSION 16.1.0
187 
189 /* #undef petsc_VERSION */
190 
192 #define VTK_VERSION 9.4.2
193 
195 /* #undef fmt_VERSION */
196 
198 #define Python3_VERSION 3.9.13
199 
201 /* #undef CUDAToolkit_VERSION */
202 
203 #if defined(GEOS_USE_CUDA) || defined(GEOS_USE_HIP)
204 // This needs to be placed into this header in order to appropriately replace
205 // the old usage of GEOS_USE_CUDA, since we detect whether it is defined
206 // rather than a value, not having it in the *same* header can cauase nebulous
207 // compilation problems including the USD of arrays changing depending the scope
208 #define GEOS_USE_DEVICE
209 #endif
210 
211 #endif /* GEOS_CONFIG_HPP */