ADD: pipelines results
All checks were successful
Build and Deploy Documentation / build-and-deploy (push) Successful in 6s
All checks were successful
Build and Deploy Documentation / build-and-deploy (push) Successful in 6s
This commit is contained in:
51
pages/merlin7/05-Software-Support/ippl.md
Normal file
51
pages/merlin7/05-Software-Support/ippl.md
Normal file
@ -0,0 +1,51 @@
|
||||
---
|
||||
title: IPPL
|
||||
keywords: IPPL software, compile
|
||||
summary: "Independent Parallel Particle Layer (IPPL) is a performance portable C++ library for Particle-Mesh methods"
|
||||
sidebar: merlin7_sidebar
|
||||
toc: false
|
||||
permalink: /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
|
||||
[](https://gitea.psi.ch/HPCE/spack-psi)
|
||||
```bash
|
||||
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
|
||||
[](https://gitea.psi.ch/HPCE/spack-psi)
|
||||
|
||||
```bash
|
||||
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]
|
||||
```
|
75
pages/merlin7/05-Software-Support/opal-x.md
Normal file
75
pages/merlin7/05-Software-Support/opal-x.md
Normal file
@ -0,0 +1,75 @@
|
||||
---
|
||||
title: OPAL-X
|
||||
keywords: OPAL-X software, compile
|
||||
summary: "OPAL (Object Oriented Particle Accelerator Library) is an open source C++ framework for general particle accelerator simulations including 3D space charge, short range wake fields and particle matter interaction."
|
||||
sidebar: merlin7_sidebar
|
||||
toc: false
|
||||
permalink: /merlin7/opal-x.html
|
||||
---
|
||||
|
||||
## OPAL
|
||||
|
||||
OPAL (Object Oriented Particle Accelerator Library) is an open source C++ framework for general particle accelerator simulations including 3D space charge, short range wake fields and particle matter interaction.
|
||||
|
||||
## Licensing Terms and Conditions
|
||||
|
||||
GNU GPLv3
|
||||
|
||||
## How to run on Merlin7
|
||||
### A100 nodes
|
||||
```bash
|
||||
module purge
|
||||
module use Spack unstable
|
||||
module load gcc/13.2.0 openmpi/4.1.6-57rc-A100-gpu opal-x/fixSolverUnits-q4ul-A100-gpu
|
||||
```
|
||||
|
||||
### GH nodes
|
||||
```bash
|
||||
module purge
|
||||
module use Spack unstable
|
||||
module load gcc/13.2.0 openmpi/5.0.3-3lmi-GH200-gpu opal-x/fixSolverUnits-ttg7-GH200-gpu
|
||||
```
|
||||
|
||||
## Developing your own code
|
||||
### A100 nodes
|
||||
|
||||
[](https://gitea.psi.ch/HPCE/spack-psi)
|
||||
|
||||
```bash
|
||||
module purge
|
||||
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
|
||||
|
||||
git clone https://gitlab.psi.ch/OPAL/opal-x/src.git opal-x
|
||||
cd opal-x
|
||||
./gen_OPALrevision
|
||||
|
||||
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=OFF -DIPPL_ENABLE_SOLVERS=ON -DIPPL_ENABLE_ALPINE=True -DIPPL_PLATFORMS=cuda ..
|
||||
make [-jN]
|
||||
```
|
||||
|
||||
### GH nodes
|
||||
[](https://gitea.psi.ch/HPCE/spack-psi)
|
||||
|
||||
```bash
|
||||
salloc --partition=gh-daily --clusters=gmerlin7 --time=08:00:00 --ntasks=4 --nodes=1 --gpus=1 --mem=40000 $SHELL
|
||||
ssh <allocated_gpu>
|
||||
|
||||
module purge
|
||||
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
|
||||
|
||||
git clone https://gitlab.psi.ch/OPAL/opal-x/src.git opal-x
|
||||
cd opal-x
|
||||
./gen_OPALrevision
|
||||
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=OFF -DIPPL_ENABLE_SOLVERS=ON -DIPPL_ENABLE_ALPINE=OFF -DIPPL_PLATFORMS=cuda ..
|
||||
make [-jN]
|
||||
```
|
Reference in New Issue
Block a user