hpx/execution_distributed/distributed_bulk_sender.hpp#
Defined in header hpx/execution_distributed/distributed_bulk_sender.hpp.
See Public API for a list of names and headers that are part of the public HPX API.
P2300-compliant distributed bulk sender adaptor.
Provides a bulk sender that executes data-parallel work on a remote HPX locality via the distributed_scheduler. The sender intercepts ex::bulk() when the upstream sender’s completion scheduler is a distributed_scheduler, and dispatches a shape-indexed invocation across the parcelport.
Architecture: upstream_sender | v ex::bulk(shape, f) | (completion scheduler == distributed_scheduler) v distributed_bulk_sender<Sender, Shape, F> | v (connect + start) local_receiver wraps downstream_receiver | set_value(Ts…) | => for each index in shape: invoke f(index, ts…) | => forward set_value(ts…) to downstream v downstream_receiver
Note
Current status: local-only stub. The bulk loop executes sequentially on the calling locality. Remote parcelport dispatch will be added once the component-based receiver marshalling infrastructure (nvexec-style) is complete.