Installation on JUWELS Booster (JSC)
------------------------------------
Log into a JUWELS booster node either with ``ssh`` or by opening a terminal
in the `JupyterLabs `_ (choose JUWELS as
system and LoginNodeBooster as Partition).
Create a ``profile.optimas`` file in your home directory with the following content
.. code::
module purge
module load Stages/2023
module load GCC
module load ParaStationMPI
module load CUDA
module load SciPy-bundle
module load mpi4py
you can do this from the command line by executing ``cat > ~/profile.optimas`` and
pasting the lines above. To save the file, finalize by pressing ``Ctrl+D``.
Load the source file
.. code::
source ~/profile.optimas
Create a new environment for optimas
.. code::
python -m venv $PROJECT//pyenvs/optimas_env
Activate the environment
.. code::
source $PROJECT//pyenvs/optimas_env/bin/activate
Install ``optimas`` with all dependencies if you plan to do Bayesian optimization
(see :ref:`dependencies` for more details).
.. code::
pip install 'optimas[all]'
Installing FBPIC and Wake-T (optional)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A common use case for ``optimas`` is to optimize the output of a plasma acceleration
simulation with FBPIC or Wake-T (or both). If you need any of these tools, you
can follow the instructions below to install them in your ``optimas_env``
environment.
Install FBPIC:
.. code::
pip install cupy-cuda117
pip install fbpic
Install Wake-T:
.. code::
pip install Wake-T
Install openPMD-viewer for data analysis
.. code::
pip install openPMD-viewer
Running an optimas job
~~~~~~~~~~~~~~~~~~~~~~
The following script can be used to submit an ``optimas`` job to the JUWELS
booster (i.e., the ``booster`` partition). For testing, use the
``develbooster`` partition instead. This script assumes that you
need one node with 4 GPUs and that your optimas script is called
``run_optimization.py``.
Make sure to replace ``project_account``, ``user_email`` and ``username`` with
your data.
.. code::
#!/bin/bash
#SBATCH --job-name optimas
#SBATCH --nodes=1
#SBATCH --partition=booster
#SBATCH --account=
#SBATCH --time=12:00:00
#SBATCH --output=stdout
#SBATCH --error=stderr
#SBATCH --mail-type=END
#SBATCH --mail-user=
# Activate environment
source ~/profile.optimas
source $PROJECT//pyenvs/optimas_env/bin/activate
python run_optimization.py