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
-
hpx::execution::experimental::has_pending_closures_t has_pending_closures#
-
hpx::execution::experimental::get_pu_mask_t get_pu_mask#
-
hpx::execution::experimental::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> 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
-
hpx::execution::experimental::has_pending_closures_t has_pending_closures#
-
namespace experimental
-
namespace execution