Peter Heywood, Research Software Engineer
The University of Sheffield
2025-04-11
The Celeritas project implements HEP detector physics on GPU accelerator hardware with the ultimate goal of supporting the massive computational requirements of the HL-LHC upgrade.
More Information
“Accelerating detector simulations with Celeritas: performance improvements and new capabilities”
a suite of test problems in Celeritas to track whether
- the code is able to run to completion without hitting an assertion,
- how the code input options (and processed output) change over time,
- how the kernel occupancy requirements change in response to growing code complexity
celer-g4
, celer-sim
geant4
v0.5.1
on Frontier & Perlmutter. update-plots.py
from commit d5b5c03. Machine | CPU per node | GPU per node |
---|---|---|
Frontier | 1x AMD “Optimized 3rd Gen EPYC” | 8x AMD MI250x |
Perlmutter | 1x AMD EPYC 7763 | 4x NVIDIA A100 |
JADE 2.5 | 2x AMD EPYC 9534 | 8x AMD MI300x |
Bede GH200 | 1x NVIDIA Grace | 1x NVIDIA GH200 480GB |
3090 (TUoS) | 1x Intel i7-5930k | 2x NVIDIA RTX 3090 |
SM_86
1:64
)Not an ideal benchmark machine
celeritas-project/regression
run-problems.py
class JadeARC(System):
build_dirs = {
"orange": Path("/path/to/celeritas/build-ndebug"),
}
name = "jadearc"
num_jobs = 8 # 8 MI300X per node
gpu_per_job = 1
cpu_per_job = 16 # 128 core per node
# ...
# ...
async def main():
# ...
_systems = {S.name: S for S in [Frontier, Perlmutter, Wildstyle, JadeARC]}
celeritas-project/regression
cont.update-plots.py
system_color = {
"frontier": "#BC5544",
"perlmutter": "#7A954F",
"jadearc": "#E7298A",
"bede": "#1B9E77",
"waimea": "#666666",
}
# ...
def main():
analyses["frontier"] = plot_minimal("frontier")
analyses["perlmutter"] = plot_like = plot_all("perlmutter")
analyses["jadearc"] = plot_minimal("jadearc")
analyses["bede"] = plot_minimal("bede")
analyses["waimea"] = plot_minimal("waimea")
# ...
celeritas-project/regression
run-jadearc.sh
#!/bin/bash -e
#SBATCH -A jade-beta
#SBATCH -p medium
#SBATCH -t 2:59:59
#SBATCH --nodes=1
#SBATCH --ntasks=8
#SBATCH --gres=gpu:8
#SBATCH --cpus-per-gpu=16
# Load modules + activate spack environment
source path/to/jadearc.sh 2> /dev/null
echo "Running on $HOSTNAME at $(date)"
python3 run-problems.py jadearc
echo "Completed at $(date)"
exit 0
v0.5.1
12.6
6.2.1
amd-smi
)regression
for future re-runsAcknowledgements
celeritas-project/celeritas
developersceleritas-project/regression
developers
Benchmarking Celeritas - GridPP53 & SWIFT-HEP09