-
Notifications
You must be signed in to change notification settings - Fork 13
Build
ExaMPM has the following dependencies:
Dependency | Version | Required | Details |
---|---|---|---|
CMake | 3.16+ | Yes | Build system |
MPI | GPU-Aware if CUDA/HIP enabled | Yes | Message Passing Interface |
Kokkos | 3.2.0+ | Yes | Performance portable on-node parallelism |
Cabana | 0.5.0+ | Yes | Performance portable particle algorithms |
CUDA | 10+ | No | Programming model for NVIDIA GPUs |
HIP | 4.5+ | No | Programming model for AMD GPUs |
The underlying parallel programming models are available on most systems, as is
CMake. Those must be installed first, if not available. Kokkos and Cabana are
available on some systems or can be installed with spack
(see
https://spack.readthedocs.io/en/latest/getting_started.html):
spack install cabana
Alternatively, Kokkos can be built locally, followed by Cabana: https://github.com/ECP-copa/Cabana/wiki/Build-Instructions
Build instructions are available for both CPU and GPU. Note that Cabana must be compiled with Cajita enabled and with MPI support. If Silo is not enabled in Cabana no particle output will be created.
Once the required dependencies are built ExaMPM can be built using CMake. ExaMPM will build with most available Kokkos parallel backends (with one chosen at runtime).
export CABANA_INSTALL=~/Cabana/build/install
cd ExaMPM
mkdir build
cd build
cmake \
-D CMAKE_BUILD_TYPE="Debug" \
-D CMAKE_PREFIX_PATH="$CABANA_INSTALL" \
-D CMAKE_INSTALL_PREFIX=install \
.. ;
make install