hpx/schedulers/queue_holder_numa.hpp

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

Defines

QUEUE_HOLDER_NUMA_DEBUG
namespace hpx

Functions

static hpx::debug::enable_print<QUEUE_HOLDER_NUMA_DEBUG> hpx::nq_deb("QH_NUMA")
namespace threads
namespace policies
template<typename QueueType>
struct queue_holder_numa

Public Types

template<>
using ThreadQueue = queue_holder_thread<QueueType>
template<>
using mutex_type = typename QueueType::mutex_type

Public Functions

queue_holder_numa()
~queue_holder_numa()
void init(std::size_t domain, std::size_t queues)
std::size_t size() const
ThreadQueue *thread_queue(std::size_t id) const
bool get_next_thread_HP(std::size_t qidx, threads::thread_id_ref_type &thrd, bool stealing, bool core_stealing)
bool get_next_thread(std::size_t qidx, threads::thread_id_ref_type &thrd, bool stealing, bool core_stealing)
bool add_new_HP(ThreadQueue *receiver, std::size_t qidx, std::size_t &added, bool stealing, bool allow_stealing)
bool add_new(ThreadQueue *receiver, std::size_t qidx, std::size_t &added, bool stealing, bool allow_stealing)
std::size_t get_new_tasks_queue_length() const
std::int64_t get_thread_count(thread_schedule_state state = thread_schedule_state::unknown, thread_priority priority = thread_priority::default_) const
void abort_all_suspended_threads()
bool enumerate_threads(hpx::function<bool(thread_id_type)> const &f, thread_schedule_state state, ) const
void increment_num_pending_misses(std::size_t = 1)
void increment_num_pending_accesses(std::size_t = 1)
void increment_num_stolen_from_pending(std::size_t = 1)
void increment_num_stolen_from_staged(std::size_t = 1)
void increment_num_stolen_to_pending(std::size_t = 1)
void increment_num_stolen_to_staged(std::size_t = 1)
bool dump_suspended_threads(std::size_t, std::int64_t&, bool)
void debug_info()
void on_start_thread(std::size_t)
void on_stop_thread(std::size_t)
void on_error(std::size_t, std::exception_ptr const&)

Public Members

std::size_t num_queues_
std::size_t domain_
std::vector<ThreadQueue*> queues_