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.