--- 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 [![Pipeline](https://gitea.psi.ch/HPCE/spack-psi/actions/workflows/opal-x_gpu_merlin7.yml/badge.svg?branch=main)](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 [![Pipeline](https://gitea.psi.ch/HPCE/spack-psi/actions/workflows/opal-x_gh_merlin7.yml/badge.svg?branch=main)](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 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] ```