class partitioner
Declaration
class partitioner { /* full declaration omitted */ };Description
////////////////////////////////////////////////////////////////////
Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:76
Method Overview
- public void add_resource(const pika::resource::pu & p, const std::string & pool_name, std::size_t num_threads = 1)
- public void add_resource(const pika::resource::pu & p, const std::string & pool_name, bool exclusive, std::size_t num_threads = 1)
- public void add_resource(const std::vector<pika::resource::pu> & pv, const std::string & pool_name, bool exclusive = true)
- public void add_resource(const pika::resource::core & c, const std::string & pool_name, bool exclusive = true)
- public void add_resource(const std::vector<pika::resource::core> & cv, const std::string & pool_name, bool exclusive = true)
- public void add_resource(const pika::resource::numa_domain & nd, const std::string & pool_name, bool exclusive = true)
- public void add_resource(const std::vector<pika::resource::numa_domain> & ndv, const std::string & pool_name, bool exclusive = true)
- public std::size_t assign_cores(std::size_t first_core)
- public void assign_pu(const std::string & pool_name, std::size_t virt_core)
- public void configure_pools()
- public void create_thread_pool(const std::string & name, pika::resource::scheduling_policy sched = scheduling_policy::unspecified, pika::threads::policies::scheduler_mode = pika::threads::policies::scheduler_mode::default_mode)
- public void create_thread_pool(const std::string & name, pika::resource::scheduler_function scheduler_creation)
- public std::size_t expand_pool(const std::string & pool_name, const util::function<void (std::size_t)> & add_pu)
- public const pika::detail::affinity_data & get_affinity_data() const
- public const std::string & get_default_pool_name() const
- public std::size_t get_num_pools() const
- public std::size_t get_num_threads() const
- public std::size_t get_num_threads(std::size_t pool_index) const
- public std::size_t get_num_threads(const std::string & pool_name) const
- public pika::resource::scheduler_function get_pool_creator(size_t index) const
- public std::size_t get_pool_index(const std::string & pool_name) const
- public const std::string & get_pool_name(std::size_t index) const
- public threads::detail::mask_cref_type get_pu_mask(std::size_t global_thread_num) const
- public std::size_t get_pu_num(std::size_t global_thread_num)
- public pika::threads::policies::scheduler_mode get_scheduler_mode(std::size_t pool_index) const
- public threads::detail::topology & get_topology() const
- public void init(resource::partitioner_mode rpmode, pika::util::section cfg, pika::detail::affinity_data affinity_data)
- public const std::vector<numa_domain> & numa_domains() const
- public partitioner()
- public void print_init_pool_data(std::ostream &) const
- public void set_default_pool_name(const std::string & name)
- public std::size_t shrink_pool(const std::string & pool_name, const util::function<void (std::size_t)> & remove_pu)
- public std::size_t threads_needed()
- public void unassign_pu(const std::string & pool_name, std::size_t virt_core)
- public pika::resource::scheduling_policy which_scheduler(const std::string & pool_name)
- public ~partitioner()
Methods
void add_resource(const pika::resource::pu& p,
const std::string& pool_name,
std::size_t num_threads = 1)
void add_resource(const pika::resource::pu& p,
const std::string& pool_name,
std::size_t num_threads = 1)Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:99
Parameters
- const pika::resource::pu& p
- const std::string& pool_name
- std::size_t num_threads = 1
void add_resource(const pika::resource::pu& p,
const std::string& pool_name,
bool exclusive,
std::size_t num_threads = 1)
void add_resource(const pika::resource::pu& p,
const std::string& pool_name,
bool exclusive,
std::size_t num_threads = 1)Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:104
Parameters
- const pika::resource::pu& p
- const std::string& pool_name
- bool exclusive
- std::size_t num_threads = 1
void add_resource(
const std::vector<pika::resource::pu>& pv,
const std::string& pool_name,
bool exclusive = true)
void add_resource(
const std::vector<pika::resource::pu>& pv,
const std::string& pool_name,
bool exclusive = true)Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:107
Parameters
- const std::vector<pika::resource::pu>& pv
- const std::string& pool_name
- bool exclusive = true
void add_resource(const pika::resource::core& c,
const std::string& pool_name,
bool exclusive = true)
void add_resource(const pika::resource::core& c,
const std::string& pool_name,
bool exclusive = true)Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:109
Parameters
- const pika::resource::core& c
- const std::string& pool_name
- bool exclusive = true
void add_resource(
const std::vector<pika::resource::core>& cv,
const std::string& pool_name,
bool exclusive = true)
void add_resource(
const std::vector<pika::resource::core>& cv,
const std::string& pool_name,
bool exclusive = true)Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:111
Parameters
- const std::vector<pika::resource::core>& cv
- const std::string& pool_name
- bool exclusive = true
void add_resource(
const pika::resource::numa_domain& nd,
const std::string& pool_name,
bool exclusive = true)
void add_resource(
const pika::resource::numa_domain& nd,
const std::string& pool_name,
bool exclusive = true)Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:113
Parameters
- const pika::resource::numa_domain& nd
- const std::string& pool_name
- bool exclusive = true
void add_resource(
const std::vector<
pika::resource::numa_domain>& ndv,
const std::string& pool_name,
bool exclusive = true)
void add_resource(
const std::vector<
pika::resource::numa_domain>& ndv,
const std::string& pool_name,
bool exclusive = true)Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:115
Parameters
- const std::vector<pika::resource::numa_domain>& ndv
- const std::string& pool_name
- bool exclusive = true
std::size_t assign_cores(std::size_t first_core)
std::size_t assign_cores(std::size_t first_core)Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:167
Parameters
- std::size_t first_core
void assign_pu(const std::string& pool_name,
std::size_t virt_core)
void assign_pu(const std::string& pool_name,
std::size_t virt_core)Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:170
Parameters
- const std::string& pool_name
- std::size_t virt_core
void configure_pools()
void configure_pools()Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:125
void create_thread_pool(
const std::string& name,
pika::resource::scheduling_policy sched =
scheduling_policy::unspecified,
pika::threads::policies::scheduler_mode =
pika::threads::policies::scheduler_mode::
default_mode)
void create_thread_pool(
const std::string& name,
pika::resource::scheduling_policy sched =
scheduling_policy::unspecified,
pika::threads::policies::scheduler_mode =
pika::threads::policies::scheduler_mode::
default_mode)Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:87
Parameters
- const std::string& name
- pika::resource::scheduling_policy sched = scheduling_policy::unspecified
- pika::threads::policies::scheduler_mode = pika::threads::policies::scheduler_mode::default_mode
void create_thread_pool(
const std::string& name,
pika::resource::scheduler_function
scheduler_creation)
void create_thread_pool(
const std::string& name,
pika::resource::scheduler_function
scheduler_creation)Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:94
Parameters
- const std::string& name
- pika::resource::scheduler_function scheduler_creation
std::size_t expand_pool(
const std::string& pool_name,
const util::function<void(std::size_t)>&
add_pu)
std::size_t expand_pool(
const std::string& pool_name,
const util::function<void(std::size_t)>&
add_pu)Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:175
Parameters
- const std::string& pool_name
- const util::function<void(std::size_t)>& add_pu
const pika::detail::affinity_data&
get_affinity_data() const
const pika::detail::affinity_data&
get_affinity_data() constDeclared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:118
const std::string& get_default_pool_name() const
const std::string& get_default_pool_name() constDeclared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:183
std::size_t get_num_pools() const
std::size_t get_num_pools() constDeclared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:141
std::size_t get_num_threads() const
std::size_t get_num_threads() constDeclared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:143
std::size_t get_num_threads(
std::size_t pool_index) const
std::size_t get_num_threads(
std::size_t pool_index) constDeclared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:145
Parameters
- std::size_t pool_index
std::size_t get_num_threads(
const std::string& pool_name) const
std::size_t get_num_threads(
const std::string& pool_name) constDeclared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:144
Parameters
- const std::string& pool_name
pika::resource::scheduler_function
get_pool_creator(size_t index) const
pika::resource::scheduler_function
get_pool_creator(size_t index) constDeclared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:160
Parameters
- size_t index
std::size_t get_pool_index(
const std::string& pool_name) const
std::size_t get_pool_index(
const std::string& pool_name) constDeclared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:151
Parameters
- const std::string& pool_name
const std::string& get_pool_name(
std::size_t index) const
const std::string& get_pool_name(
std::size_t index) constDeclared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:150
Parameters
- std::size_t index
threads::detail::mask_cref_type get_pu_mask(
std::size_t global_thread_num) const
threads::detail::mask_cref_type get_pu_mask(
std::size_t global_thread_num) constDeclared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:154
Parameters
- std::size_t global_thread_num
std::size_t get_pu_num(
std::size_t global_thread_num)
std::size_t get_pu_num(
std::size_t global_thread_num)Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:153
Parameters
- std::size_t global_thread_num
pika::threads::policies::scheduler_mode
get_scheduler_mode(std::size_t pool_index) const
pika::threads::policies::scheduler_mode
get_scheduler_mode(std::size_t pool_index) constDeclared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:147
Parameters
- std::size_t pool_index
threads::detail::topology& get_topology() const
threads::detail::topology& get_topology() constDeclared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:139
void init(
resource::partitioner_mode rpmode,
pika::util::section cfg,
pika::detail::affinity_data affinity_data)
void init(
resource::partitioner_mode rpmode,
pika::util::section cfg,
pika::detail::affinity_data affinity_data)Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:157
Parameters
- resource::partitioner_mode rpmode
- pika::util::section cfg
- pika::detail::affinity_data affinity_data
const std::vector<numa_domain>& numa_domains()
const
const std::vector<numa_domain>& numa_domains()
constDeclared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:162
partitioner()
partitioner()Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:81
void print_init_pool_data(std::ostream&) const
void print_init_pool_data(std::ostream&) constDeclared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:84
Parameters
- std::ostream&
void set_default_pool_name(
const std::string& name)
void set_default_pool_name(
const std::string& name)Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:178
Parameters
- const std::string& name
std::size_t shrink_pool(
const std::string& pool_name,
const util::function<void(std::size_t)>&
remove_pu)
std::size_t shrink_pool(
const std::string& pool_name,
const util::function<void(std::size_t)>&
remove_pu)Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:173
Parameters
- const std::string& pool_name
- const util::function<void(std::size_t)>& remove_pu
std::size_t threads_needed()
std::size_t threads_needed()Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:131
void unassign_pu(const std::string& pool_name,
std::size_t virt_core)
void unassign_pu(const std::string& pool_name,
std::size_t virt_core)Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:171
Parameters
- const std::string& pool_name
- std::size_t virt_core
pika::resource::scheduling_policy which_scheduler(
const std::string& pool_name)
pika::resource::scheduling_policy which_scheduler(
const std::string& pool_name)Description
/////////////////////////////////////////////////////////////////////
Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:138
Parameters
- const std::string& pool_name
~partitioner()
~partitioner()Declared at: libs/pika/resource_partitioner/include/pika/resource_partitioner/detail/partitioner.hpp:82