hpx/executors/guided_pool_executor.hpp

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

Defines

GUIDED_POOL_EXECUTOR_DEBUG
namespace hpx

Functions

static hpx::debug::enable_print<GUIDED_POOL_EXECUTOR_DEBUG> hpx::gpx_deb("GP_EXEC")
namespace parallel
namespace execution
template<typename Hint>
struct executor_execution_category<guided_pool_executor<Hint>>

Public Types

typedef hpx::execution::parallel_execution_tag type
template<typename Hint>
struct executor_execution_category<guided_pool_executor_shim<Hint>>

Public Types

typedef hpx::execution::parallel_execution_tag type
template<typename Tag>
struct guided_pool_executor<pool_numa_hint<Tag>>

Public Functions

guided_pool_executor(threads::thread_pool_base *pool, bool hp_sync = false)
guided_pool_executor(threads::thread_pool_base *pool, threads::thread_stacksize stacksize, bool hp_sync = false)
guided_pool_executor(threads::thread_pool_base *pool, threads::thread_priority priority, threads::thread_stacksize stacksize = threads::thread_stacksize::default_, bool hp_sync = false)
template<typename F, typename ...Ts>
future<typename hpx::util::detail::invoke_deferred_result<F, Ts...>::type> async_execute(F &&f, Ts&&... ts)
template<typename F, typename Future, typename ...Ts, typename = std::enable_if_t<hpx::traits::is_future<Future>::value>>
auto then_execute(F &&f, Future &&predecessor, Ts&&... ts)
template<typename F, template<typename> class OuterFuture, typename ...InnerFutures, typename ...Ts, typename = std::enable_if_t<detail::is_future_of_tuple_of_futures<OuterFuture<hpx::tuple<InnerFutures...>>>::value>, typename = std::enable_if_t<hpx::traits::is_future_tuple<hpx::tuple<InnerFutures...>>::value>>
auto then_execute(F &&f, OuterFuture<hpx::tuple<InnerFutures...>> &&predecessor, Ts&&... ts)
template<typename F, typename ...InnerFutures, typename = std::enable_if_t<hpx::traits::is_future_tuple<hpx::tuple<InnerFutures...>>::value>>
auto async_execute(F &&f, hpx::tuple<InnerFutures...> &&predecessor)

Private Members

threads::thread_pool_base *pool_
threads::thread_priority priority_
threads::thread_stacksize stacksize_
pool_numa_hint<Tag> hint_
bool hp_sync_

Friends

friend hpx::parallel::execution::guided_pool_executor_shim
template<typename H>
struct guided_pool_executor_shim

Public Functions

guided_pool_executor_shim(bool guided, threads::thread_pool_base *pool, bool hp_sync = false)
guided_pool_executor_shim(bool guided, threads::thread_pool_base *pool, threads::thread_stacksize stacksize, bool hp_sync = false)
guided_pool_executor_shim(bool guided, threads::thread_pool_base *pool, threads::thread_priority priority, threads::thread_stacksize stacksize = threads::thread_stacksize::default_, bool hp_sync = false)
template<typename F, typename ...Ts>
future<typename hpx::util::detail::invoke_deferred_result<F, Ts...>::type> async_execute(F &&f, Ts&&... ts)
template<typename F, typename Future, typename ...Ts, typename = std::enable_if_t<hpx::traits::is_future<Future>::value>>
auto then_execute(F &&f, Future &&predecessor, Ts&&... ts)

Public Members

bool guided_
guided_pool_executor<H> guided_exec_