STEllAR-GROUP / hpx

The C++ Standard Library for Parallelism and Concurrency
https://hpx.stellar-group.org
Boost Software License 1.0
2.5k stars 429 forks source link

Implement P0443/P1897/P2300 #5045

Open msimberg opened 3 years ago

msimberg commented 3 years ago

This is a tracking issue for the new and improved P0443 (previous issue was here: https://github.com/STEllAR-GROUP/hpx/issues/2439). As with the previous issue, things are still in progress, so we can't really go all in yet, but we can explore things and see what changes are required.

I'm starting this by collecting the relevant proposals here:

Implementations:

Bulk execution discussion:

Related PRs:

msimberg commented 3 years ago

I have local changes to add the remaining CPOs defined in P0443, and some basic senders/receivers that work on our thread pools. I'll be opening a PR next week...

msimberg commented 3 years ago

Added P2300 (https://isocpp.org/files/papers/P2300R0.html) to the list. It combines P0443 and P1897 into a single paper and cleans up some rough edges.

hkaiser commented 3 years ago

Re P2300: here is a list of things that are changed compared to P0443 and P1897 (please update this list as needed):

There is a new concept of completion-schedulers that may be associated with a particular sender. Thus

General changes:

msimberg commented 2 years ago

The lazy/eager bifurcation was removed from a later revision. @hkaiser I've edited your comment to remove the lazy_ versions (the non-lazy_ versions are now always lazy).

hkaiser commented 2 years ago

This document adds more refinements to P2300 that need to be taken into account: P2532:

hkaiser commented 2 years ago

Changes in P2300R5 (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2300r5.html):

Fixes:

Enhancements:

hkaiser commented 1 year ago

There is also: