Provided by: hwloc-nox_2.11.2-1build1_amd64 bug

NAME

       hwloc-info - Show some information about some objects, a topology or supported features

SYNOPSIS

       hwloc-info [ options ]...  <object>...

       hwloc-info [ options ] root hwloc-info [ options ] [ topology | levels | support ]

       <object>... may be a space-separated list of target objects to query.  The program reports
       all information about one object before looking at the next one:

           $ hwloc-info core:2 package:1 pu:all
           Core L#2
            type = Core
            ...
           Package L#1
            ...
           PU L#0
            ...
           PU L#1
            ...

       The list may also contain special keywords such as:

           root for the topology root object.

           levels for information about topology levels (default if no target  object  is  given,
       identical to --topology).

           topology  for  topology  info  attributes  stored  in  the  root  object  (for forward
       compatibility with topology info attrs in hwloc 3.0).

           support for information about supported features (identical to --support).

       Real targets and special keywords may be combined:

           $ hwloc-info core:2 topology pu:3 levels

       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.

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
              equivalent  to  passing levels as a target object on the command-line.  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.   This  is equivalent to passing support as a target object on
              the command-line.

       -i <path>, --input <path>
              Read the topology from <path> instead of discovering  the  topology  of  the  local
              machine.

              If <path> is a file, 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.

       -q --quiet -s --silent
              Reduce the amount of details  to  show.   A  single  summary  line  per  object  is
              displayed.

       --get-attr <name>
              Only  report  the  attribute  of  name  <name>  for  each  object  (instead  of all
              attributes).  The name must exactly match what is usually reported by the  program,
              for instance "complete cpuset" in "0.1: complete cpuset = %0x00ffff00".

              Only the value is reported, any other prefix or object name is ignored, so that the
              output may easily be used by other tools.

              This option also works on topology information but it is  ignored  for  levels  and
              support keywords.

       --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 <type>
              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 <type>
              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 <name>
              Enable the listing of local memory nodes with --local-memory, but only display  the
              local  nodes  that have 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.

              <name> may be suffixed with flags to tune the selection of best nodes, for instance
              as bandwidth,strict,default.  default means that all local nodes are reported if no
              best  could  be  found.   strict  means  that  nodes  are  selected  only  if their
              performance is the best for all the input CPUs. On a dual-socket machine  with  HBM
              in  each  socket,  both  HBMs  are the best for their local socket, but not for the
              remote socket.  Hence both HBM are also considered best for the entire  machine  by
              default, but none if strict.

       --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 <cpuset>
              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=<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 <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.

DESCRIPTION

       hwloc-info displays information about the specified objects.  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 find the PCI bus ID of PCI devices containing OpenCL devices:

           $ hwloc-info --ancestor PCI --get-attr "attr PCI bus id" 'os[opencl]:all'
           0000:05:00.0
           0000:42:00.0

       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(s) 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

       To see levels and topology info attributes stored in the root object:

           $ hwloc-info levels topology
           depth 0:           1 Machine (type #0)
            depth 1:          1 Package (type #1)
             depth 2:         2 Core (type #2)
              depth 3:        4 PU (type #3)
           Special depth -3:  1 NUMANode (type #13)
           info Backend = Linux
           info LinuxCgroup = /user/622
           info Architecture = x86_64
           info hwlocVersion = 3.0.0a1-git

SEE ALSO

       hwloc(7), lstopo(1), hwloc-calc(1), hwloc-bind(1), hwloc-ps(1)