Enumerations | |
enum | hwloc_cpubind_policy_t { HWLOC_CPUBIND_PROCESS = (1<<0), HWLOC_CPUBIND_THREAD = (1<<1), HWLOC_CPUBIND_STRICT = (1<<2) } |
Process/Thread binding policy. More... | |
Functions | |
int | hwloc_set_cpubind (hwloc_topology_t topology, const hwloc_cpuset_t set, int policy) |
Bind current process or thread on cpus given in cpuset set . | |
int | hwloc_set_proc_cpubind (hwloc_topology_t topology, hwloc_pid_t pid, const hwloc_cpuset_t set, int policy) |
Bind a process pid on cpus given in cpuset set . | |
int | hwloc_set_thread_cpubind (hwloc_topology_t topology, hwloc_thread_t tid, const hwloc_cpuset_t set, int policy) |
Bind a thread tid on cpus given in cpuset set . |
It is often useful to call hwloc_cpuset_singlify() first so that a single CPU remains in the set. This way, the process will not even migrate between different CPUs. Some OSes also only support that kind of binding.
The most portable version that should be preferred over the others, whenever possible, is
hwloc_set_cpubind(topology, set, 0),
as it just binds the current program, assuming it is monothread, or
hwloc_set_cpubind(topology, set, HWLOC_CPUBIND_THREAD),
which binds the current thread of the current program (which may be multithreaded).
Process/Thread binding policy.
These flags can be used to refine the binding policy.
The default (0) is to bind the current process, assumed to be mono-thread, in a non-strict way. This is the most portable way to bind as all OSes usually provide it.
int hwloc_set_cpubind | ( | hwloc_topology_t | topology, | |
const hwloc_cpuset_t | set, | |||
int | policy | |||
) |
Bind current process or thread on cpus given in cpuset set
.
int hwloc_set_proc_cpubind | ( | hwloc_topology_t | topology, | |
hwloc_pid_t | pid, | |||
const hwloc_cpuset_t | set, | |||
int | policy | |||
) |
Bind a process pid
on cpus given in cpuset set
.
policy
. int hwloc_set_thread_cpubind | ( | hwloc_topology_t | topology, | |
hwloc_thread_t | tid, | |||
const hwloc_cpuset_t | set, | |||
int | policy | |||
) |
Bind a thread tid
on cpus given in cpuset set
.
policy
.