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 42 of file tbb_bind.cpp.
typedef hwloc_cpuset_t tbb::internal::platform_topology::affinity_mask |
Definition at line 64 of file tbb_bind.cpp.
typedef hwloc_const_cpuset_t tbb::internal::platform_topology::const_affinity_mask |
Definition at line 65 of file tbb_bind.cpp.
|
private |
Enumerator | |
---|---|
uninitialized | |
started | |
topology_allocated | |
topology_loaded | |
topology_parsed |
Definition at line 54 of file tbb_bind.cpp.
|
inline |
Definition at line 159 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.
|
inlinestatic |
Definition at line 182 of file tbb_bind.cpp.
References __TBB_ASSERT, is_topology_parsed(), and process_cpu_affinity_mask.
Referenced by tbb::internal::binding_handler::binding_handler().
|
inlinestatic |
Definition at line 175 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().
|
inlinestatic |
Definition at line 187 of file tbb_bind.cpp.
Referenced by tbb::internal::binding_handler::~binding_handler().
|
inlinestatic |
Definition at line 203 of file tbb_bind.cpp.
References __TBB_ASSERT, and affinity_masks_list.
Referenced by tbb::internal::binding_handler::bind_thread_to_node().
|
inlinestatic |
Definition at line 69 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().
|
inlinestaticprivate |
Definition at line 61 of file tbb_bind.cpp.
Referenced by initialize().
|
inlinestatic |
Definition at line 67 of file tbb_bind.cpp.
References initialization_state, and topology_parsed.
Referenced by allocate_process_affinity_mask(), tbb::internal::binding_handler::bind_thread_to_node(), tbb::internal::bind_to_node(), fill(), tbb::internal::restore_affinity(), tbb::internal::binding_handler::restore_previous_affinity_mask(), and ~platform_topology().
|
inlinestatic |
Definition at line 199 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().
|
inlinestatic |
Definition at line 191 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.
|
staticprivate |
Definition at line 48 of file tbb_bind.cpp.
Referenced by get_node_affinity_mask(), initialize(), and ~platform_topology().
|
staticprivate |
Definition at line 50 of file tbb_bind.cpp.
Referenced by fill(), and initialize().
|
staticprivate |
Definition at line 55 of file tbb_bind.cpp.
Referenced by initialize(), is_topology_parsed(), and ~platform_topology().
|
staticprivate |
Definition at line 51 of file tbb_bind.cpp.
Referenced by fill(), initialize(), and ~platform_topology().
|
staticprivate |
Definition at line 52 of file tbb_bind.cpp.
Referenced by fill(), initialize(), and ~platform_topology().
|
staticprivate |
Definition at line 46 of file tbb_bind.cpp.
Referenced by allocate_process_affinity_mask(), initialize(), store_current_affinity_mask(), and ~platform_topology().
|
staticprivate |
Definition at line 47 of file tbb_bind.cpp.
Referenced by initialize(), and ~platform_topology().
|
staticprivate |
Definition at line 45 of file tbb_bind.cpp.
Referenced by initialize(), set_new_affinity_mask(), store_current_affinity_mask(), and ~platform_topology().