resource_partitioner¶
#include <compatibility/hpx/runtime/resource/partitioner_fwd.hpp>¶
#include <compatibility/hpx/runtime/resource/partitioner.hpp>¶
#include <hpx/resource_partitioner/partitioner_fwd.hpp>¶
-
namespace
hpx -
namespace
resource¶ Typedefs
-
using
hpx::resource::scheduler_function = typedef util::function_nonser<std::unique_ptr<hpx::threads::thread_pool_base>( hpx::threads::thread_pool_init_parameters, hpx::threads::policies::thread_queue_init_parameters)>
Enums
-
enum
partitioner_mode¶ This enumeration describes the modes available when creating a resource partitioner.
Values:
-
mode_default= 0¶ Default mode.
-
mode_allow_oversubscription= 1¶ Allow processing units to be oversubscribed, i.e. multiple worker threads to share a single processing unit.
-
mode_allow_dynamic_pools= 2¶ Allow worker threads to be added and removed from thread pools.
-
-
enum
scheduling_policy¶ This enumeration lists the available scheduling policies (or schedulers) when creating thread pools.
Values:
-
user_defined= -2¶
-
unspecified= -1¶
-
local= 0¶
-
local_priority_fifo= 1¶
-
local_priority_lifo= 2¶
-
static_= 3¶
-
static_priority= 4¶
-
abp_priority_fifo= 5¶
-
abp_priority_lifo= 6¶
-
-
using
-
namespace
#include <hpx/resource_partitioner/partitioner.hpp>¶
-
namespace
hpx -
namespace
resource -
class
core¶ Public Functions
-
core(std::size_t id = invalid_core_id, numa_domain *domain = nullptr)¶
Friends
-
friend
hpx::resource::pu
-
friend
hpx::resource::numa_domain
-
-
class
numa_domain¶ Public Functions
-
numa_domain(std::size_t id = invalid_numa_domain_id)¶
Friends
-
friend
hpx::resource::pu
-
friend
hpx::resource::core
-
-
class
partitioner¶ Public Functions
-
partitioner(util::function_nonser<int(hpx::program_options::variables_map &vm)> const &f, hpx::program_options::options_description const &desc_cmdline, int argc, char **argv, std::vector<std::string> ini_config, resource::partitioner_mode rpmode = resource::mode_default, runtime_mode mode = runtime_mode_default, )¶
-
partitioner(util::function_nonser<int(int, char **)> const &f, int argc, char **argv, resource::partitioner_mode rpmode = resource::mode_default, hpx::runtime_mode mode = hpx::runtime_mode_default, )¶
-
partitioner(util::function_nonser<int(int, char **)> const &f, int argc, char **argv, std::vector<std::string> const &cfg, resource::partitioner_mode rpmode = resource::mode_default, hpx::runtime_mode mode = hpx::runtime_mode_default, )¶
-
partitioner(int argc, char **argv, resource::partitioner_mode rpmode = resource::mode_default, runtime_mode mode = runtime_mode_default)¶
-
partitioner(int argc, char **argv, std::vector<std::string> ini_config, resource::partitioner_mode rpmode = resource::mode_default, runtime_mode mode = runtime_mode_default)¶
-
partitioner(hpx::program_options::options_description const &desc_cmdline, int argc, char **argv, resource::partitioner_mode rpmode = resource::mode_default, runtime_mode mode = runtime_mode_default)¶
-
partitioner(hpx::program_options::options_description const &desc_cmdline, int argc, char **argv, std::vector<std::string> ini_config, resource::partitioner_mode rpmode = resource::mode_default, runtime_mode mode = runtime_mode_default)¶
-
partitioner(std::nullptr_t f, int argc, char **argv, resource::partitioner_mode rpmode = resource::mode_default, hpx::runtime_mode mode = hpx::runtime_mode_default)¶
-
partitioner(std::nullptr_t f, int argc, char **argv, std::vector<std::string> const &cfg, resource::partitioner_mode rpmode = resource::mode_default, hpx::runtime_mode mode = hpx::runtime_mode_default)¶
-
partitioner(std::nullptr_t f, hpx::program_options::options_description const &desc_cmdline, int argc, char **argv, std::vector<std::string> ini_config, resource::partitioner_mode rpmode = resource::mode_default, runtime_mode mode = runtime_mode_default)¶
-
void
create_thread_pool(std::string const &name, scheduling_policy sched = scheduling_policy::unspecified, hpx::threads::policies::scheduler_mode = hpx::threads::policies::scheduler_mode::default_mode)¶
-
void
add_resource(hpx::resource::pu const &p, std::string const &pool_name, std::size_t num_threads = 1)¶
-
void
add_resource(hpx::resource::pu const &p, std::string const &pool_name, bool exclusive, std::size_t num_threads = 1)¶
-
void
add_resource(std::vector<hpx::resource::pu> const &pv, std::string const &pool_name, bool exclusive = true)¶
-
void
add_resource(hpx::resource::core const &c, std::string const &pool_name, bool exclusive = true)¶
-
void
add_resource(std::vector<hpx::resource::core> &cv, std::string const &pool_name, bool exclusive = true)¶
-
void
add_resource(hpx::resource::numa_domain const &nd, std::string const &pool_name, bool exclusive = true)¶
-
void
add_resource(std::vector<hpx::resource::numa_domain> const &ndv, std::string const &pool_name, bool exclusive = true)¶
-
std::vector<numa_domain> const &
numa_domains() const¶
Private Members
-
detail::partitioner &
partitioner_¶
-
-
class
-
namespace