hpx/execution/executors/execution_information.hpp#

Defined in header hpx/execution/executors/execution_information.hpp.

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

namespace hpx
namespace execution
namespace experimental

Variables

constexpr struct hpx::execution::experimental::has_pending_closures_t has_pending_closures#
constexpr struct hpx::execution::experimental::get_pu_mask_t get_pu_mask#
constexpr struct hpx::execution::experimental::set_scheduler_mode_t set_scheduler_mode#
struct get_pu_mask_t#
#include <execution_information.hpp>

Retrieve the bitmask describing the processing units the given thread is allowed to run on

All threads::executors invoke sched.get_pu_mask().

Note

If the executor does not support this operation, this call will always invoke hpx::threads::get_pu_mask()

Param exec

[in] The executor object to use for querying the number of pending tasks.

Param topo

[in] The topology object to use to extract the requested information.

Param thream_num

[in] The sequence number of the thread to retrieve information for.

Public Functions

template<typename Executor>
inline decltype(auto) operator()(Executor &&exec, threads::topology &topo, std::size_t thread_num) const#
template<typename Executor>
inline decltype(auto) operator()(Executor&&, threads::topology &topo, std::size_t thread_num) const
struct has_pending_closures_t#
#include <execution_information.hpp>

Retrieve whether this executor has operations pending or not.

Note

If the executor does not expose this information, this call will always return false

Param exec

[in] The executor object to use to extract the requested information for.

Public Functions

template<typename Executor>
inline decltype(auto) operator()(Executor &&exec) const#
template<typename Executor>
inline decltype(auto) operator()(Executor&&) const
struct set_scheduler_mode_t#
#include <execution_information.hpp>

Set various modes of operation on the scheduler underneath the given executor.

Note

This calls exec.set_scheduler_mode(mode) if it exists; otherwise it does nothing.

Param exec

[in] The executor object to use.

Param mode

[in] The new mode for the scheduler to pick up

Public Functions

template<typename Executor, typename Mode>
inline void operator()(Executor &&exec, Mode const &mode) const#
template<typename Executor, typename Mode>
inline void operator()(Executor&&, Mode const&) const