All checks were successful
Build and Deploy Documentation / build-and-deploy (push) Successful in 6s
2.3 KiB
2.3 KiB
title, keywords, summary, sidebar, toc, permalink
title | keywords | summary | sidebar | toc | permalink |
---|---|---|---|---|---|
IPPL | IPPL software, compile | Independent Parallel Particle Layer (IPPL) is a performance portable C++ library for Particle-Mesh methods | merlin7_sidebar | false | /merlin7/ippl.html |
IPPL
Independent Parallel Particle Layer (IPPL) is a performance portable C++ library for Particle-Mesh methods. IPPL makes use of Kokkos (https://github.com/kokkos/kokkos), HeFFTe (https://github.com/icl-utk-edu/heffte), and MPI (Message Passing Interface) to deliver a portable, massively parallel toolkit for particle-mesh methods. IPPL supports simulations in one to six dimensions, mixed precision, and asynchronous execution in different execution spaces (e.g. CPUs and GPUs).
Licensing Terms and Conditions
GNU GPLv3
How to run on Merlin7
A100 nodes
module use Spack unstable
module load gcc/13.2.0 openmpi/4.1.6-57rc-A100-gpu
module load boost/1.82.0-e7gp fftw/3.3.10 gnutls/3.8.3 googletest/1.14.0 gsl/2.8 h5hut/2.0.0rc7 openblas/0.3.26-omp cmake/3.31.6-oe7u
cd <path to IPPL source directory>
mkdir build_gpu
cd build_gpu
cmake -DCMAKE_BUILD_TYPE=Release -DKokkos_ARCH_AMPERE80=ON -DCMAKE_CXX_STANDARD=20 -DIPPL_ENABLE_FFT=ON -DIPPL_ENABLE_TESTS=ON -DUSE_ALTERNATIVE_VARIANT=ON -DIPPL_ENABLE_SOLVERS=ON -DIPPL_ENABLE_ALPINE=True -DIPPL_PLATFORMS=cuda ..
make [-jN]
GH nodes
salloc --partition=gh-daily --clusters=gmerlin7 --time=08:00:00 --ntasks=4 --nodes=1 --gpus=1 --mem=40000 $SHELL
ssh <allocated_gpu>
module use Spack unstable
module load gcc/13.2.0 openmpi/5.0.3-3lmi-GH200-gpu
module load boost/1.82.0-3ns6 fftw/3.3.10 gnutls/3.8.3 googletest/1.14.0 gsl/2.7.1 h5hut/2.0.0rc7 openblas/0.3.26 cmake/3.31.4-u2nm
cd <path to IPPL source directory>
mkdir build_gh
cd build_gh
cmake -DCMAKE_BUILD_TYPE=Release -DKokkos_ARCH_HOPPER90=ON -DCMAKE_CXX_STANDARD=20 -DIPPL_ENABLE_FFT=ON -DIPPL_ENABLE_TESTS=ON -DUSE_ALTERNATIVE_VARIANT=ON -DIPPL_ENABLE_SOLVERS=ON -DIPPL_ENABLE_ALPINE=True -DIPPL_PLATFORMS=cuda ..
make [-jN]