Parallel scheduler -- incorporate feedback from LEWG in Hagenberg#1485
Parallel scheduler -- incorporate feedback from LEWG in Hagenberg#1485ericniebler merged 22 commits intoNVIDIA:mainfrom
Conversation
One can replace different specialization of `query_system_context`. The runtime setter for system context (`set_system_context_backend`) is visible and can be specialized.
Instead of having a dedicated parameter of type `env`, the receiver environment is now exposed thorough `receiver`. We don't need to store any extra data in the operation state, and the receiver can be queried at any time for receiver environment properties.
…r_backend` plain function. Same for the setter, but also mark it as "out of spec".
(and associated types) Anonymized some types that are not named by the design.
|
/ok to test |
Hoping that msvc will allow it to be `constinit`.
|
@ericniebler : this is ready for review / CI check. Thank you very much! (after this, I'm planning another PR that makes changes to |
|
|
||
| /// Returns a scheduler that can add work to the underlying execution context. | ||
| auto get_system_scheduler() -> system_scheduler; | ||
| auto get_parallel_scheduler() -> parallel_scheduler; |
There was a problem hiding this comment.
can you pls add back a (deprecated) get_system_scheduler() function?
|
/ok to test |
|
@lucteo stdexec is currently broken on gcc-14/15 because the new system context is trying to |
|
@ericniebler : can you please retrigger the the GPU build in the hope that it will pass? (it seems that there is some problems there, as this is not the first time I see the CI failing in the same way) |
i've been retrying it. this is attempt # 15. it is caused by a known internal nvidia networking issue (the gpu runners are hosted by nvidia). it's been like this for weeks. the issue is being worked on. until then, i'll keep re-running the tests until they pass, or just force-land it. |
Incorporate the feedback from LEWG in Hagenberg, except the changes related to bulk (P3481), which will come as a later PR.
Mainly renames; minor changes to the API.