Skip to content

Conversation

@alibuild
Copy link

Your PR AliceO2Group#13788 cannot be merged as is. You should either run clang-format yourself and update the pull request, or merge this PR in yours.
You can find the AliceO2 coding conventions at https://github.com/AliceO2Group/CodingGuidelines.

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)
@sawenzel sawenzel force-pushed the swenzel/hybrid_async branch from d02acbb to 0c1ff2a Compare December 12, 2024 10:22
@sawenzel sawenzel self-requested a review as a code owner December 12, 2024 10:22
@alibuild alibuild force-pushed the alibot-cleanup-13788 branch from db95273 to 3519238 Compare December 12, 2024 10:22
@sawenzel sawenzel force-pushed the swenzel/hybrid_async branch from 0c1ff2a to 526ae57 Compare December 12, 2024 10:25
@alibuild alibuild closed this Dec 12, 2024
@alibuild alibuild deleted the alibot-cleanup-13788 branch December 12, 2024 10:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants