The Hardware Locality (hwloc) team is pleased to announce the release
v1.6 is a major new release series. It includes many new features and
changes over the v1.5.x series. It brings a significant rework of the
core which eases the combining of multiple topology discovery sources,
and future additions of new sources. Some components may also now be
built and loaded as separate plugins, which should make distribution
packagers' life easier.
Aside of this core rework, we have the usual set of small API additions
(one may now export/import its own custom private data to XML), new
command-line tools (hwloc-annotate), new command-line options, some
small discovery improvements.
* Major changes
+ Reorganize the backend infrastructure to support dynamic selection
of components and dynamic loading of plugins. For details, see the
new documentation section Components and plugins.
- The HWLOC_COMPONENTS variable lets one replace the default discovery
- Dynamic loading of plugins may be enabled with --enable-plugins
(except on AIX and Windows). It will build libxml2 and libpci
support as separated modules. This helps reducing the dependencies
of the core hwloc library when distributed as a binary package.
+ Add CPUModel detection on Darwin and x86/FreeBSD.
Thanks to Robin Scher for providing ways to implement this.
+ The x86 backend now adds CPUModel info attributes to socket objects
created by other backends that do not natively support this attribute.
+ Fix detection on FreeBSD in case of cpuset restriction. Thanks to
Sebastian Kuzminsky for reporting the problem.
+ Add hwloc_topology_set_userdata_import/export_callback(),
hwloc_export_obj_userdata() and _userdata_base64() to let
applications specify how to save/restore the custom data they placed
in the userdata private pointer field of hwloc objects.
+ Add hwloc-annotate program to add string info attributes to XML
+ Add --pid-cmd to hwloc-ps to append the output of a command to each
PID line. May be used for showing Open MPI process ranks, see the
hwloc-ps(1) manpage for details.
+ hwloc-bind now exits with an error if binding fails; the executable
is not launched unless binding suceeeded or --force was given.
+ Add --quiet to hwloc-calc and hwloc-bind to hide non-fatal error
+ Fix command-line pid support in windows tools.
+ All programs accept --verbose as a synonym to -v.
+ Fix some DIR descriptor leaks on Linux.
+ Fix I/O device lists when some were filtered out after a XML import.
+ Fix the removal of I/O objects when importing a I/O-enabled XML topology
without any I/O topology flag.
+ When merging objects with HWLOC_IGNORE_TYPE_KEEP_STRUCTURE or
lstopo --merge, compare object types before deciding which one of two
identical object to remove (e.g. keep sockets in favor of caches).
+ Add some GUID- and LID-related info attributes to OpenFabrics
+ Only add CPUType socket attributes on Solaris/Sparc. Other cases
don't report reliable information (Solaris/x86), and a replacement
is available as the Architecture string info in the Machine object.
+ Add missing Backend string info on Solaris in most cases.
+ Document object attributes and string infos in a new Attributes
section in the documentation.
+ Add a section about Synthetic topologies in the documentation.