Skip to content
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

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

Merged
merged 22 commits into from
Mar 24, 2025

Conversation

lucteo
Copy link
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 link

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
Collaborator

/ok to test

@lucteo
Copy link
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
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
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.

@lucteo lucteo requested a review from ericniebler March 22, 2025 14:53
@ericniebler
Copy link
Collaborator

/ok to test

@ericniebler
Copy link
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
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
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