Parallelize the shower rollout (event- and particle-level) #6

Open
opened 2026-07-08 13:52:20 +02:00 by lbogner · 0 comments
lbogner commented 2026-07-08 13:52:20 +02:00 (Migrated from gitlab.etp.kit.edu)

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.py already advances tracks breadth-first in batch_size chunks, 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.

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.py` already advances tracks breadth-first in `batch_size` chunks, 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.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: lars/giant#6