You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/source/pages/installation.rst
+18-9Lines changed: 18 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,9 +2,11 @@
2
2
Installation
3
3
============
4
4
5
-
# Bulding and installing 2decomp-fft
5
+
Bulding and installing 2decomp-fft
6
+
==================================
6
7
7
-
## Building
8
+
Building
9
+
===========
8
10
9
11
The build system is driven by `cmake`. It is good practice to directly point to the MPI Fortran wrapper that you would like to use to guarantee consistency between Fortran compiler and MPI. This can be done by setting the default Fortran environmental variable
10
12
```
@@ -56,7 +58,8 @@ Occasionally a clean build is required, this can be performed by running
The library can perform multi GPU offoloading using the NVHPC compiler suite for NVIDIA hardware.
62
65
The implementation is based on CUDA-aware MPI and NVIDIA Collective Communication Library (NCCL).
@@ -83,9 +86,11 @@ It is possible that your default C compiler is too recent and not supported by `
83
86
84
87
At the moment the supported CUDA host compilers are `gcc11` and earlier.
85
88
86
-
## Linking from external codes
89
+
Linking from external codes
90
+
==============================
87
91
88
-
### Codes using Makefiles
92
+
Codes using Makefiles
93
+
=========================
89
94
90
95
When building a code that links 2decomp-fft using a Makefile you will need to add the include and link paths as appropriate (`inlude/` and `lib/` under the installation directory, respectively).
91
96
```
@@ -144,7 +149,8 @@ clean-decomp:
144
149
rm -f $(DECOMP_INSTALL_DIR)/lib/libdecomp.a
145
150
```
146
151
147
-
## Profiling
152
+
Profiling
153
+
=========
148
154
149
155
Profiling can be activated via `cmake` configuration, the recommended approach is to run the initial configuration as follows:
where `ENABLE_PROFILER` is set to the profiling tool desired, currently supported values are: `caliper`.
156
162
Note that when using `caliper` a C++ compiler is required as indicated in the above command line.
157
163
158
-
## Miscellaneous
164
+
Miscellaneous
165
+
=============
159
166
160
-
### List of preprocessor variables
167
+
List of preprocessor variables
168
+
==============================
161
169
162
170
#### DEBUG
163
171
@@ -223,7 +231,8 @@ or modify the build configuration using `ccmake`.
223
231
224
232
Note the legacy `fftw` interface lacks interface definitions and will fail when stricter compilation flags are used (e.g. when `-DCMAKE_BUILD_TYPE=Dev`) for this it is recommended to use `fftw_f03` which provides proper interfaces.
225
233
226
-
### Caliper
234
+
Caliper
235
+
========
227
236
228
237
The library [caliper](https://github.com/LLNL/Caliper) can be used to profile the execution of the code. The version 2.9.1 was tested and is supported, version 2.8.0 has also been tested and is still expected to work. Please note that one must build caliper and decomp2d against the same C/C++/Fortran compilers and MPI libray. For build instructions, please check [here](https://github.com/LLNL/Caliper#building-and-installing) and [here](https://software.llnl.gov/Caliper/CaliperBasics.html#build-and-install). Below is a suggestion for the compilation of the library using the GNU compilers:
0 commit comments