Add HPX fork_join_executor implementation for intra-node parallelism #101
Conversation
|
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. |
4a7076d to
024953a
Compare
|
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) |
|
any updates on this @elliottslaughter |
|
Sorry, I know I've been slow on this. Can you ping me again on April 9? |
|
Sure, will ping you on 9th again |
|
hi @elliottslaughter, it is a reminder and a ping for this PR |
|
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. |
|
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. |
024953a to
27eb37e
Compare
|
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 |
721b104 to
f488827
Compare
|
@elliottslaughter formatting is also done, please have a look |
|
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. |
Signed-off-by: guptapratykshh <pratykshgupta9999@gmail.com>
f488827 to
16bc39d
Compare
|
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. |
elliottslaughter
left a comment
There was a problem hiding this comment.
Looks good, just a few minor comments. Thanks again for submitting this!
15306db
into
StanfordLegion:master
This PR adds a new HPX implementation (hpx_task_bench.cpp) that uses
hpx::execution::experimental::fork_join_executorfor efficient intra-node task graph execution, complementing the existing distributed implementation.