Branch: refs/heads/master
Home: https://github.com/STEllAR-GROUP/hpx
Commit: 8a9a0541a7b20564b995f5ab7d1e7377d3fd94ab
https://github.com/STEllAR-GROUP/hpx/commit/8a9a0541a7b20564b995f5ab7d1e7377d3fd94ab
Author: Hartmut Kaiser <[email protected]>
Date: 2022-11-21 (Mon, 21 Nov 2022)
Changed paths:
M libs/core/algorithms/include/hpx/parallel/util/detail/sender_util.hpp
M libs/core/algorithms/tests/unit/algorithms/CMakeLists.txt
A libs/core/algorithms/tests/unit/algorithms/foreach_scheduler.cpp
M libs/core/execution_base/include/hpx/execution_base/sender.hpp
M libs/core/executors/CMakeLists.txt
A libs/core/executors/include/hpx/executors/execute_on.hpp
Log Message:
-----------
Implement P2690 (aka. p2500) for our algorithms
Commit: 376c4672c156371ec34cc26b120e6c74d10ed28a
https://github.com/STEllAR-GROUP/hpx/commit/376c4672c156371ec34cc26b120e6c74d10ed28a
Author: StellarBot <[email protected]>
Date: 2022-11-23 (Wed, 23 Nov 2022)
Changed paths:
M libs/core/algorithms/include/hpx/parallel/util/detail/sender_util.hpp
M libs/core/algorithms/tests/unit/algorithms/CMakeLists.txt
A libs/core/algorithms/tests/unit/algorithms/foreach_scheduler.cpp
M libs/core/execution_base/include/hpx/execution_base/sender.hpp
M libs/core/executors/CMakeLists.txt
A libs/core/executors/include/hpx/executors/execute_on.hpp
Log Message:
-----------
Merge #6070
6070: Implement P2690 for our algorithms r=hkaiser a=hkaiser
This PR adds the facilities that are proposed by
[P2690](http://wg21.link/p2690). It also adds default implementations for all
of our algorithms.
Coincidentally, this goes beyond P2690 as it also enables asynchronous
invocations of the algorithms using the new facilities. Here are a couple of
examples:
```
// synchronous parallel invocation
hpx::for_each(scheduler_t(), std::begin(c), std::end(c), f);
// synchronous invocation using hpx::execution::par
hpx::for_each(ex::execute_on(scheduler_t(), hpx::execution::par),
std::begin(c), std::end(c), f);
// asynchronous invocation using hpx::execution::par
hpx::for_each(
ex::execute_on(scheduler_t(), hpx::execution::par(hpx::execution::task)),
std::begin(c), std::end(c), f) |
tt::sync_wait();
// asynchronous invocation using hpx::execution::par as part of a S/R chain
ex::just(std::begin(c), std::end(c), f) |
hpx::for_each(
ex::execute_on(scheduler_t(),
hpx::execution::par(hpx::execution::task))) |
tt::sync_wait();
```
Co-authored-by: Hartmut Kaiser <[email protected]>
Compare:
https://github.com/STEllAR-GROUP/hpx/compare/7445e8ad10ad...376c4672c156
_______________________________________________
hpx-commits mailing list
[email protected]
https://mail.cct.lsu.edu/mailman/listinfo/hpx-commits