Open MPI logo

Portable Hardware Locality (hwloc) Documentation: v1.11.13

  |   Home   |   Support   |   FAQ   |  
Miscellaneous objects

hwloc topologies may be annotated with Misc objects (of type HWLOC_OBJ_MISC) either automatically or by the user. This is an flexible way to annotate topologies with large sets of information since Misc objects may be inserted anywhere in the topology (to annotate specific objects or parts of the topology), even below other Misc objects, and each of them may contain multiple attributes (see also How do I annotate the topology with private notes?).

These Misc objects may have a Type info attribute to replace Misc with something else in the lstopo output.

Misc objects added by hwloc

hwloc only uses Misc objects when other object types are not sufficient. This currently includes:

  • Memory modules (DIMMs), on Linux when privileged and when dmi-sysfs is supported by the kernel, and when I/O discovery is enabled. These objects have a Type info attribute of value MemoryModule. They are currently always attached to the root object. Their attributes describe the DIMM vendor, model, etc. lstopo -v displays them as:
    Misc(MemoryModule) (P#1 Type=MemoryModule DeviceLocation="Bottom-Slot 2(right)" BankLocation="BANK 2" Vendor=Elpida SerialNumber=21733667 AssetTag=9876543210 PartNumber="EBJ81UG8EFU0-GN-F ")
  • Displaying process binding in lstopo --top. These objects have a Type info attribute of value Process and a name attribute made of their PID and program name. They are attached below the object they are bound to. The textual lstopo displays them as:
    PU L#0 (P#0)
    Misc(Process) 4445 myprogram

Annotating topologies with Misc objects

The user may annotate hwloc topologies with its own Misc objects. A Misc object may be inserted anywhere in the topology by specifying its CPU set (using hwloc_topology_insert_misc_object_by_cpuset()). Or it may be inserted as a leaf of the topology by specifying its parent (with hwloc_topology_insert_misc_object_by_parent()).