hwloc-info - Show some information about some objects or about a
topology or about support features
hwloc-info [ options ]...
<object>...
hwloc-info [ options ]...
Note that hwloc(7) provides a detailed explanation of the hwloc
system and of valid <object> formats; it should be read before reading
this man page.
- --objects
- Report information specific objects. This is the default if some objects
are given on the command-line.
- --topology
- Report a summary of the topology instead of about some specific objects.
This is the default if no object is given on the command-line.
- --support
- Report the features that are supported by hwloc on the topology. The
features are those available through the
hwloc_topology_get_support() function. This is useful for verifying
which CPU or memory binding options are supported by the current hwloc
installation.
- -i <path>,
--input <path>
- Read the topology from <path> instead of discovering the topology of
the local machine.
If <path> is a file and XML support has been compiled in
hwloc, it may be a XML file exported by a previous hwloc program. If
<path> is "-", the standard input may be used as a XML
file.
On Linux, <path> may be a directory containing the
topology files gathered from another machine topology with
hwloc-gather-topology.
On x86, <path> may be a directory containing a cpuid
dump gathered with hwloc-gather-cpuid.
When the archivemount program is available, <path> may
also be a tarball containing such Linux or x86 topology files.
- -i <specification>,
--input <specification>
- Simulate a fake hierarchy (instead of discovering the topology on the
local machine). If <specification> is "node:2 pu:3", the
topology will contain two NUMA nodes with 3 processing units in each of
them. The <specification> string must end with a number of PUs.
- --if <format>,
--input-format <format>
- Enforce the input in the given format, among xml, fsroot,
cpuid and synthetic.
- -v --verbose
- Include additional detail.
- -s --silent
- Reduce the amount of details to show. A single summary line per object is
displayed.
- --ancestors
- Display information about the object as well as about all its ancestors up
to the root of the topology.
- --ancestor
<type>
- Only display the object ancestors that match the given type.
- --children
- Display information about the object children.
- --descendants
<type>
- Display information about the object descendants that match the given
type.
- --local-memory
- Display information about the NUMA nodes that are local to the given
object.
- --local-memory-flags
- Change the flags used to select local NUMA nodes. Flags may be given as
numeric values or as a comma-separated list of flag names that are passed
to hwloc_get_local_numanode_objs(). Those names may be substrings
of actual flag names as long as a single one matches. The default is
3 (or smaller,larger) which means NUMA nodes are displayed
if their locality either contains or is contained in the locality of the
given object.
This option enables --local-memory.
- --best-memattr
<name>
- Enable the listing local memory nodes with --local-memory, but only
display the local node that has the best value for the memory attribute
given by <name> (or as an index). If the memory attribute
values depend on the initiator, the object given to hwloc-info is used as
the initiator.
- -n
- When outputting object information, prefix each line with the index of the
considered object within the input. For instance, if three cores were
given in input, the output lines will be prefixed with "0: ",
"1: " or "2: ". If --ancestor is also used, the
prefix will be "X.Y: " where X is the index of the considered
object within the input, and Y is the parent index (0 for the object
itself, increasing towards the root of the topology).
- --disallowed
- Include objects disallowed by administrative limitations.
- --restrict
<cpuset>
- Restrict the topology to the given cpuset.
- --restrict
nodeset=<nodeset>
- Restrict the topology to the given nodeset, unless --restrict-flags
specifies something different.
- --restrict
binding
- Restrict the topology to the current process binding. This option requires
the use of the actual current machine topology (or any other topology with
--thissystem or with HWLOC_THISSYSTEM set to 1 in the
environment).
- --restrict-flags
<flags>
- Enforce flags when restricting the topology. Flags may be given as numeric
values or as a comma-separated list of flag names that are passed to
hwloc_topology_restrict(). Those names may be substrings of actual
flag names as long as a single one matches, for instance
bynodeset,memless. The default is 0 (or none).
- --filter
<type>:<kind>, --filter <type>
- Filter objects of type <type>, or of any type if <type> is
"all". "io", "cache" and "icache"
are also supported.
<kind> specifies the filtering behavior. If
"none" or not specified, all objects of the given type are
removed. If "all", all objects are kept as usual. If
"structure", objects are kept when they bring structure to the
topology. If "important" (only applicable to I/O and Misc),
only important objects are kept. See hwloc_topology_set_type_filter()
for more details.
- --no-icaches
- Do not show Instruction caches, only Data and Unified caches are
considered. This is identical to --filter icache:none.
- --no-io
- Do not show any I/O device or bridge. This is identical to --filter
io:none. By default, common devices (GPUs, NICs, block devices, ...)
and interesting bridges are shown.
- --no-bridges
- Do not show any I/O bridge except hostbridges. This is identical to
--filter bridge:none. By default, common devices (GPUs, NICs, block
devices, ...) and interesting bridges are shown.
- --whole-io
- Show all I/O devices and bridges. This is identical to --filter
io:all. By default, only common devices (GPUs, NICs, block devices,
...) and interesting bridges are shown.
- --thissystem
- Assume that the selected backend provides the topology for the system on
which we are running. This is useful when using --restrict binding
and loading a custom topology such as an XML file.
- --pid
<pid>
- Detect topology as seen by process <pid>, i.e. as if process
<pid> did the discovery itself. Note that this can for instance
change the set of allowed processors. Also show this process current CPU
binding by marking the corresponding PUs (in Green in the graphical
output, see the COLORS section below, or by appending (binding) to
the verbose text output). If 0 is given as pid, the current binding for
the lstopo process will be shown.
- -p --physical
- Use OS/physical indexes instead of logical indexes for input.
- -l --logical
- Use logical indexes instead of physical/OS indexes for input
(default).
- --version
- Report version and exit.
- -h --help
- Display help message and exit.
hwloc-info displays information about the specified object. It is
intended to be used with tools such as grep for filtering certain attribute
lines. When no object is specified, or when --topology is passed,
hwloc-info prints a summary of the topology. When --support is
passed, hwloc-info lists the supported features for the topology.
Objects may be specified as location tuples, as explained in
hwloc(7). However hexadecimal bitmasks are not accepted since they may
correspond to multiple objects.
NOTE: It is highly recommended that you read the hwloc(7)
overview page before reading this man page. Most of the concepts described
in hwloc(7) directly apply to the hwloc-calc utility.
To display information about each package:
$ hwloc-info package:all
Package L#0
logical index = 0
...
To display information about the core whose physical index is
2:
$ hwloc-info -p core:2
Core L#1
logical index = 1
os index = 2
...
To list the NUMA nodes that are local a PU:
$ hwloc-info --local-memory pu:25
NUMANode L#6 = local memory #0 of PU L#25
type = NUMANode
...
NUMANode L#7 = local memory #1 of PU L#25
type = NUMANode
...
To show the best-bandwidth node among NUMA nodes local to a
PU:
$ hwloc-info --local-memory --best-memattr bandwidth pu:25
NUMANode L#7 = local memory #1 of PU L#25
type = NUMANode
...