-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Provide a serial "thread pool" for use in the tasking #1219
Conversation
This looks good to me! Worked in phoebus and improved output on crash for debugging greatly. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking back I don't think I made my changes into a formal MR, I just hacked out the threading without the niceties here. This is the right way to do it.
Though, someday this may tempt someone into making a ProcessPool
using IPC, and I am registering now I want no part of that mess.
Ping @pgrete @jdolence @BenWibking @forrestglines @pdmullen any objections to this MR going in? |
PR Summary
PR Checklist
This has come up multiple times before, but currently trying to chase down a throw and getting blocked by the threading. This MR provides a simple compile time option to fake a thread pool and run the new tasking machinery entirely without threading. Simply build with
-DPARTHENON_USE_SERIAL_POOL=ON
and the thread pool will be replaced with a simple queue.
@AstroBarker try running with this branch to debug your issue. @jdolence thoughts on this addition as a debugging tool? I believe @bprather also did something like this. But I'm not sure where that MR went. So I just re-did it.