Skip to content

Clean up stdexec-only paths and update affected tests#7123

Merged
hkaiser merged 65 commits into
TheHPXProject:masterfrom
guptapratykshh:cleanup/stdexec-pr
May 3, 2026
Merged

Clean up stdexec-only paths and update affected tests#7123
hkaiser merged 65 commits into
TheHPXProject:masterfrom
guptapratykshh:cleanup/stdexec-pr

Conversation

@guptapratykshh
Copy link
Copy Markdown
Contributor

Proposed Changes

  • removedHPX_HAVE_STDEXECguarded cleanup paths and kept the stdexec-only implementation as the single active path
  • update the affected execution, execution_base, executor, algorithm, async MPI/CUDA, and synchronization tests to match the unified stdexec-only code path
  • cleared up related CMake/stdexec configuration so the build reflects the same single-path setup consistently

Any background context you want to provide?

Checklist

Not all points below apply to all pull requests.

  • I have added a new feature and have added tests to go along with it.
  • I have fixed a bug and have added a regression test.
  • I have added a test using random numbers; I have made sure it uses a seed, and that random numbers generated are valid inputs for the tests.

@guptapratykshh guptapratykshh requested a review from hkaiser as a code owner March 28, 2026 05:53
@StellarBot
Copy link
Copy Markdown
Collaborator

Can one of the admins verify this patch?

@guptapratykshh guptapratykshh force-pushed the cleanup/stdexec-pr branch 4 times, most recently from 7ca8cbe to a24be1a Compare March 28, 2026 08:45
@hkaiser
Copy link
Copy Markdown
Contributor

hkaiser commented Mar 28, 2026

@isidorostsa Please have a look

@hkaiser
Copy link
Copy Markdown
Contributor

hkaiser commented Mar 28, 2026

BTW, how does this relate to #6708? Does this PR superseds it?

@hkaiser
Copy link
Copy Markdown
Contributor

hkaiser commented Mar 28, 2026

@guptapratykshh thanks for working on this. Could you please proactively keep an eye on the CI results. Currently there seem to be some compilation issues with this PR.

@guptapratykshh
Copy link
Copy Markdown
Contributor Author

BTW, how does this relate to #6708? Does this PR superseds it?

this PR is a narrower follow up in the same direction as #6708, updated on top of the current master rather than a wholesale replacement for it. It keeps the stdexec-only cleanup goal, but its scope here is mainly removing the remaining dead internal paths and fixing the resulting test issues while preserving backward compatibility.

@hkaiser
Copy link
Copy Markdown
Contributor

hkaiser commented Mar 28, 2026

BTW, how does this relate to #6708? Does this PR superseds it?

this PR is a narrower follow up in the same direction as #6708, updated on top of the current master rather than a wholesale replacement for it. It keeps the stdexec-only cleanup goal, but its scope here is mainly removing the remaining dead internal paths and fixing the resulting test issues while preserving backward compatibility.

Thanks for the explanations. Do we still need #6708? What does it have in addition to your PR?

@guptapratykshh
Copy link
Copy Markdown
Contributor Author

BTW, how does this relate to #6708? Does this PR superseds it?

this PR is a narrower follow up in the same direction as #6708, updated on top of the current master rather than a wholesale replacement for it. It keeps the stdexec-only cleanup goal, but its scope here is mainly removing the remaining dead internal paths and fixing the resulting test issues while preserving backward compatibility.

Thanks for the explanations. Do we still need #6708? What does it have in addition to your PR?

after merging #6708 into my branch and updating it to work with current master, I do not think we still need #6708 as separate PR

@hkaiser
Copy link
Copy Markdown
Contributor

hkaiser commented Mar 28, 2026

Thanks for the explanations. Do we still need #6708? What does it have in addition to your PR?

after merging #6708 into my branch and updating it to work with current master, I do not think we still need #6708 as separate PR

Ok, please let me know once you think that we can close the other PR.

@guptapratykshh guptapratykshh force-pushed the cleanup/stdexec-pr branch 8 times, most recently from 3863598 to 62d14bc Compare March 29, 2026 13:59
Copy link
Copy Markdown
Contributor

@isidorostsa isidorostsa left a comment

Choose a reason for hiding this comment

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

Thank you for taking on this task! Removing old senders would be helpful

To make it possible to review this please contain unnecessary or pedantic edits as much as possible.

Comment thread .github/actions/collect-artifacts/action.yml
Comment thread libs/core/async_cuda/include/hpx/async_cuda/cuda_event.hpp Outdated
Comment thread libs/core/execution/include/hpx/execution/algorithms/as_sender.hpp Outdated
@guptapratykshh guptapratykshh force-pushed the cleanup/stdexec-pr branch 3 times, most recently from 49ba52e to d94eaf8 Compare March 30, 2026 13:29
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 147 out of 167 changed files in this pull request and generated 4 comments.

Comment thread libs/core/execution/tests/unit/CMakeLists.txt Outdated
Comment thread libs/core/async_mpi/tests/unit/algorithm_transform_mpi.cpp
Copilot AI review requested due to automatic review settings April 20, 2026 07:26
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 147 out of 168 changed files in this pull request and generated 1 comment.

Comment thread libs/core/execution/tests/unit/CMakeLists.txt Outdated
Copilot AI review requested due to automatic review settings April 20, 2026 11:50
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 147 out of 167 changed files in this pull request and generated 1 comment.

Comment thread libs/core/execution_base/tests/unit/CMakeLists.txt
@guptapratykshh guptapratykshh requested a review from hkaiser April 21, 2026 09:16
@hkaiser
Copy link
Copy Markdown
Contributor

hkaiser commented Apr 21, 2026

@guptapratykshh Thanks so much for your patience with this. This PR is very large, so it is of utmost importance to separate all unrelated changes into their own PRs. Please make sure that the changes to the build system you applied are strictly related to this PR. I think you should not disable unrelated tests, even if those fail on the CIs, for instance. Also, please pay attention to the copilot comments (and not simply resolve them) as usually there is some truth to what it suggest (even if the suggested solution might not be appropriate).

Comment thread examples/quickstart/CMakeLists.txt Outdated
Comment thread libs/core/algorithms/include/hpx/parallel/algorithms/shift_right.hpp Outdated
Comment thread libs/core/algorithms/tests/performance/CMakeLists.txt
Comment thread libs/core/algorithms/tests/unit/algorithms/foreach_scheduler.cpp Outdated
test_uninitialized_copy_n_sender(
hpx::launch::async, par(task), IteratorTag());
test_uninitialized_copy_n_sender(
hpx::launch::async, par_unseq(task), IteratorTag());
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why did you remove these test cases?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

These tests are still removed. Will you re-add them?

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.

those test cases were re-added in commit 974334220d

test_uninitialized_copy_n_exception_sender(
hpx::launch::async, par(task), IteratorTag());
test_uninitialized_copy_n_exception_sender(
hpx::launch::async, par_unseq(task), IteratorTag());
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Same here, why did you remove these testcases. The same applies to more places in other files.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Same here, these tests are still removed. Will you re-add them? So are many more tests below.

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.

those test cases were re-added in commit 974334220d

Comment thread tools/.codespell_whitelist Outdated
Comment thread CMakeLists.txt Outdated
Copilot AI review requested due to automatic review settings April 21, 2026 20:27
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 141 out of 160 changed files in this pull request and generated 2 comments.

Comments suppressed due to low confidence (1)

libs/core/execution_base/tests/unit/CMakeLists.txt:1

  • This change skips registering all execution_base unit tests when using Clang/AppleClang. That’s a large reduction in CI signal for those toolchains and may hide regressions unrelated to the specific warning/ICE being worked around. Prefer targeting only the failing tests (e.g. list(REMOVE_ITEM ...) for known problematic sources) or adding per-target compile options/diagnostic suppression instead of disabling the entire test directory for Clang.
# Copyright (c) 2019 Thomas Heller

Comment thread libs/core/execution_base/include/hpx/execution_base/this_thread.hpp
Comment thread cmake/HPX_SetupStdexec.cmake
Copilot AI review requested due to automatic review settings April 22, 2026 06:00
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 142 out of 161 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (1)

cmake/templates/std_headers.hpp.in:1

  • This change removes the HPX_HAVE_STDEXEC guard and now unconditionally emits #pragma ... diagnostic pop (Clang) and a push+pop block (GCC). For Clang in particular, a diagnostic pop without a matching earlier push commonly triggers warnings/errors. Please ensure the pragmas are correctly paired (either reintroduce the guard, add the missing push, or avoid emitting pop when no push has been issued).
//  Copyright (c) 2019-@HPX_COPYRIGHT_YEAR@ STE||AR Group

Copy link
Copy Markdown
Contributor

@hkaiser hkaiser left a comment

Choose a reason for hiding this comment

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

Let's go ahead with merging this PR as all tests seem to pass.

@hkaiser
Copy link
Copy Markdown
Contributor

hkaiser commented May 3, 2026

@guptapratykshh Thank you again for your work on this. I have now merged this PR, however we should keep an eye on how things evolve.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants