hpx/parallel/spmd_block.hpp¶
See Public API for a list of names and headers that are part of the public HPX API.
-
namespace
hpx
-
namespace
lcos
¶ -
namespace
local
¶ Functions
-
template<typename
ExPolicy
, typenameF
, typename ...Args
, typename = std::enable_if_t<hpx::is_async_execution_policy_v<ExPolicy>>>
decltype(auto)define_spmd_block
(ExPolicy &&policy, std::size_t num_images, F &&f, Args&&... args)¶
-
struct
spmd_block
¶ - #include <spmd_block.hpp>
The class spmd_block defines an interface for launching multiple images while giving handles to each image to interact with the remaining images. The define_spmd_block function templates create multiple images of a user-defined function (or lambda) and launches them in a possibly separate thread. A temporary spmd block object is created and diffused to each image. The constraint for the function (or lambda) given to the define_spmd_block function is to accept a spmd_block as first parameter.
Public Functions
-
spmd_block
(std::size_t num_images, std::size_t image_id, barrier_type &barrier, table_type &barriers, mutex_type &mtx)¶
-
spmd_block
(spmd_block&&)¶
-
spmd_block
(spmd_block const&)¶
-
spmd_block &
operator=
(spmd_block&&)¶
-
spmd_block &
operator=
(spmd_block const&)¶
-
void
sync_all
() const¶
Private Types
Private Members
-
std::reference_wrapper<barrier_type>
barrier_
¶
-
std::reference_wrapper<table_type>
barriers_
¶
-
std::reference_wrapper<mutex_type>
mtx_
¶
-
-
template<typename
-
namespace
-
namespace
parallel
Typedefs
-
using
spmd_block
= hpx::lcos::local::spmd_block¶ The class spmd_block defines an interface for launching multiple images while giving handles to each image to interact with the remaining images. The define_spmd_block function templates create multiple images of a user-defined function (or lambda) and launches them in a possibly separate thread. A temporary spmd block object is created and diffused to each image. The constraint for the function (or lambda) given to the define_spmd_block function is to accept a spmd_block as first parameter.
Functions
-
template<typename
ExPolicy
, typenameF
, typename ...Args
, typename = std::enable_if_t<hpx::is_async_execution_policy_v<ExPolicy>>>
decltype(auto)define_spmd_block
(ExPolicy &&policy, std::size_t num_images, F &&f, Args&&... args)¶
-
using
-
namespace