HWLOC-INFO(1) hwloc HWLOC-INFO(1) NAME hwloc-info - Show some information about some objects or about a topology or about support features SYNOPSIS hwloc-info [ options ]... ... hwloc-info [ options ]... Note that hwloc(7) provides a detailed explanation of the hwloc system and of valid formats; it should be read before reading this man page. OPTIONS --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 , --input Read the topology from instead of discovering the topology of the local machine. If is a file, it may be a XML file exported by a previous hwloc program. If is "-", the standard input may be used as a XML file. On Linux, may be a directory containing the topology files gathered from another machine topology with hwloc-gather- topology. On x86, may be a directory containing a cpuid dump gathered with hwloc-gather-cpuid. When the archivemount program is available, may also be a tarball containing such Linux or x86 topology files. -i , --input Simulate a fake hierarchy (instead of discovering the topology on the local machine). If is "node:2 pu:3", the topology will contain two NUMA nodes with 3 processing units in each of them. The string must end with a number of PUs. --if , --input-format Enforce the input in the given format, among xml, fsroot, cpuid and synthetic. -v --verbose Include additional detail. -q --quiet -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. This is identical to --ancestor all --ancestor Only display the object ancestors that match the given type. Some special values matching multiple types may also be given: kind=normal (CPU objects, including caches), kind=cpu (CPU objects, excluding caches), kind=cache (all caches, including memory-side caches), kind=memory (NUMA nodes or memory-side caches), kind=io (IO objects), kind=all (all objects). See also Object Kind in Terms and Definitions in the documentation. The prefix kind= may be omitted if there is no ambiguity. If multiple ancestors match, they are reported from the deepest to the highest in the topology. Adding --first will only show the first one. --children Display information about the object children. --descendants Display information about the object descendants that match the given type. Some special values matching multiple types may also be given: kind=normal (CPU objects, including caches), kind=cpu (CPU objects, excluding caches), kind=cache (all caches, including memory-side caches), kind=memory (NUMA nodes or memory-side caches), kind=io (IO objects), kind=all (all objects). See also Object Kind in Terms and Definitions in the documentation. The prefix kind= may be omitted if there is no ambiguity. If multiple objects match, they are reported in a depth-first order (first child, then its children, etc., then second child, etc.). Adding --first will only show the first one. --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 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 (or as an index). If the memory attribute values depend on the initiator, the object given to hwloc-info is used as the initiator. --first For each input object, only report the first matching output object (first ancestor, first child, etc.). -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 Restrict the topology to the given cpuset. This removes some PUs and their now-child-less parents. Beware that restricting the PUs in a topology may change the logical indexes of many objects, including NUMA nodes. --restrict nodeset= Restrict the topology to the given nodeset (unless --restrict-flags specifies something different). This removes some NUMA nodes and their now-child-less parents. Beware that restricting the NUMA nodes in a topology may change the logical indexes of many objects, including PUs. --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). Beware that restricting the topology may change the logical indexes of many objects, including PUs and NUMA nodes. --restrict-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 :, --filter Filter objects of type , or of any type if is "all". "io", "cache" and "icache" are also supported. 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 Detect topology as seen by process , i.e. as if process 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. DESCRIPTION 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. EXAMPLES 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 OS devices that are of subtype OpenCL: $ hwloc-info -s "os[OpenCL]:all" CoProc:6 CoProc:8 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 ... to find where a NUMA node is attached in the hierarchy of CPU cores: $ hwloc-info --ancestor kind=normal --first -s numa:1 Package:0 SEE ALSO hwloc(7), lstopo(1), hwloc-calc(1), hwloc-bind(1), hwloc-ps(1) 2.10.0 December 4, 2023 HWLOC-INFO(1)