Skip to content

Commit 134b6cd

Browse files
MaxThevenetax3l
andauthored
Doc: how to compile and run on Juwels (#1133)
* Doc how to compile and run on Juwels * add a bunch of AMReX-specific options * Update juwels.rst * Update Docs/source/building/juwels.rst Co-authored-by: MaxThevenet <[email protected]> * Juwels: Filesystem Note * Jewels Docs: Missing newline Co-authored-by: Axel Huebl <[email protected]>
1 parent 5f03747 commit 134b6cd

File tree

5 files changed

+99
-4
lines changed

5 files changed

+99
-4
lines changed

Docs/source/building/building.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,3 +102,4 @@ Building for specific platforms
102102

103103
cori
104104
summit
105+
juwels

Docs/source/building/cori.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.. _building-cori:
22

3-
Building WarpX for Cori (NERSC)
4-
===============================
3+
Cori (NERSC)
4+
============
55

66
Standard build
77
--------------

Docs/source/building/juwels.rst

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
.. _building-juwels:
2+
3+
Juwels (JSC)
4+
============
5+
6+
The `Juwels supercomputer <https://www.fz-juelich.de/ias/jsc/EN/Expertise/Supercomputers/JUWELS/JUWELS_node.html>`_ is located at JSC.
7+
8+
See `this page <https://apps.fz-juelich.de/jsc/hps/juwels/quickintro.html>`_ for a quick introduction.
9+
10+
* Batch system: `Slurm <https://apps.fz-juelich.de/jsc/hps/juwels/quickintro.html#batch-system-on-system-name>`_
11+
* `Production directories <https://apps.fz-juelich.de/jsc/hps/juwels/environment.html?highlight=scratch#available-filesystems>`_:
12+
13+
* ``$SCRATCH``: Scratch filesystem for temporary data (90 day purge)
14+
* ``$FASTDATA/``: Storage location for large data (backuped)
15+
* Note that the ``$HOME`` directory is not designed for simulation runs and producing output there will impact performance.
16+
17+
Installation
18+
------------
19+
20+
Use the following commands to download the WarpX source code and switch to the correct branch:
21+
22+
.. code-block:: bash
23+
24+
mkdir ~/src
25+
cd ~/src
26+
27+
git clone https://github.com/ECP-WarpX/WarpX.git warpx
28+
git clone --branch QED https://github.com/ECP-WarpX/picsar.git
29+
git clone --branch development https://github.com/AMReX-Codes/amrex.git
30+
31+
We use the following modules and environments on the system.
32+
33+
.. code-block:: bash
34+
35+
# please set your project account
36+
export proj=<yourProject>
37+
38+
# required dependencies
39+
module load GCC
40+
module load OpenMPI
41+
module load CUDA
42+
43+
# JEWELS' job scheduler may not map ranks to GPUs,
44+
# so we give a hint to AMReX about the node layout.
45+
# This is usually done in Make.<supercomputing center> files in AMReX
46+
# but there is no such file for JSC yet.
47+
export GPUS_PER_SOCKET=2
48+
export GPUS_PER_NODE=4
49+
50+
Note that for now WarpX must rely on OpenMPI instead of the recommended MPI implementation on this platform MVAPICH2.
51+
52+
We recommend to store the above lines in a file, such as ``$HOME/warpx.profile``, and load it into your shell after a login:
53+
54+
.. code-block:: bash
55+
56+
source $HOME/warpx.profile
57+
58+
Then, ``cd`` into the directory ``$HOME/src/warpx`` and use the following commands to compile:
59+
60+
.. code-block:: bash
61+
62+
make -j 16 COMP=gcc USE_GPU=TRUE
63+
64+
The other :ref:`general compile-time options <building-source>` apply as usual.
65+
66+
Running
67+
-------
68+
69+
An example submission script reads
70+
71+
.. literalinclude:: ../../../Tools/BatchScripts/batch_juwels.sh
72+
:language: bash
73+
74+
See :doc:`../visualization/yt` for more information on how to visualize the simulation results.

Docs/source/building/summit.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.. _building-summit:
22

3-
Building WarpX on Summit (OLCF)
4-
===============================
3+
Summit (OLCF)
4+
=============
55

66
The `Summit cluster <https://www.olcf.ornl.gov/summit/>`_ is located at OLCF.
77

Tools/BatchScripts/batch_juwels.sh

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/bin/bash -l
2+
3+
#SBATCH -A $proj
4+
#SBATCH --partition=gpus
5+
#SBATCH --nodes=2
6+
#SBATCH --ntasks=8
7+
#SBATCH --ntasks-per-node=4
8+
#SBATCH --gres=gpu:4
9+
#SBATCH --time=00:05:00
10+
#SBATCH --job-name=warpx
11+
#SBATCH --output=warpx-%j-%N.txt
12+
#SBATCH --error=warpx-%j-%N.err
13+
14+
export OMP_NUM_THREADS=1
15+
16+
module load GCC
17+
module load OpenMPI
18+
module load CUDA
19+
20+
srun -n 8 --cpu_bind=sockets $HOME/src/warpx/Bin/main3d.gnu.TPROF.MPI.CUDA.ex inputs

0 commit comments

Comments
 (0)