44 #ifndef KOKKOS_HWLOC_HPP
45 #define KOKKOS_HWLOC_HPP
103 const bool allow_async ,
104 unsigned & thread_count ,
105 unsigned & use_numa_count ,
106 unsigned & use_cores_per_numa ,
107 std::pair<unsigned,unsigned> threads_coord[] );
132 std::pair<unsigned,unsigned> coordinate[] );
bool bind_this_thread(const std::pair< unsigned, unsigned >)
Bind the current thread to a core.
std::pair< unsigned, unsigned > get_this_thread_coordinate()
Query core-coordinate of the current thread with respect to the core_topology.
bool can_bind_threads()
Can hwloc bind threads?
unsigned get_available_cores_per_numa()
Query number of available cores per NUMA regions. This will be less than the hardware capacity if the...
unsigned get_available_threads_per_core()
Query number of available "hard" threads per core; i.e., hyperthreads.
unsigned get_available_numa_count()
Query number of available NUMA regions. This will be less than the hardware capacity if the MPI proce...
bool unbind_this_thread()
Unbind the current thread back to the original process binding.
unsigned thread_mapping(const char *const label, const bool allow_async, unsigned &thread_count, unsigned &use_numa_count, unsigned &use_cores_per_numa, std::pair< unsigned, unsigned > threads_coord[])
Recommend mapping of threads onto cores.
bool available()
Query if hwloc is available.