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 | |
~platform_topology () | |
Static Public Member Functions | |
static bool | is_topology_parsed () |
static void | initialize (size_t groups_num) |
static void | fill (int &nodes_count, int *&indexes_list, int *&concurrency_list) |
static affinity_mask | allocate_process_affinity_mask () |
static void | free_affinity_mask (affinity_mask mask_to_free) |
static void | store_current_affinity_mask (affinity_mask current_mask) |
static void | set_new_affinity_mask (const_affinity_mask new_mask) |
static const_affinity_mask | get_node_affinity_mask (int node_index) |
Private Types | |
enum | init_stages { uninitialized, started, topology_allocated, topology_loaded, topology_parsed } |
Static Private Member Functions | |
static bool | intergroup_binding_allowed (size_t groups_num) |
Static Private Attributes | |
static hwloc_topology_t | topology = NULL |
static hwloc_cpuset_t | process_cpu_affinity_mask = NULL |
static hwloc_nodeset_t | process_node_affinity_mask = NULL |
static std::vector< hwloc_cpuset_t > | affinity_masks_list |
static std::vector< int > | default_concurrency_list |
static std::vector< int > | numa_indexes_list |
static int | numa_nodes_count = 0 |
static init_stages | initialization_state = uninitialized |
Friends | |
class | numa_affinity_handler |
Definition at line 45 of file tbbbind.cpp.
typedef hwloc_cpuset_t tbb::internal::platform_topology::affinity_mask |
Definition at line 67 of file tbbbind.cpp.
typedef hwloc_const_cpuset_t tbb::internal::platform_topology::const_affinity_mask |
Definition at line 68 of file tbbbind.cpp.
|
private |
Enumerator | |
---|---|
uninitialized | |
started | |
topology_allocated | |
topology_loaded | |
topology_parsed |
Definition at line 57 of file tbbbind.cpp.
|
inline |
Definition at line 162 of file tbbbind.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.
|
inlinestatic |
Definition at line 185 of file tbbbind.cpp.
References __TBB_ASSERT, is_topology_parsed(), and process_cpu_affinity_mask.
Referenced by tbb::internal::numa_affinity_handler::numa_affinity_handler().
|
inlinestatic |
Definition at line 178 of file tbbbind.cpp.
References __TBB_ASSERT, default_concurrency_list, is_topology_parsed(), numa_indexes_list, and numa_nodes_count.
Referenced by tbb::internal::initialize_numa_topology().
|
inlinestatic |
Definition at line 190 of file tbbbind.cpp.
Referenced by tbb::internal::numa_affinity_handler::~numa_affinity_handler().
|
inlinestatic |
Definition at line 206 of file tbbbind.cpp.
References __TBB_ASSERT, and affinity_masks_list.
Referenced by tbb::internal::numa_affinity_handler::bind_thread_to_node().
|
inlinestatic |
Definition at line 72 of file tbbbind.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().
|
inlinestaticprivate |
Definition at line 64 of file tbbbind.cpp.
Referenced by initialize().
|
inlinestatic |
Definition at line 70 of file tbbbind.cpp.
References initialization_state, and topology_parsed.
Referenced by allocate_process_affinity_mask(), tbb::internal::numa_affinity_handler::bind_thread_to_node(), fill(), tbb::internal::numa_affinity_handler::restore_previous_affinity_mask(), and ~platform_topology().
|
inlinestatic |
Definition at line 202 of file tbbbind.cpp.
References assertion_hwloc_wrapper, and topology.
Referenced by tbb::internal::numa_affinity_handler::bind_thread_to_node(), and tbb::internal::numa_affinity_handler::restore_previous_affinity_mask().
|
inlinestatic |
Definition at line 194 of file tbbbind.cpp.
References __TBB_ASSERT, assertion_hwloc_wrapper, process_cpu_affinity_mask, and topology.
Referenced by tbb::internal::numa_affinity_handler::bind_thread_to_node().
|
friend |
Definition at line 46 of file tbbbind.cpp.
|
staticprivate |
Definition at line 51 of file tbbbind.cpp.
Referenced by get_node_affinity_mask(), initialize(), and ~platform_topology().
|
staticprivate |
Definition at line 53 of file tbbbind.cpp.
Referenced by fill(), and initialize().
|
staticprivate |
Definition at line 58 of file tbbbind.cpp.
Referenced by initialize(), is_topology_parsed(), and ~platform_topology().
|
staticprivate |
Definition at line 54 of file tbbbind.cpp.
Referenced by fill(), initialize(), and ~platform_topology().
|
staticprivate |
Definition at line 55 of file tbbbind.cpp.
Referenced by fill(), initialize(), and ~platform_topology().
|
staticprivate |
Definition at line 49 of file tbbbind.cpp.
Referenced by allocate_process_affinity_mask(), initialize(), store_current_affinity_mask(), and ~platform_topology().
|
staticprivate |
Definition at line 50 of file tbbbind.cpp.
Referenced by initialize(), and ~platform_topology().
|
staticprivate |
Definition at line 48 of file tbbbind.cpp.
Referenced by initialize(), set_new_affinity_mask(), store_current_affinity_mask(), and ~platform_topology().