These files can be used later to explore the machine topology offline. Once the tarball has been extracted, it may for instance be given to some hwloc command-line utilities through their --input option. It is also possible to override the default topology that the hwloc library will read by setting the extracted path in the HWLOC_FSROOT environment variable.
The archive and the lstopo textual and XML outputs may also be submitted to hwloc developers to debug issues remotely.
hwloc-gather-topology is a Linux specific tool, it is not installed on other operating systems.
NOTE: hwloc-gather-topology gathers many hardware details about the platform. The outputs and tarball should not be posted on public lists or websites unless it is clear that they contain no sensitive information.
NOTE: The gathering may take several minutes, especially on large nodes.
NOTE: It is highly recommended that you read the hwloc(7) overview page before reading this man page.
To store topology information to be used later (possibly on a different host) please run:
It will store all relevant topology files in the /tmp/myhost.tar.bz2 archive, the lstopo output in the /tmp/myhost.output file, and the lstopo XML in the /tmp/myhost.xml file. These files can be transferred on another host for later/offline analysis and/or as the input to various hwloc utilities.
To use these data with hwloc utilities you have to unpack myhost.tar.bz2 archive first:
tar jxvf /tmp/myhost.tar.bz2
A new directory named myhost now contains all topology files. Then you ask various hwloc utilities to use this topology instead of the one of the real machine by passing --input myhost. To display the topology just run:
lstopo --input ./myhost
It is not necessary that the topology is extracted in the current directory, absolute or relative paths are also supported:
lstopo --input /path/to/remote/host/extracted/topology/
To see how hwloc would distribute 8 parallel jobs on the original host:
hwloc-distrib --input myhost --single 8
To get the corresponding physical indexes in the previous command:
hwloc-calc --input myhost --po --li --proclist $(hwloc-distrib --input myhost --single 8)
Any program may actually override the default topology with a given archived one even if it does not have a --input option. The HWLOC_FSROOT environment variable should be used to do so:
HWLOC_FSROOT=myhost hwloc-calc --po --li --proclist $(hwloc-distrib --single 8)