Replies: 2 comments
-
Right now, oneTBB's support for coroutines is uncertain. Mike Voss has suggested oneTBB's resumable tasks could provide a similar interface for users while working directly with the oneTBB thread pool. |
Beta Was this translation helpful? Give feedback.
0 replies
-
See issue #42. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
With art, any input source must emit one "message" at a time in a way that is consistent with the run-subrun-event hierarchy. Doing this correctly requires maintaining a decent amount of state, which can be cumbersome. With C++20 coroutines, I believe this can be substantially simplified.
For example, consider a simple run-subrun-spill hierarchy. It is conceivable that a user could create the following driver as a plugin:
which would instruct the framework to process 2 runs, each with 2 subruns, with each subrun containing 3 spills. The framework code is then simple:
For working example, see here.
This approach could be helpful as we consider supporting the invocation of algorithms with data products from different hierarchies. We may want generators that return multiple data-product set IDs from different hierarchies.
Beta Was this translation helpful? Give feedback.
All reactions