... | ... | @@ -78,7 +78,7 @@ If all the required libraries are available in standard locations, you only need |
|
|
|
|
|
## MPI vs sequential version
|
|
|
|
|
|
If you do not have MPI, or do not want to use it, you need to set the **FARGO_SEQUENTIAL_ONLY** flag
|
|
|
If you do not have MPI, or do not want to use it, you need to set the **FARGO_SEQUENTIAL_ONLY** cmake configuration flag
|
|
|
```
|
|
|
[alainm@pollux build]$ cmake -DFARGO_SEQUENTIAL_ONLY=ON ... <srcpath>
|
|
|
```
|
... | ... | @@ -97,7 +97,6 @@ To enable it, you need to obtain a copy of the [symba7.tar](uploads/c86d3df52d18 |
|
|
|
|
|
Note that you will need to have access to *https://www.boulder.swri.edu/~hal/downloads/swift.tar.gz* from your build machine.
|
|
|
|
|
|
|
|
|
## Troubleshooting
|
|
|
|
|
|
Sometime libraries are not installed in default location. In that case you need to tell cmake where to find them through configuration variable:
|
... | ... | @@ -131,9 +130,20 @@ It is also possible to [disable MPI](Developer's-corner/Distributed-vs-single-pr |
|
|
|
|
|
#### Shared Memory Parallelism
|
|
|
Shared memory parallelism is achieved through [Kokkos](https://kokkos.org/) which is provided as a sub module.
|
|
|
|
|
|
##### OpenMP
|
|
|
|
|
|
Activating [OpenMP](https://en.wikipedia.org/wiki/OpenMP) if probably always a good idea, whenever another acceleration is available.
|
|
|
|
|
|
This is achieved by setting cmake configuration variable **Kokkos_ENABLE_OPENMP** to **On**.
|
|
|
|
|
|
##### CUDA
|
|
|
|
|
|
If you have access to [CUDA](https://en.wikipedia.org/wiki/OpenMP) enabled GPUs, you can activate GPU acceleration through cmake configuration variable **Kokkos_ENABLE_CUDA** to **On**.
|
|
|
|
|
|
The specific GPU architecture can be automagically detected if you are configuring on a compute node, which is not always the case, especially on HPC clusters. To select explicitly a specific architecture, say **VOLTA70**, you need to set the cmake configuration variable **Kokkos_ARCH_VOLTA70** to **On**.
|
|
|
|
|
|
You can use the following map to help you select the right architecture:
|
|
|
https://arnon.dk/matching-sm-architectures-arch-and-gencode-for-various-nvidia-cards/
|
|
|
|
|
|
#### Python Bindings
|
... | ... | |