Skip to content

Add HPX fork_join_executor implementation for intra-node parallelism #101

Merged
elliottslaughter merged 10 commits intoStanfordLegion:masterfrom
guptapratykshh:feature/hpx-fork-join-executor
Apr 14, 2026
Merged

Add HPX fork_join_executor implementation for intra-node parallelism #101
elliottslaughter merged 10 commits intoStanfordLegion:masterfrom
guptapratykshh:feature/hpx-fork-join-executor

Conversation

@guptapratykshh
Copy link
Copy Markdown
Contributor

This PR adds a new HPX implementation (hpx_task_bench.cpp) that uses hpx::execution::experimental::fork_join_executor for efficient intra-node task graph execution, complementing the existing distributed implementation.

@elliottslaughter
Copy link
Copy Markdown
Contributor

Thanks for submitting this PR. In generally I'm happy to take new implementations, but I'd like to make sure that the build gets integrated and that CI passes with this implementation.

I may need to put in some work from my end to get the rest of the CI to work again, but you don't need to worry about that. If you can just get the various HPX implementations integrated that'll be great.

@guptapratykshh guptapratykshh force-pushed the feature/hpx-fork-join-executor branch from 4a7076d to 024953a Compare February 8, 2026 16:22
@guptapratykshh
Copy link
Copy Markdown
Contributor Author

Thanks, @elliottslaughter I have just pushed an update that integrates the new hpx_task_bench implementation into the test_all.sh suite so it can be verified alongside the other backends. I also updated the CMake configuration to handle both the distributed and standalone versions (making MPI optional)

@guptapratykshh
Copy link
Copy Markdown
Contributor Author

any updates on this @elliottslaughter

@elliottslaughter
Copy link
Copy Markdown
Contributor

Sorry, I know I've been slow on this. Can you ping me again on April 9?

@guptapratykshh
Copy link
Copy Markdown
Contributor Author

Sure, will ping you on 9th again

@guptapratykshh
Copy link
Copy Markdown
Contributor Author

hi @elliottslaughter, it is a reminder and a ping for this PR

@elliottslaughter
Copy link
Copy Markdown
Contributor

Thanks for the reminder. I'm going to work on getting the master branch CI back up, and then once that's passing I'll look at this PR.

@elliottslaughter
Copy link
Copy Markdown
Contributor

Please merge or rebase master. Once you do this it should begin to run CI jobs again.

You will probably see the HPX job failing, so please get that working in this PR. I have shut off the other broken builds so hopefully this is the only thing you need to fix to get the CI passing here.

@guptapratykshh guptapratykshh force-pushed the feature/hpx-fork-join-executor branch from 024953a to 27eb37e Compare April 11, 2026 04:07
@elliottslaughter
Copy link
Copy Markdown
Contributor

Looks like tests pass now.

Could you do one more merge/rebase, and then format the code with clang-format? You can use the top-level format.sh script to help if you want.

@guptapratykshh guptapratykshh force-pushed the feature/hpx-fork-join-executor branch from 721b104 to f488827 Compare April 12, 2026 02:05
@guptapratykshh
Copy link
Copy Markdown
Contributor Author

@elliottslaughter formatting is also done, please have a look

@elliottslaughter
Copy link
Copy Markdown
Contributor

Sorry, one more thing. I found that MPICH on Ubuntu 24.04 was misbehaving and spawning N independent copies of the program (who all think they're in a world of size 1) instead of 1 copy with N ranks.

So if you rebase or merge one more time, I have switched it to OpenMPI which should hopefully behave itself better.

@guptapratykshh guptapratykshh force-pushed the feature/hpx-fork-join-executor branch from f488827 to 16bc39d Compare April 12, 2026 02:43
@elliottslaughter
Copy link
Copy Markdown
Contributor

I think you're hitting an instance of this bug: #94 (comment)

I'm open to suggestions about how to deal with it. This isn't strictly your code, so it would be fair to turn off the HPX distributed implementation for now. On the other hand, since you know HPX, I wouldn't mind if you had the ability to fix the code as well. But I realize that's maybe not easy to do 😅

Let me know what you think.

Copy link
Copy Markdown
Contributor

@elliottslaughter elliottslaughter left a comment

Choose a reason for hiding this comment

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

Looks good, just a few minor comments. Thanks again for submitting this!

Comment thread hpx/hpx_task_bench.cpp Outdated
Comment thread hpx/hpx_fork_join.cc
@elliottslaughter elliottslaughter merged commit 15306db into StanfordLegion:master Apr 14, 2026
14 of 15 checks passed
@elliottslaughter elliottslaughter mentioned this pull request Apr 15, 2026
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