hpx/executors/parallel_executor.hpp¶
See Public API for a list of names and headers that are part of the public HPX API.
-
namespace
hpx
-
namespace
execution
-
-
template<typename
Policy
>
structparallel_policy_executor
¶ - #include <parallel_executor.hpp>
A parallel_executor creates groups of parallel execution agents which execute in threads implicitly created by the executor. This executor prefers continuing with the creating thread first before executing newly created threads.
This executor conforms to the concepts of a TwoWayExecutor, and a BulkTwoWayExecutor
Public Types
-
template<>
usingexecution_category
= parallel_execution_tag¶ Associate the parallel_execution_tag executor tag type as a default with this executor.
-
template<>
usingexecutor_parameters_type
= static_chunk_size¶ Associate the static_chunk_size executor parameters type as a default with this executor.
Public Functions
-
constexpr
parallel_policy_executor
(threads::thread_priority priority, threads::thread_stacksize stacksize = threads::thread_stacksize::default_, threads::thread_schedule_hint schedulehint = {}, Policy l = parallel::execution::detail::get_default_policy<Policy>::call(), std::size_t hierarchical_threshold = hierarchical_threshold_default_)¶ Create a new parallel executor.
-
constexpr
parallel_policy_executor
(threads::thread_stacksize stacksize, threads::thread_schedule_hint schedulehint = {}, Policy l = parallel::execution::detail::get_default_policy<Policy>::call())¶
-
constexpr
parallel_policy_executor
(threads::thread_schedule_hint schedulehint, Policy l = parallel::execution::detail::get_default_policy<Policy>::call())¶
-
constexpr
parallel_policy_executor
(Policy l = parallel::execution::detail::get_default_policy<Policy>::call())¶
-
constexpr
parallel_policy_executor
(threads::thread_pool_base *pool, threads::thread_priority priority = threads::thread_priority::default_, threads::thread_stacksize stacksize = threads::thread_stacksize::default_, threads::thread_schedule_hint schedulehint = {}, Policy l = parallel::execution::detail::get_default_policy<Policy>::call(), std::size_t hierarchical_threshold = hierarchical_threshold_default_)¶
Friends
-
friend constexpr parallel_policy_executor
tag_invoke
(hpx::execution::experimental::with_hint_t, parallel_policy_executor const &exec, hpx::threads::thread_schedule_hint hint)¶
-
friend constexpr hpx::threads::thread_schedule_hint
tag_invoke
(hpx::execution::experimental::get_hint_t, parallel_policy_executor const &exec)¶
-
friend constexpr parallel_policy_executor
tag_invoke
(hpx::execution::experimental::with_priority_t, parallel_policy_executor const &exec, hpx::threads::thread_priority priority)¶
-
friend constexpr hpx::threads::thread_priority
tag_invoke
(hpx::execution::experimental::get_priority_t, parallel_policy_executor const &exec)¶
-
friend constexpr parallel_policy_executor
tag_dispatch
(hpx::execution::experimental::with_stacksize_t, parallel_policy_executor const &exec, hpx::threads::thread_stacksize stacksize)¶
-
friend constexpr hpx::threads::thread_stacksize
tag_dispatch
(hpx::execution::experimental::get_stacksize_t, parallel_policy_executor const &exec)¶
-
friend constexpr parallel_policy_executor
tag_invoke
(hpx::execution::experimental::with_annotation_t, parallel_policy_executor const &exec, char const *annotation)¶
-
parallel_policy_executor
tag_invoke
(hpx::execution::experimental::with_annotation_t, parallel_policy_executor const &exec, std::string annotation)¶
-
friend constexpr char const *
tag_invoke
(hpx::execution::experimental::get_annotation_t, parallel_policy_executor const &exec)¶
-
friend constexpr parallel_policy_executor
tag_invoke
(hpx::parallel::execution::with_processing_units_count_t, parallel_policy_executor const &exec, std::size_t num_cores)¶
-
template<typename
Parameters
>
friend constexpr std::size_ttag_invoke
(hpx::parallel::execution::processing_units_count_t, Parameters&&, parallel_policy_executor const &exec)¶
-
template<>
-
template<typename
-
namespace