Skip to content

Commit a63cfc4

Browse files
authored
Merge branch 'ComputationalRadiationPhysics:dev' into Fusion_interSpecies
2 parents b0649f3 + dacd29e commit a63cfc4

File tree

46 files changed

+470
-1188
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+470
-1188
lines changed

docs/source/dev/debugging.rst

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,19 @@ An example build command is
2626
2727
pic-build -c "-DPIC_VERBOSE=127 -DPMACC_VERBOSE=127 -DPMACC_BLOCKING_KERNEL=ON -DPMACC_ASYNC_QUEUES=OFF"
2828
29+
30+
If you encounter an error during reading or writing of openPMD files, it can be helpful to run openPMD-api with verbose output.
31+
This can be done by setting the following environment variable either in your environment (e.g. ``picongpu.profile``) or in your submit script ``./tbg/submit.start`` before executing ``picongpu``.
32+
33+
.. code:: bash
34+
35+
export OPENPMD_VERBOSE=1
36+
37+
38+
Additionally, you can activate IO logging in PIConGPU by adding the login level ``32``.
39+
This can be done via command flags (see above) when using ``pic-build```or via ``ccmake .`` in the ``.build`` directory.
40+
To debug the performance of openPMD output in PIConGPU, set the CMake variable ``PIC_OPENPMD_TIMETRACE_NUMBER_OF_FILES`` to ``1`` to obtain detailed time information about the I/O steps.
41+
2942
When reporting a crash, it is helpful if you attached the output ``stdout`` and ``stderr`` of such a build.
3043

3144
For further debugging tips and use of tools please refer to `our Wiki <https://github.com/ComputationalRadiationPhysics/picongpu/wiki/Debugging>`_.

docs/source/models/atomic_physics.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ Getting Started With FLYonPIC
7676

7777
To use FLYonPIC in a simulation setup, you need to provide a set of atomic input data files, see :ref:`Input Data For FLYonPIC <atomicPhysicsInputData>`, and mark at least one species as an atomic physics ion species and one species as an atomic physics electron species.
7878

79-
See the `compile time test of atomic physics <https://github.com/ComputationalRadiationPhysics/picongpu/tree/dev/share/picongpu/tests/compileAtomicPhysics>`_ for examples using atomic physics.
79+
See the `compile time test of atomic physics <https://github.com/ComputationalRadiationPhysics/picongpu/tree/dev/share/picongpu/examples/AtomicPhysics>`_ for examples using atomic physics.
8080

8181
.. warning::
8282

docs/source/usage/plugins/openPMD.rst

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -179,17 +179,14 @@ ADIOS2
179179
Streaming with the MPI-based SST implementation
180180
"""""""""""""""""""""""""""""""""""""""""""""""
181181

182-
The `SST engine <https://adios2.readthedocs.io/en/latest/engines/engines.html#sst-sustainable-staging-transport>`_ (sustainable staging transport) of ADIOS2 has a number of possible backends, including an MPI data transport (still in development at the time of writing this 2023-01-06).
182+
The `SST engine <https://adios2.readthedocs.io/en/latest/engines/engines.html#sst-sustainable-staging-transport>`_ (sustainable staging transport) of ADIOS2 has a number of possible data transports (called data planes in terms of ADIOS2), including an MPI data transport.
183183
It internally uses MPI to set up communcation between data producer (PIConGPU) and consumer via ``MPI_Open_Port()`` and ``MPI_Comm_Accept()``.
184184

185185
Use of this engine requires availability of threaded MPI, which can be activated in PIConGPU via the environment variable ``PIC_USE_THREADED_MPI``.
186186
Its possible values include ``"MPI_THREAD_SINGLE"``, ``"MPI_THREAD_FUNNELED"``, ``"MPI_THREAD_SERIALIZED"`` and ``"MPI_THREAD_MULTIPLE"``.
187187
The specified value determines the ``int required`` parameter that will be used in the initialization of MPI via ``int MPI_Init_thread( int *argc, char ***argv, int required, int *provided )``.
188188
For support of MPI-based SST, the variable must be specified as ``PIC_USE_THREADED_MPI=MPI_THREAD_MULTIPLE``.
189189

190-
Additionally, `a workaround <https://github.com/ornladios/ADIOS2/blob/770d852ac1e5d2faff0b9e62cb8da43d448cca67/docs/user_guide/source/advanced/ecp_hardware.rst>`_ is required in order to let PIConGPU cleanly terminate after using this engine on ECP hardware.
191-
This workaround can be activated on such systems via ``PIC_WORKAROUND_CRAY_MPI_FINALIZE=1``.
192-
193190
HDF5
194191
====
195192

etc/picongpu/frontier-ornl/batch_picongpu.profile.example

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ export PIC_NODE_OVERSUBSCRIPTION_PT=2
3030
# The following modules just add to these.
3131

3232
module load PrgEnv-cray/8.6.0 # Compiling with cray compiler wrapper CC
33-
module load craype-accel-amd-gfx90a
34-
module load rocm/6.4.1
33+
module load craype-accel-amd-gfx940
34+
module load rocm/6.4.2
3535

3636
export MPICH_GPU_SUPPORT_ENABLED=1
3737
module load cray-mpich/8.1.31
@@ -40,6 +40,11 @@ module load boost/1.86.0
4040
module load zlib/1.3.1
4141
module load cmake/3.30.5
4242
module load git
43+
module load adios2/2.10.2-mpi
44+
# Please use a self compiled openpmd-api with adios2 if you need blosc2 support
45+
module load openpmd-api/0.16.0
46+
module load cray-fftw
47+
module load libpng/1.6.39
4348

4449
## set environment variables required for compiling and linking
4550
## see (https://docs.olcf.ornl.gov/systems/crusher_quick_start_guide.html#compiling-with-hipcc)
@@ -57,12 +62,6 @@ export LDFLAGS="$LDFLAGS -L${MPICH_DIR}/lib -lmpi ${PE_MPICH_GTL_DIR_amd_gfx90a}
5762

5863
# Other Software ##############################################################
5964
#
60-
module load libpng/1.6.39
61-
62-
# Please use your self compiled openpmd-api with adios2 and blosc2 support.
63-
# ORNL is providing spack generated modules without blosc2 support.
64-
#
65-
# module load openpmd-api/0.16.X
6665

6766
# Self-Build Software #########################################################
6867
# Optional, not required.

etc/picongpu/jupiter-jsc/gh200.tpl

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,14 @@
1919
#
2020

2121

22-
# PIConGPU batch script for JEDI's SLURM batch system
22+
# PIConGPU batch script for JUPITER's SLURM batch system
2323

2424
#SBATCH --account=!TBG_nameProject
2525
#SBATCH --partition=!TBG_queue
2626
#SBATCH --time=!TBG_wallTime
2727
# Sets batch job's name
2828
#SBATCH --job-name=!TBG_jobName
2929
#SBATCH --nodes=!TBG_nodes
30-
#SBATCH --exclusive
3130
#SBATCH --gres=gpu:!TBG_devicesPerNode
3231
#SBATCH --ntasks=!TBG_tasks
3332
#SBATCH --ntasks-per-node=!TBG_devicesPerNode
@@ -46,7 +45,7 @@
4645
export UCX_RC_TIMEOUT=3000000.00us # 3s instead of 1s
4746

4847
## calculations will be performed by tbg ##
49-
.TBG_queue="jureap"
48+
.TBG_queue="booster"
5049

5150
# settings that can be controlled by environment variables before submit
5251
.TBG_mailSettings=${MY_MAILNOTIFY:-"NONE"}

etc/picongpu/jupiter-jsc/gh200_picongpu.profile.example

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ function getNode() {
102102
return 1
103103
fi
104104
echo "Hint: please use 'srun --cpu_bind=sockets <COMMAND>' for launching multiple processes in the interactive mode"
105-
salloc --time=1:00:00 --nodes=$numNodes --ntasks-per-node=4 --gres=gpu:4 --mem=115G -A $account -p jureap bash
105+
salloc --time=1:00:00 --nodes=$numNodes --ntasks-per-node=4 --gres=gpu:4 --mem=115G -A $account -p booster bash
106106
}
107107

108108
# allocate an interactive shell for one hour
@@ -119,7 +119,7 @@ function getDevice() {
119119
fi
120120
fi
121121
echo "Hint: please use 'srun --cpu_bind=sockets <COMMAND>' for launching multiple processes in the interactive mode"
122-
srun --time=1:00:00 --ntasks-per-node=$(($numDevices)) --gres=gpu:$(($numDevices)) --mem=115G -A $account -p jureap --pty bash
122+
srun --time=1:00:00 --ntasks-per-node=$(($numDevices)) --gres=gpu:$(($numDevices)) --mem=115G -A $account -p booster --pty bash
123123
}
124124

125125
# Load autocompletion for PIConGPU commands

include/picongpu/fields/incidentField/profiles/ExpRampWithPrepulse.def

Lines changed: 0 additions & 169 deletions
This file was deleted.

0 commit comments

Comments
 (0)