These functions query Windows processor groups. These groups partition the operating system into virtual sets of up to 64 neighbor PUs. Threads and processes may only be bound inside a single group. Although Windows processor groups may be exposed in the hwloc hierarchy as hwloc Groups, they are also often merged into existing hwloc objects such as NUMA nodes or Packages. This API provides explicit information about Windows processor groups so that applications know whether binding to a large set of PUs may fail because it spans over multiple Windows processor groups.
◆ hwloc_windows_get_nr_processor_groups()
int hwloc_windows_get_nr_processor_groups |
( |
hwloc_topology_t |
topology, |
|
|
unsigned long |
flags |
|
) |
| |
Get the number of Windows processor groups.
flags
must be 0 for now.
- Returns
- at least
1
on success.
-
-1 on error, for instance if the topology does not match the current system (e.g. loaded from another machine through XML).
◆ hwloc_windows_get_processor_group_cpuset()
Get the CPU-set of a Windows processor group.
Get the set of PU included in the processor group specified by pg_index
. pg_index
must be between 0
and the value returned by hwloc_windows_get_nr_processor_groups() minus 1.
flags
must be 0 for now.
- Returns
0
on success.
-
-1
on error, for instance if pg_index
is invalid, or if the topology does not match the current system (e.g. loaded from another machine through XML).