hpx/collectives/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
Functions
-
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 action and launches them in a possibly separate thread. A temporary spmd block object is created and diffused to each image. The constraint for the action given to the define_spmd_block function is to accept a spmd_block as first parameter.
Public Functions
-
spmd_block
()¶
-
spmd_block
(std::string const &name, std::size_t images_per_locality, std::size_t num_images, std::size_t image_id)¶
-
void
sync_all
() const¶
-
template<typename
Iterator
>
std::enable_if<traits::is_input_iterator<Iterator>::value>::typesync_images
(Iterator begin, Iterator end) const¶
-
template<typename ...
I
>
std::enable_if<util::all_of<typename std::is_integral<I>::type...>::value>::typesync_images
(I... i)¶
-
hpx::future<void>
sync_images
(hpx::launch::async_policy const&, std::set<std::size_t> const &images) const¶
-
hpx::future<void>
sync_images
(hpx::launch::async_policy const &policy, std::vector<std::size_t> const &input_images) const¶
Private Types
-
using
barrier_type
= hpx::distributed::barrier¶
Private Members
-
hpx::util::jenkins_hash
hash_
¶
-
std::shared_ptr<hpx::distributed::barrier>
barrier_
¶
-
table_type
barriers_
¶
Friends
-
friend
hpx::lcos::hpx::serialization::access
-
-
struct
-
namespace