Skip to content
Sam Reeve edited this page May 31, 2022 · 5 revisions

Dependencies

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.

Build

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
Clone this wiki locally