Package hwloc

Portable Hardware Locality - portable abstraction of hierarchical architectures

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

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, shared caches, processor sockets, processor cores
and processing units (logical processors or "threads"). It also gathers
various system attributes such as cache and memory information. It primarily
aims at helping applications with gathering information about modern
computing hardware so as to exploit it accordingly and efficiently.

hwloc may display the topology in multiple convenient formats.
It also offers a powerful programming interface (C API) to gather information
about the hardware, bind processes, and much more.

General Commands
Command Description
hwloc-annotate Add info attributes to a XML topology
hwloc-assembler Assemble multiple XML topologies
hwloc-assembler-remote Assemble multiple remote host topologies
hwloc-bind Launch a command that is bound to specific processors and/or memory, or consult...
hwloc-calc Operate on cpu mask strings and objects
hwloc-compress-dir Compress a directory of XML topologies
hwloc-diff Compute differences between two XML topologies
hwloc-distances Displays distance matrices
hwloc-distrib Build a number of cpu masks distributed on the system
hwloc-dump-hwdata Dump topology and locality information from hardware tables
hwloc-gather-topology Saves the relevant Linux topology files and the lstopo output for later...
hwloc-info Show some information about some objects or about a topology or about support...
hwloc-patch Apply a topology difference to an existing XML topology
hwloc-ps List currently-running processes or threads that are bound