GPU: Hardware Locality

From Define Wiki
Revision as of 15:17, 19 April 2013 by Michael (talk | contribs) (→‎Usage)
Jump to navigation Jump to search

Installation

Pre requisites

  • Cairo
  • Cairo-devel
  • nvml
  • pciaccess / libpci / libpci-devel
  • pci utils / pciutils-devel (not in centos repos)

Install

Configure, make , make install. These have the usual command line options.

./configure --prefix=$HOME --enable-libpci --enable-plugins=nvml
make
make install


Usage

The main program is lstopo. Several options can be passed to change the input and output formats.

  • ./lstopo output.png - produces and image like the one shown.
  • ./lstopo-no-graphics - produces a text output


General Help

Supported output file formats: console, txt, fig, pdf, ps, png, svg, xml, synthetic

Formatting options:
  -l --logical          Display hwloc logical object indexes
                        (default for console output)
  -p --physical         Display physical object indexes
                        (default for graphical output)
Output options:
  --output-format <format>
  --of <format>         Force the output to use the given format
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
  -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:
  --ignore <type>       Ignore objects of the given type
  --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
  --restrict <cpuset>   Restrict the topology to processors listed in <cpuset>
  --restrict binding    Restrict the topology to the current process binding
  --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 "n:2 2"
  -i "n: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, 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>
  --whole-system        Do not consider administration limitations
Graphical output options:
  --fontsize 10         Set size of text font
  --gridsize 10         Set size of margin between elements
  --horiz[=<type,...>]  Horizontal graphical layout instead of nearly 4/3 ratio
  --vert[=<type,...>]   Vertical graphical layout instead of nearly 4/3 ratio
  --no-legend           Remove the text legend at the bottom
Miscellaneous options:
  --ps --top            Display processes within the hierarchy
  --version             Report version and exit

Sample Output Image

Hwloc.png