Parallelize the shower rollout (event- and particle-level) #6
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Design and prototype parallelizing the shower rollout for the production implementation — a throughput lever toward the ~10× native-Geant4 budget, independent of the per-call architecture.
Two levels: an event basis (showers are independent, parallelize across events) and a particle basis (after roughly the first ~10 steps, once the cascade has branched into many independent tracks, step them in parallel). Early in a shower there's little to parallelize; parallelism opens up once the cascade fans out.
The current
giant/rollout.pyalready advances tracks breadth-first inbatch_sizechunks, so the batched forward pass is in place — this is about the event/particle-level parallel driver and measuring the resulting speedup.Source: Jan & Tobias meeting 2026-07-07 §5.