hpx::distributed::barrier#

Defined in header hpx/barrier.hpp.

See Public API for a list of names and headers that are part of the public HPX API.

explicit hpx::distributed::barrier(std::string const &base_name)#

Creates a barrier, rank is locality id, size is number of localities

A barrier base_name is created. It expects that hpx::get_num_localities() participate and the local rank is hpx::get_locality_id().

Parameters

base_name – The name of the barrier

hpx::distributed::barrier(std::string const &base_name, std::size_t num)#

Creates a barrier with a given size, rank is locality id

A barrier base_name is created. It expects that num participate and the local rank is hpx::get_locality_id().

Parameters
  • base_name – The name of the barrier

  • num – The number of participating threads

hpx::distributed::barrier(std::string const &base_name, std::size_t num, std::size_t rank)#

Creates a barrier with a given size and rank

A barrier base_name is created. It expects that num participate and the local rank is rank.

Parameters
  • base_name – The name of the barrier

  • num – The number of participating threads

  • rank – The rank of the calling site for this invocation

hpx::distributed::barrier(std::string const &base_name, std::vector<std::size_t> const &ranks, std::size_t rank)#

Creates a barrier with a vector of ranks

A barrier base_name is created. It expects that ranks.size() and the local rank is rank (must be contained in ranks).

Parameters
  • base_name – The name of the barrier

  • ranks – Gives a list of participating ranks (this could be derived from a list of locality ids

  • rank – The rank of the calling site for this invocation