germann_e 0802f12fcf
All checks were successful
Build and Deploy Documentation / build-and-deploy (push) Successful in 6s
ADD: pipelines results
2025-05-21 15:36:51 +02:00

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

Pipeline

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

Pipeline

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]