Skip to content

Parallel scheduler -- incorporate feedback from LEWG in Hagenberg#1485

Merged
ericniebler merged 22 commits intoNVIDIA:mainfrom
lucteo:parallel-scheduler
Mar 24, 2025
Merged

Parallel scheduler -- incorporate feedback from LEWG in Hagenberg#1485
ericniebler merged 22 commits intoNVIDIA:mainfrom
lucteo:parallel-scheduler

Conversation

@lucteo
Copy link
Copy Markdown
Contributor

@lucteo lucteo commented Mar 3, 2025

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.

lucteo and others added 14 commits January 5, 2025 13:31
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.
@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented Mar 3, 2025

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@ericniebler
Copy link
Copy Markdown
Collaborator

/ok to test

@lucteo
Copy link
Copy Markdown
Contributor Author

lucteo commented Mar 21, 2025

@ericniebler : this is ready for review / CI check. Thank you very much!

(after this, I'm planning another PR that makes changes to bulk, which also affects this code)


/// Returns a scheduler that can add work to the underlying execution context.
auto get_system_scheduler() -> system_scheduler;
auto get_parallel_scheduler() -> parallel_scheduler;
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you pls add back a (deprecated) get_system_scheduler() function?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done. thank you.

Comment thread include/exec/system_context.hpp Outdated
@lucteo lucteo requested a review from ericniebler March 22, 2025 14:53
@ericniebler
Copy link
Copy Markdown
Collaborator

/ok to test

@ericniebler
Copy link
Copy Markdown
Collaborator

@lucteo stdexec is currently broken on gcc-14/15 because the new system context is trying to constinit the singleton, which has a std::shared_ptr in it. could you pls have a look at that?

@lucteo
Copy link
Copy Markdown
Contributor Author

lucteo commented Mar 23, 2025

@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)

@ericniebler
Copy link
Copy Markdown
Collaborator

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.

@ericniebler ericniebler merged commit fc92181 into NVIDIA:main Mar 24, 2025
@lucteo lucteo deleted the parallel-scheduler branch March 24, 2025 18:01
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