-
Notifications
You must be signed in to change notification settings - Fork 10
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
Add a bypass scheduler to improve mpi continuations #1195
base: main
Are you sure you want to change the base?
Commits on Jul 25, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 1092ab3 - Browse repository at this point
Copy the full SHA 1092ab3View commit details -
Fix bug fetching non existant mpi pool
If pika tries to use completion modes and the user did not setup a pool, the default pool must be returned to prevent accessing one that has not been created.
Configuration menu - View commit details
-
Copy full SHA for c617fdd - Browse repository at this point
Copy the full SHA c617fddView commit details -
Configuration menu - View commit details
-
Copy full SHA for a4c4202 - Browse repository at this point
Copy the full SHA a4c4202View commit details -
Ensure polling is started and handle MPI errors more generically Remove return type from mpi transform Changes to mpi internals broke the RAII polling setup.
Configuration menu - View commit details
-
Copy full SHA for a8246e2 - Browse repository at this point
Copy the full SHA a8246e2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7f86541 - Browse repository at this point
Copy the full SHA 7f86541View commit details -
Configuration menu - View commit details
-
Copy full SHA for e4aecd2 - Browse repository at this point
Copy the full SHA e4aecd2View commit details -
Configuration menu - View commit details
-
Copy full SHA for fab14c9 - Browse repository at this point
Copy the full SHA fab14c9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7adc4f6 - Browse repository at this point
Copy the full SHA 7adc4f6View commit details -
Configuration menu - View commit details
-
Copy full SHA for c907efb - Browse repository at this point
Copy the full SHA c907efbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 980b5b4 - Browse repository at this point
Copy the full SHA 980b5b4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 27e5ba7 - Browse repository at this point
Copy the full SHA 27e5ba7View commit details -
Configuration menu - View commit details
-
Copy full SHA for f3a3b07 - Browse repository at this point
Copy the full SHA f3a3b07View commit details -
Configuration menu - View commit details
-
Copy full SHA for 058e27d - Browse repository at this point
Copy the full SHA 058e27dView commit details -
Detect MPIx continuations at configure time to improve testing
To test continuations, we need to add 16 to the numeric mpi modes so detecting the presence at configure time is necessary
Configuration menu - View commit details
-
Copy full SHA for eed85ed - Browse repository at this point
Copy the full SHA eed85edView commit details
Commits on Jul 26, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 2148ea8 - Browse repository at this point
Copy the full SHA 2148ea8View commit details
Commits on Aug 5, 2024
-
Configuration menu - View commit details
-
Copy full SHA for a58f844 - Browse repository at this point
Copy the full SHA a58f844View commit details -
Configuration menu - View commit details
-
Copy full SHA for b7b61f4 - Browse repository at this point
Copy the full SHA b7b61f4View commit details -
Disable sanitizer checks for troublesome error handler tests
mpi transform tests using set_error are triggering stack corruption errors that might or might not be real, but disabling them (for now) will clean up the dashboard
Configuration menu - View commit details
-
Copy full SHA for ac45f96 - Browse repository at this point
Copy the full SHA ac45f96View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2128b42 - Browse repository at this point
Copy the full SHA 2128b42View commit details -
Update cmake/tests/check_openmpi_continuations.cpp
Co-authored-by: Mikael Simberg <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f9b583c - Browse repository at this point
Copy the full SHA f9b583cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 14024b0 - Browse repository at this point
Copy the full SHA 14024b0View commit details -
Configuration menu - View commit details
-
Copy full SHA for e8d51df - Browse repository at this point
Copy the full SHA e8d51dfView commit details -
Configuration menu - View commit details
-
Copy full SHA for bfc0a4e - Browse repository at this point
Copy the full SHA bfc0a4eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1740ade - Browse repository at this point
Copy the full SHA 1740adeView commit details -
Add new MPIX continuation mode that executes continuations directly
The existing mode uses suspend/resume which can be problematic if threads suspend and block, but in principle we should directly execute continuations as function calls which this new mode does
Configuration menu - View commit details
-
Copy full SHA for c398315 - Browse repository at this point
Copy the full SHA c398315View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6941f7a - Browse repository at this point
Copy the full SHA 6941f7aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6a01cbc - Browse repository at this point
Copy the full SHA 6a01cbcView commit details -
Add a new bypass scheduler to execute tasks inliine on a pika thread
Callbacks to sender set_value/error should not be triggered directly on a polling thread as continuations will be called on the polling thread. Instead the execution should be tranferred to a pika thread/task. Adding a transfer adaptor costs task creation, plus enqueuing/dequeuing of the task, so the bypass scheduler supports inline execution, but with the creation of a task wrapper around the callback so that it is safe to suspend/resume etc and no raw scheduler/polling threads are running user code.
Configuration menu - View commit details
-
Copy full SHA for d08e547 - Browse repository at this point
Copy the full SHA d08e547View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9f0d830 - Browse repository at this point
Copy the full SHA 9f0d830View commit details -
Adjust transform_mpi to use bypass scheduler and fix some wrinkles
Bypass scheduler must never be run on top of an existing pika task, otherwise coroutine self pointer is clobberred (thread local). Rearrange transfers in transform_mpi to better route inline continuations through the bypass scheduler and skip it when not needed
Configuration menu - View commit details
-
Copy full SHA for 85cd74e - Browse repository at this point
Copy the full SHA 85cd74eView commit details -
Clean up bypass scheduler, remove debug, extraneous code
We do not need the RAII state restorer object as our thread creation is always on the executing thread and certain race conditions are not valid Improve comments and remove unsupported API features
Configuration menu - View commit details
-
Copy full SHA for fad487d - Browse repository at this point
Copy the full SHA fad487dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 548f2d5 - Browse repository at this point
Copy the full SHA 548f2d5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2fa4aed - Browse repository at this point
Copy the full SHA 2fa4aedView commit details -
Configuration menu - View commit details
-
Copy full SHA for 53b29da - Browse repository at this point
Copy the full SHA 53b29daView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1cb5a17 - Browse repository at this point
Copy the full SHA 1cb5a17View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5f581dc - Browse repository at this point
Copy the full SHA 5f581dcView commit details -
Configuration menu - View commit details
-
Copy full SHA for cc1941d - Browse repository at this point
Copy the full SHA cc1941dView commit details -
Configuration menu - View commit details
-
Copy full SHA for fcbf6bb - Browse repository at this point
Copy the full SHA fcbf6bbView commit details
Commits on Aug 7, 2024
-
Fix some bypass scheduler issues when using dla-future
The bypass needs to be added to the cuda polling, but this termporary fix inserts and extra bypass before issuing mpi requests if the thread id is invalid. Also, if the bypass scheduler is invoked on a thread that is already a task, it skips task creation and becomes a simple pass through execution.
Configuration menu - View commit details
-
Copy full SHA for de64414 - Browse repository at this point
Copy the full SHA de64414View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7867f22 - Browse repository at this point
Copy the full SHA 7867f22View commit details