Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
Public Types | |
typedef hwloc_cpuset_t | affinity_mask |
typedef hwloc_const_cpuset_t | const_affinity_mask |
Public Member Functions | |
bool | is_topology_parsed () |
void | initialize (size_t groups_num) |
~platform_topology () | |
void | fill (int &nodes_count, int *&indexes_list, int *&concurrency_list) |
affinity_mask | allocate_process_affinity_mask () |
void | free_affinity_mask (affinity_mask mask_to_free) |
void | store_current_affinity_mask (affinity_mask current_mask) |
void | set_new_affinity_mask (const_affinity_mask new_mask) |
const_affinity_mask | get_node_affinity_mask (int node_index) |
Static Public Member Functions | |
static platform_topology & | instance () |
Private Types | |
enum | init_stages { uninitialized, started, topology_allocated, topology_loaded, topology_parsed } |
Private Member Functions | |
bool | intergroup_binding_allowed (size_t groups_num) |
platform_topology () | |
Private Attributes | |
hwloc_topology_t | topology |
hwloc_cpuset_t | process_cpu_affinity_mask |
hwloc_nodeset_t | process_node_affinity_mask |
std::vector< hwloc_cpuset_t > | affinity_masks_list |
std::vector< int > | default_concurrency_list |
std::vector< int > | numa_indexes_list |
int | numa_nodes_count |
enum tbb::internal::platform_topology::init_stages | initialization_state |
Friends | |
class | numa_affinity_handler |
Definition at line 42 of file tbb_bind.cpp.
typedef hwloc_cpuset_t tbb::internal::platform_topology::affinity_mask |
Definition at line 74 of file tbb_bind.cpp.
typedef hwloc_const_cpuset_t tbb::internal::platform_topology::const_affinity_mask |
Definition at line 75 of file tbb_bind.cpp.
|
private |
Enumerator | |
---|---|
uninitialized | |
started | |
topology_allocated | |
topology_loaded | |
topology_parsed |
Definition at line 55 of file tbb_bind.cpp.
|
inlineprivate |
Definition at line 67 of file tbb_bind.cpp.
|
inline |
Definition at line 174 of file tbb_bind.cpp.
References affinity_masks_list, initialization_state, is_topology_parsed(), numa_indexes_list, numa_nodes_count, process_cpu_affinity_mask, process_node_affinity_mask, topology, topology_allocated, and uninitialized.
|
inline |
Definition at line 197 of file tbb_bind.cpp.
References __TBB_ASSERT, is_topology_parsed(), and process_cpu_affinity_mask.
Referenced by tbb::internal::binding_handler::binding_handler().
|
inline |
Definition at line 190 of file tbb_bind.cpp.
References __TBB_ASSERT, default_concurrency_list, is_topology_parsed(), numa_indexes_list, and numa_nodes_count.
Referenced by tbb::internal::initialize_numa_topology().
|
inline |
Definition at line 202 of file tbb_bind.cpp.
Referenced by tbb::internal::binding_handler::~binding_handler().
|
inline |
Definition at line 218 of file tbb_bind.cpp.
References __TBB_ASSERT, and affinity_masks_list.
|
inline |
Definition at line 84 of file tbb_bind.cpp.
References __TBB_ASSERT, affinity_masks_list, assertion_hwloc_wrapper, default_concurrency_list, initialization_state, intergroup_binding_allowed(), numa_indexes_list, numa_nodes_count, process_cpu_affinity_mask, process_node_affinity_mask, started, topology, topology_allocated, topology_loaded, topology_parsed, and uninitialized.
Referenced by tbb::internal::initialize_numa_topology().
|
inlinestatic |
Definition at line 77 of file tbb_bind.cpp.
References topology.
Referenced by tbb::internal::binding_handler::bind_thread_to_node(), tbb::internal::bind_to_node(), tbb::internal::binding_handler::binding_handler(), tbb::internal::initialize_numa_topology(), tbb::internal::restore_affinity(), tbb::internal::binding_handler::restore_previous_affinity_mask(), and tbb::internal::binding_handler::~binding_handler().
|
inlineprivate |
Definition at line 65 of file tbb_bind.cpp.
Referenced by initialize().
|
inline |
Definition at line 82 of file tbb_bind.cpp.
References initialization_state, and topology_parsed.
Referenced by allocate_process_affinity_mask(), fill(), and ~platform_topology().
|
inline |
Definition at line 214 of file tbb_bind.cpp.
References assertion_hwloc_wrapper, and topology.
Referenced by tbb::internal::binding_handler::bind_thread_to_node(), and tbb::internal::binding_handler::restore_previous_affinity_mask().
|
inline |
Definition at line 206 of file tbb_bind.cpp.
References __TBB_ASSERT, assertion_hwloc_wrapper, process_cpu_affinity_mask, and topology.
Referenced by tbb::internal::binding_handler::bind_thread_to_node().
|
friend |
Definition at line 43 of file tbb_bind.cpp.
|
private |
Definition at line 49 of file tbb_bind.cpp.
Referenced by get_node_affinity_mask(), initialize(), and ~platform_topology().
|
private |
Definition at line 51 of file tbb_bind.cpp.
Referenced by fill(), and initialize().
|
private |
Referenced by initialize(), is_topology_parsed(), and ~platform_topology().
|
private |
Definition at line 52 of file tbb_bind.cpp.
Referenced by fill(), initialize(), and ~platform_topology().
|
private |
Definition at line 53 of file tbb_bind.cpp.
Referenced by fill(), initialize(), and ~platform_topology().
|
private |
Definition at line 47 of file tbb_bind.cpp.
Referenced by allocate_process_affinity_mask(), initialize(), store_current_affinity_mask(), and ~platform_topology().
|
private |
Definition at line 48 of file tbb_bind.cpp.
Referenced by initialize(), and ~platform_topology().
|
private |
Definition at line 46 of file tbb_bind.cpp.
Referenced by initialize(), instance(), set_new_affinity_mask(), store_current_affinity_mask(), and ~platform_topology().