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.