hwloc

Version:

2.9.1, 2.7.1, 1.11.11

Category:

system

Cluster:

Vali

Author / Distributor

https://www.open-mpi.org/projects/hwloc/

Description

The Portable Hardware Locality (hwloc) software package provides a portable

abstraction (across OS, versions, architectures, …) of the hierarchical topology of modern architectures, including NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading. It also gathers various system attributes such as cache and memory information as well as the locality of I/O devices such as network interfaces, InfiniBand HCAs or GPUs. It primarily aims at helping applications with gathering information about modern computing hardware so as to exploit it accordingly and efficiently.

Documentation

Usage: lstopo [ options ] ... [ filename.format ]

See lstopo(1) for more details.

Default output is console.
Supported output file formats: console, ascii, tikz, fig, svg(native), xml, synthetic

Formatting options:
 -l --logical          Display hwloc logical object indexes
 -p --physical         Display OS/physical object indexes
Output options:
 --output-format <format>
 --of <format>         Force the output to use the given format
 -f --force            Overwrite the output file if it exists
Textual output options:
 --only <type>         Only show objects of the given type in the textual output
 -v --verbose          Include additional details
 -s --silent           Reduce the amount of details to show
 --distances           Only show distance matrices
 --distances-transform <links|merge-switch-ports|transitive-closure>
                       Transform distances before displaying them
 --memattrs            Only show memory attributes
 --cpukinds            Only show CPU kinds
 -c --cpuset           Show the cpuset of each object
 -C --cpuset-only      Only show the cpuset of each object
 --taskset             Show taskset-specific cpuset strings
Object filtering options:
 --filter <type>:<knd> Filter objects of the given type, or all.
    <knd> may be `all' (keep all), `none' (remove all), `structure' or `important'
 --ignore <type>       Ignore objects of the given type
 --no-smt              Ignore PUs
 --no-caches           Do not show caches
 --no-useless-caches   Do not show caches which do not have a hierarchical
                       impact
 --no-icaches          Do not show instruction caches
 --merge               Do not show levels that do not have a hierarchical
                       impact
 --no-collapse         Do not collapse identical PCI devices
 --restrict [nodeset=]<bitmap>
                       Restrict the topology to some processors or NUMA nodes.
 --restrict binding    Restrict the topology to the current process binding
 --restrict-flags <n>  Set the flags to be used during restrict
 --no-io               Do not show any I/O device or bridge
 --no-bridges          Do not any I/O bridge except hostbridges
 --whole-io            Show all I/O devices and bridges
Input options:
 --input <XML file>
 -i <XML file>         Read topology from XML file <path>
 --input <directory>
 -i <directory>        Read topology from chroot containing the /proc and /sys
                       of another system
 --input <directory>
 -i <directory>        Read topology from directory containing a CPUID dump
 --input "node:2 2"
 -i "node:2 2"         Simulate a fake hierarchy, here with 2 NUMA nodes of 2
                       processors
 --input-format <format>
 --if <format>         Enforce input format among xml, fsroot, cpuid, synthetic
 --thissystem          Assume that the input topology provides the topology
                       for the system on which we are running
 --pid <pid>           Detect topology as seen by process <pid>
 --disallowed          Include objects disallowed by administrative limitations
 --allow <all|local|...>   Change the set of objects marked as allowed
 --flags <n>           Set the topology flags
Graphical output options:
 --children-order <memory:above|io:right:vert|...|plain>
                       Change the layout of Memory, I/O or Misc children
 --no-factorize        Do not factorize identical objects
 --no-factorize=<type> Do not factorize identical objects of type <type>
 --factorize           Factorize identical objects (default)
 --factorize=[<type>,]<N>[,<L>[,<F>]]
                       Set the minimum number <N> of objects to factorize,
                       the numbers of first <F> and last <L> to keep,
                       for all or only the given object type <type>
 --no-cpukinds         Do not show CPU kinds
 --fontsize 10         Set size of text font
 --gridsize 7          Set size of margin between elements
 --linespacing 4       Set spacing between lines of text
 --thickness 1         Set thickness of lines and boxes
 --horiz[=<type,...>]  Horizontal graphical layout instead of nearly 4/3 ratio
 --vert[=<type,...>]   Vertical graphical layout instead of nearly 4/3 ratio
 --rect[=<type,...>]   Rectangular graphical layout with nearly 4/3 ratio
 --text[=<type,...>]   Display text for the given object types
 --no-text[=<type,..>] Do not display text for the given object types
 --index=[<type,...>]  Display indexes for the given object types
 --no-index=[<type,.>] Do not display indexes for the given object types
 --attrs=[<type,...>]  Display attributes for the given object types
 --no-attrs=[<type,.>] Do not display attributes for the given object types
 --no-legend           Remove all text legend lines at the bottom
 --no-default-legend   Remove default text legend lines at the bottom
 --append-legend <s>   Append a new line of text at the bottom of the legend
 --grey --palette grey Use greyscale instead of colors
 --palette white       Use white instead of colors for background
 --palette <type>=<#xxyyzz>
                       Replace the color for object of the given type
 --binding-color <none|#xxyyzz>
                       Disable or change binding PU and NUMA nodes color
 --disallowed-color <none|#xxyyzz>
                       Disable or change disallowed PU and NUMA nodes color
 --top-color <none|#xxyyzz>
                       Disable or change task background color for --top
Miscellaneous options:
 --logical-index-prefix <s> --os-index-prefix <s>
                       Use <s> as a prefix for logical or physical/OS indexes
 --export-xml-flags <n>
                       Set flags during the XML topology export
 --export-synthetic-flags <n>
                       Set flags during the synthetic topology export
 --ps --top            Display processes within the hierarchy
 --version             Report version and exit
 -h --help             Show this usage

Examples/Usage

  • List available modules:

    $ module avail hwloc
    
  • Load the hwloc module:

    $ module load system/hwloc/2.9.1-GCCcore-12.3.0
    
  • Check the loaded modules:

    $ module list
    
  • Unload the hwloc module:

    $ module unload system/hwloc/2.9.1-GCCcore-12.3.0
    
  • Access the help information:

    $ lstopo --help
    

Installation

Source code is obtained from hwloc