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 parallel
namespace execution

Variables

hpx::parallel::execution::has_pending_closures_t has_pending_closures#
hpx::parallel::execution::get_pu_mask_t get_pu_mask#
hpx::parallel::execution::set_scheduler_mode_t set_scheduler_mode#
struct get_pu_mask_t : public hpx::functional::detail::tag_fallback<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.

Private Functions

template<typename Executor>
inline decltype(auto) friend tag_fallback_invoke(get_pu_mask_t, Executor&&, threads::topology &topo, std::size_t thread_num)#
template<typename Executor>
inline decltype(auto) friend tag_invoke(get_pu_mask_t, Executor &&exec, threads::topology &topo, std::size_t thread_num)#
struct has_pending_closures_t : public hpx::functional::detail::tag_fallback<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.

Private Functions

template<typename Executor>
inline decltype(auto) friend tag_fallback_invoke(has_pending_closures_t, Executor&&)#
template<typename Executor>
inline decltype(auto) friend tag_invoke(has_pending_closures_t, Executor &&exec)#
struct set_scheduler_mode_t : public hpx::functional::detail::tag_fallback<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

Friends

template<typename Executor, typename Mode>
inline friend void tag_fallback_invoke(set_scheduler_mode_t, Executor&&, Mode const&)#
template<typename Executor, typename Mode>
inline friend void tag_invoke(set_scheduler_mode_t, Executor &&exec, Mode const &mode)#