collectivesΒΆ

The collectives module exposes a set of distributed collective operations. Those can be used to exchange data between participating sites in a coordinated way. At this point the module exposes the following collective primitives:

  • hpx::collectives::all_reduce: performs a reduction on data from each participating site to each participating site.

  • hpx::collectives::all_to_all: each participating site provides its element of the data to collect while all participating sites receive the data from every other site.

  • hpx::lcos::barrier: distributed barrier.

  • hpx::lcos::broadcast: performs a given action on all given global identifiers.

  • hpx::lcos::fold: performs a fold with a given action on all given global identifiers.

  • hpx::lcos::gather: gathers values from all participating sites.

  • hpx::lcos::latch: distributed latch.

  • hpx::lcos::reduce: performs a reduction on data from each participating site to a root site.

  • hpx::lcos::spmd_block: performs the same operation on a local image while providing handles to the other images.

See the API reference of the module for more details.