Goals and Constraints¶
The high-level architecture of a parallel-capable framework¶
The HEP experiments that use Geant4 each has its own event processing framework, and so a modified Geant4 must be amenable for use in an experiment's framework.
FNAL supplies the art framework to several Intensity Frontier experiments. We are working on a version of this framework that can process multiple events in parallel; we call this event-level parallelism.
We believe that such parallelism is important for several reasons. Particular to simulation efforts, event-level parallelism may allow us to take advantage of heterogeneous computing resources on modern and future machines.
The diagram below shows how a framework that is capable of event-level parallelism might communicate with Geant4
How the high-level architecture of Geant4 might be modified¶
- Each track will need to know to what event it belongs.
- Each track will need to know which module instance contains the context for digitizing; Geant4 callbacks must be associated with the right module instance.
- The reader of the output queue of tracks will need to assemble tracks back into events and know that all tracks are complete for an event; the event then needs to given back to the right module instance.