hpx/collectives/scatter.hpp¶
See Public API for a list of names and headers that are part of the public HPX API.
-
namespace
hpx
-
namespace
collectives
Functions
-
template<typename
T
>
hpx::future<T>scatter_from
(char const *basename, this_site_arg this_site = this_site_arg(), generation_arg generation = generation_arg(), root_site_arg root_site = root_site_arg())¶ Scatter (receive) a set of values to different call sites
This function receives an element of a set of values operating on the given base name.
- Return
This function returns a future holding a the scattered value. It will become ready once the scatter operation has been completed.
- Parameters
basename
: The base name identifying the scatter operationgeneration
: The generational counter identifying the sequence number of the scatter operation performed on the given base name. This is optional and needs to be supplied only if the scatter operation on the given base name has to be performed more than once.this_site
: The sequence number of this invocation (usually the locality id). This value is optional and defaults to whatever hpx::get_locality_id() returns.root_site
: The sequence number of the central scatter point (usually the locality id). This value is optional and defaults to 0.
-
template<typename
T
>
hpx::future<T>scatter_from
(communicator comm, this_site_arg this_site = this_site_arg())¶ Scatter (receive) a set of values to different call sites
This function receives an element of a set of values operating on the given base name.
- Return
This function returns a future holding a the scattered value. It will become ready once the scatter operation has been completed.
- Parameters
comm
: A communicator object returned from create_communicatorthis_site
: The sequence number of this invocation (usually the locality id). This value is optional and defaults to whatever hpx::get_locality_id() returns.
-
template<typename
T
>
hpx::future<T>scatter_to
(char const *basename, std::vector<T> &&result, num_sites_arg num_sites = num_sites_arg(), this_site_arg this_site = this_site_arg(), generation_arg generation = generation_arg())¶ Scatter (send) a part of the value set at the given call site
This function transmits the value given by result to a central scatter site (where the corresponding scatter_from is executed)
- Return
This function returns a future holding a the scattered value. It will become ready once the scatter operation has been completed.
- Parameters
basename
: The base name identifying the scatter operationresult
: The value to transmit to the central scatter point from this call site.num_sites
: The number of participating sites (default: all localities).generation
: The generational counter identifying the sequence number of the scatter operation performed on the given base name. This is optional and needs to be supplied only if the scatter operation on the given base name has to be performed more than once.this_site
: The sequence number of this invocation (usually the locality id). This value is optional and defaults to whatever hpx::get_locality_id() returns.
-
template<typename
T
>
hpx::future<T>scatter_to
(communicator comm, std::vector<T> &&result, this_site_arg this_site = this_site_arg())¶ Scatter (send) a part of the value set at the given call site
This function transmits the value given by result to a central scatter site (where the corresponding scatter_from is executed)
- Return
This function returns a future holding a the scattered value. It will become ready once the scatter operation has been completed.
- Parameters
comm
: A communicator object returned from create_communicatornum_sites
: The number of participating sites (default: all localities).this_site
: The sequence number of this invocation (usually the locality id). This value is optional and defaults to whatever hpx::get_locality_id() returns.
-
template<typename
-
namespace