Hardware Locality (hwloc)  3.0.0a1-git
Exporting Topologies to Synthetic

Enumerations

enum  hwloc_topology_export_synthetic_flags_e { HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_EXTENDED_TYPES , HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_ATTRS , HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_IGNORE_MEMORY }
 

Functions

int hwloc_topology_export_synthetic (hwloc_topology_t topology, char *buffer, size_t buflen, unsigned long flags)
 

Detailed Description

Enumeration Type Documentation

◆ hwloc_topology_export_synthetic_flags_e

Flags for exporting synthetic topologies.

Flags to be given as a OR'ed set to hwloc_topology_export_synthetic().

Enumerator
HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_EXTENDED_TYPES 

Export basic object types.

Avoid recent/extended object types such as Die. Rather export basic types such as Group that are supported by all hwloc versions.

HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_ATTRS 

Do not export level attributes.

Ignore level attributes such as memory/cache sizes or PU indexes.

HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_IGNORE_MEMORY 

Do not export memory information.

Only export the actual hierarchy of normal CPU-side objects and ignore where memory is attached. This is useful for when the hierarchy of CPUs is what really matters, but the exported topology will get a single machine-wide NUMA node.

Function Documentation

◆ hwloc_topology_export_synthetic()

int hwloc_topology_export_synthetic ( hwloc_topology_t  topology,
char *  buffer,
size_t  buflen,
unsigned long  flags 
)

Export the topology as a synthetic string.

At most buflen characters will be written in buffer, including the terminating \0.

This exported string may be given back to hwloc_topology_set_synthetic().

flags is a OR'ed set of hwloc_topology_export_synthetic_flags_e.

Returns
The number of characters that were written, not including the terminating \0.
-1 if the topology could not be exported, for instance if it is not symmetric.
Note
I/O and Misc children are ignored, the synthetic string only describes normal children.
A 1024-byte buffer should be large enough for exporting topologies in the vast majority of cases.