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
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>  requires (hpx::traits::is_executor_any_v< Executor >) friend decltype(auto) tag_fallback_invoke(get_pu_mask_t
template<typename Executor>  requires (hpx::traits::is_executor_any_v< Executor > &&detail::has_get_pu_mask_v< Executor >) friend decltype(auto) tag_invoke(get_pu_mask_t

Private Members

Executor threads::topology & topo
Executor threads::topology std::size_t thread_num  {return hpx::parallel::execution::detail::get_pu_mask(topo, thread_num)
Executor &&exec#
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>  requires (hpx::traits::is_executor_any_v< Executor >) friend decltype(auto) tag_fallback_invoke(has_pending_closures_t
template<typename Executor> Executor && requires (hpx::traits::is_executor_any_v< Executor > &&detail::has_has_pending_closures_v< Executor >) friend decltype(auto) tag_invoke(has_pending_closures_t

Private Members

Executor Executor && exec  {return HPX_FORWARD(Executor, exec).has_pending_closures()
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

Private Functions

template<typename Executor, typename Mode>  requires (hpx::traits::is_executor_any_v< Executor >) friend void tag_fallback_invoke(set_scheduler_mode_t