You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This introduces:
* asyncronous event generation
* possibility for parallel event generation
This is useful for:
* hiding latency (IO) of certain generators
* decoupling the actual work from the call sequence into HybridGenerator
* collaboration from multiple clones of the same generator to generate
a certain number of events
The implementation relies on tbb::task_arena and input/output queues
for decoupling the task_arena from the HybridGenerator thread.
An example is added for parallel event gen.
In addition, this commit has the following changes:
- Small adjustments to seeding of Pythia8 in order
to avoid same seeds in multiple parallel Pythia instances.
- possibility to init external generator from an INI file (typically
done or available in O2DPG)
- use shared_ptr instead of unique_ptr to keep generators in order
to avoid lifetime problems with async processing
- preparion to run underlying generator Init() functions in async way
(not active yet; needs checks if generators are thread safe)
(cherry picked from commit f4d9b9c)
0 commit comments