17#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE
18#include <Kokkos_Macros.hpp>
20 "Including non-public Kokkos header files is not allowed.");
22#ifndef KOKKOS_HWLOC_HPP
23#define KOKKOS_HWLOC_HPP
25#include <Kokkos_Macros.hpp>
A thread safe view to a bitset.
bool bind_this_thread(const std::pair< unsigned, unsigned >)
Bind the current thread to a core.
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_numa_count()
Query number of available NUMA regions. This will be less than the hardware capacity if the MPI proce...
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 unbind_this_thread()
Unbind the current thread back to the original process binding.
bool available()
Query if hwloc is available.
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_threads_per_core()
Query number of available "hard" threads per core; i.e., hyperthreads.