@@ -22,24 +22,24 @@ their defaults.
2222RAJA Option Types
2323=============================
2424
25- RAJA contains two types of options, those that exist in
26- RAJA only and those that are similar to standard CMake options or options
27- provided by BLT; i.e., *dependent options * in CMake terminology. RAJA
28- dependent option names are the same as the associated CMake and BLT option
25+ RAJA contains two types of options, those that exist in
26+ RAJA only and those that are similar to standard CMake options or options
27+ provided by BLT; i.e., *dependent options * in CMake terminology. RAJA
28+ dependent option names are the same as the associated CMake and BLT option
2929names, but with the ``RAJA_ `` prefix added.
3030
3131.. note :: RAJA uses a mix of RAJA-only options and CMake-dependent
32- options that can be controlled with CMake or BLT variants.
32+ options that can be controlled with CMake or BLT variants.
3333
3434 * Dependent options are typically used for *disabling * features.
3535 For example, when the CMake option ``-DENABLE_TESTS=On `` is
3636 used to enable tests in the build of an application that includes
37- multiple CMake-based package builds, providing the CMake option
38- ``-DRAJA_ENABLE_TESTS=Off `` will disable compilation of RAJA
37+ multiple CMake-based package builds, providing the CMake option
38+ ``-DRAJA_ENABLE_TESTS=Off `` will disable compilation of RAJA
3939 tests, while compiling them for other packages.
4040
4141 * We recommend using the option names without the ``RAJA_ `` prefix,
42- when available, to enable features at compile time to avoid
42+ when available, to enable features at compile time to avoid
4343 potential undesired behavior. For example, passing the option
4444 ``-DRAJA_ENABLE_CUDA=On `` to CMake will not enable CUDA because
4545 ``ENABLE_CUDA `` is off by default. So to enable CUDA, you need
@@ -50,9 +50,9 @@ Setting Options
5050=======================
5151
5252The RAJA configuration can be set using standard CMake variables along with
53- BLT and RAJA-specific variables. For example, to make a release build with
53+ BLT and RAJA-specific variables. For example, to make a release build with
5454some system default GNU compiler and then install the RAJA header files and
55- libraries in a specific directory location, you could do the following in
55+ libraries in a specific directory location, you could do the following in
5656the top-level RAJA directory::
5757
5858 $ mkdir build-gnu-release
@@ -65,34 +65,34 @@ the top-level RAJA directory::
6565 $ make
6666 $ make install
6767
68- Following CMake conventions, RAJA supports three build types: ``Release ``,
68+ Following CMake conventions, RAJA supports three build types: ``Release ``,
6969``RelWithDebInfo ``, and ``Debug ``. With CMake, compiler flags for each of
70- these build types are applied automatically and so you do not have to
70+ these build types are applied automatically and so you do not have to
7171specify them. However, if you want to apply other compiler flags, you will
7272need to do that using appropriate CMake variables.
7373
74- All RAJA options are set like regular CMake variables. RAJA settings for
75- default options, compilers, flags for optimization, etc. can be found in files
76- in the ``RAJA/cmake `` directory and top-level ``CMakeLists.txt `` file.
77- Configuration variables can be set by passing arguments to CMake on the
78- command line when calling CMake. For example, to enable RAJA OpenMP
74+ All RAJA options are set like regular CMake variables. RAJA settings for
75+ default options, compilers, flags for optimization, etc. can be found in files
76+ in the ``RAJA/cmake `` directory and top-level ``CMakeLists.txt `` file.
77+ Configuration variables can be set by passing arguments to CMake on the
78+ command line when calling CMake. For example, to enable RAJA OpenMP
7979functionality, pass the following argument to CMake::
8080
8181 cmake ... \
8282 -DENABLE_OPENMP=On \
8383 ...
8484
85- Alternatively, CMake options may be set in a CMake *cache file * and passing
85+ Alternatively, CMake options may be set in a CMake *cache file * and passing
8686that file to CMake using the CMake ``-C `` option; for example::
8787
8888 cmake ... \
8989 -C my_cache_file.cmake \
9090 ...
9191
9292The directories ``RAJA/scripts/*-builds `` contain scripts that run CMake for
93- various build configurations. These contain cmake invocations that use CMake
94- cache files (we call them *host-config * files) and may be used as a guide for
95- users trying to set their own options.
93+ various build configurations. These contain cmake invocations that use CMake
94+ cache files (we call them *host-config * files) and may be used as a guide for
95+ users trying to set their own options.
9696
9797Next, we summarize RAJA CMake options and their defaults.
9898
@@ -103,37 +103,37 @@ Next, we summarize RAJA CMake options and their defaults.
103103Available RAJA CMake Options and Defaults
104104==========================================
105105
106- RAJA uses a variety of custom variables to control how it is compiled. Many
107- of these are used internally to control RAJA compilation and do
108- not need to be set by users. Others can be used to enable or disable certain
109- RAJA features. Most variables get translated to
110- compiler directives and definitions in the RAJA ``config.hpp `` file that is
111- generated when CMake runs. The ``config.hpp `` header file is included in other
112- RAJA headers so all options propagate consistently through the
113- build process for all of the code.
106+ RAJA uses a variety of custom variables to control how it is compiled. Many
107+ of these are used internally to control RAJA compilation and do
108+ not need to be set by users. Others can be used to enable or disable certain
109+ RAJA features. Most variables get translated to
110+ compiler directives and definitions in the RAJA ``config.hpp `` file that is
111+ generated when CMake runs. The ``config.hpp `` header file is included in other
112+ RAJA headers so all options propagate consistently through the
113+ build process for all of the code.
114114
115- The following tables describe which variables set RAJA options and
116- and their default settings.
115+ The following tables describe which variables set RAJA options and
116+ and their default settings.
117117
118- .. note :: Items marked with a double asterisk (**) indicate variables that
118+ .. note :: Items marked with a double asterisk (**) indicate variables that
119119 are supported directly in BLT/CMake and are also supported in RAJA as
120120 CMake dependent options, for finer-grained configuration control.
121121 The RAJA CMake dependent variable form adds the prefix ``RAJA_ ``.
122122
123123Examples, tests, warnings, etc.
124124--------------------------------
125125
126- CMake variables can be used to control whether RAJA tests, examples,
126+ CMake variables can be used to control whether RAJA tests, examples,
127127tutorial exercises, etc. are built when RAJA is compiled.
128128
129129 ========================= =========================================
130130 Variable Default
131131 ========================= =========================================
132- **ENABLE_TESTS On
133- **ENABLE_EXAMPLES On
134- RAJA_ENABLE_EXERCISES On
132+ **ENABLE_TESTS On
133+ **ENABLE_EXAMPLES On
134+ RAJA_ENABLE_EXERCISES On
135135 **ENABLE_BENCHMARKS Off
136- RAJA_ENABLE_REPRODUCERS Off
136+ RAJA_ENABLE_REPRODUCERS Off
137137 **ENABLE_COVERAGE Off (supported for GNU compilers only)
138138 ========================= =========================================
139139
@@ -144,10 +144,10 @@ Other configuration options are available to specialize how RAJA is compiled:
144144 ================================== =========================
145145 RAJA_ENABLE_WARNINGS_AS_ERRORS Off
146146 RAJA_ENABLE_FORCEINLINE_RECURSIVE On (Intel compilers only)
147- RAJA_ALLOW_INCONSISTENT_OPTIONS Off
147+ RAJA_ALLOW_INCONSISTENT_OPTIONS Off
148148 ================================== =========================
149149
150- RAJA Views/Layouts may be configured to check for out of bounds
150+ RAJA Views/Layouts may be configured to check for out of bounds
151151indexing at run time:
152152
153153 ========================= ======================
@@ -156,11 +156,11 @@ indexing at run time:
156156 RAJA_ENABLE_BOUNDS_CHECK Off
157157 ========================= ======================
158158
159- .. note :: RAJA bounds checking is a run time check and will add considerable
160- execution time overhead. Thus, this feature should only be used for
161- debugging and correctness checking and should be disabled for
159+ .. note :: RAJA bounds checking is a run time check and will add considerable
160+ execution time overhead. Thus, this feature should only be used for
161+ debugging and correctness checking and should be disabled for
162162 production builds.
163-
163+
164164RAJA Features
165165-------------------
166166
@@ -177,7 +177,7 @@ Some RAJA features are enabled by RAJA-specific CMake variables.
177177 RAJA_ENABLE_VECTORIZATION Enable SIMD/SIMT intrinsics support.
178178 Default is on.
179179 =========================== =======================================
180-
180+
181181Programming model back-end support
182182-------------------------------------
183183
@@ -199,20 +199,20 @@ Other programming model specific compilation options are also available:
199199 ====================================== =================================
200200 Variable Default
201201 ====================================== =================================
202- **ENABLE_CLANG_CUDA Off (if on, ENABLE_CUDA
202+ **ENABLE_CLANG_CUDA Off (if on, ENABLE_CUDA
203203 must be on too!)
204204 RAJA_ENABLE_EXTERNAL_CUB Off
205205 RAJA_ENABLE_NVTX Off
206206 RAJA_ENABLE_EXTERNAL_ROCPRIM Off
207207 RAJA_ENABLE_ROCTX Off
208208 ====================================== =================================
209209
210- Turning the ``(RAJA_)ENABLE_CLANG_CUDA `` variable on will build CUDA
210+ Turning the ``(RAJA_)ENABLE_CLANG_CUDA `` variable on will build CUDA
211211code with the native support in the Clang compiler.
212212
213213.. note :: See :ref:`getting_started-label` for more information about
214- using the ``RAJA_ENABLE_EXTERNAL_CUB `` and
215- ``RAJA_ENABLE_EXTERNAL_ROCPRIM `` variables, as well other
214+ using the ``RAJA_ENABLE_EXTERNAL_CUB `` and
215+ ``RAJA_ENABLE_EXTERNAL_ROCPRIM `` variables, as well other
216216 RAJA back-ends.
217217
218218Timer Options
@@ -222,7 +222,7 @@ RAJA provides a simple portable timer class that is used in RAJA
222222example codes to determine execution timing and can be used in other apps
223223as well. This timer can use any of three internal timers depending on
224224your preferences, and one should be selected by setting the 'RAJA_TIMER'
225- variable.
225+ variable.
226226
227227 ====================== ======================
228228 Variable Values
@@ -237,9 +237,9 @@ What these variables mean:
237237 ============================= ========================================
238238 Value Meaning
239239 ============================= ========================================
240- chrono Use the std::chrono library from the
240+ chrono Use the std::chrono library from the
241241 C++ standard library
242- gettime Use `timespec ` from the C standard
242+ gettime Use `timespec ` from the C standard
243243 library time.h file
244244 clock Use `clock_t ` from time.h
245245 ============================= ========================================
@@ -248,11 +248,11 @@ Data types, sizes, alignment, etc.
248248-------------------------------------
249249
250250The options discussed in this section are typically not needed by users.
251- They are provided for special cases when users want to parameterize floating
251+ They are provided for special cases when users want to parameterize floating
252252point types in applications, which makes it easier to switch between types.
253253
254- .. note :: RAJA data types in this section are provided as a convenience to
255- users if they wish to use them. They are not used within RAJA
254+ .. note :: RAJA data types in this section are provided as a convenience to
255+ users if they wish to use them. They are not used within RAJA
256256 implementation code directly.
257257
258258The following variables are used to set the data type for the type
@@ -262,24 +262,24 @@ alias ``RAJA::Real_type``:
262262 Variable Default
263263 ====================== ======================
264264 RAJA_USE_DOUBLE On (type is double)
265- RAJA_USE_FLOAT Off
265+ RAJA_USE_FLOAT Off
266266 ====================== ======================
267267
268- Similarly, the ``RAJA::Complex_type `` can be enabled to support complex
268+ Similarly, the ``RAJA::Complex_type `` can be enabled to support complex
269269 numbers if needed:
270270
271271 ====================== ======================
272272 Variable Default
273273 ====================== ======================
274- RAJA_USE_COMPLEX Off
274+ RAJA_USE_COMPLEX Off
275275 ====================== ======================
276276
277- When turned on, the ``RAJA::Complex_type `` is an alias to
277+ When turned on, the ``RAJA::Complex_type `` is an alias to
278278``std::complex<Real_type> ``.
279279
280- There are several variables to control the definition of the RAJA
280+ There are several variables to control the definition of the RAJA
281281floating-point data pointer type ``RAJA::Real_ptr ``. The base data type
282- is always ``Real_type ``. When RAJA is compiled for CPU execution
282+ is always ``Real_type ``. When RAJA is compiled for CPU execution
283283only, the defaults are:
284284
285285 ============================= ======================
@@ -311,12 +311,12 @@ The meaning of these variables is:
311311 RAJA_USE_RESTRICT_PTR Use C-style pointer with restrict
312312 qualifier
313313 RAJA_USE_RESTRICT_ALIGNED_PTR Use C-style pointer with restrict
314- qualifier and alignment attribute
314+ qualifier and alignment attribute
315315 (see RAJA_DATA_ALIGN below)
316- RAJA_USE_PTR_CLASS Use pointer class with overloaded `[] `
317- operator that applies restrict and
318- alignment intrinsics. This is useful
319- when a compiler does not support
316+ RAJA_USE_PTR_CLASS Use pointer class with overloaded `[] `
317+ operator that applies restrict and
318+ alignment intrinsics. This is useful
319+ when a compiler does not support
320320 attributes in a typedef.
321321 ============================= ========================================
322322
@@ -332,10 +332,9 @@ data alignment. The variable that control this is:
332332This variable is used to specify data alignment used in intrinsics and typedefs
333333in units of **bytes **.
334334
335- For details on the options in this section are used, please see the
335+ For details on the options in this section are used, please see the
336336header file ``RAJA/include/RAJA/util/types.hpp ``.
337337
338-
339338.. _configopt-raja-backends-label :
340339
341340===============================
@@ -345,4 +344,4 @@ Setting RAJA Back-End Features
345344Various `ENABLE_* ` options are listed above for enabling RAJA back-ends,
346345such as OpenMP and CUDA. To access compiler and hardware optimization features,
347346it may be necessary to pass additional options to CMake. Please see
348- :ref: `getting_started-label ` for more information.
347+ :ref: `getting_started-label ` for more information.
0 commit comments