I am planning to release a hwloc v1.6rc1 today or tomorrow unless
somebody complains. The full list of NEWS is listed below. And it would
contain some fixes that are pending in the v1.5.x branch (listed below too).
The big change is obviously the rework of backends/components, but I
don't expect many problems there since I did quite a lot of testing.
Support for dynamically-loaded plugins is disabled by default (it's
mostly useful for distribution packagers), so hopefully it won't break
any existing installation. This work will significantly ease future
improvements since we'll now be able to use external libraries (cuda,
display/GL, openfabrics) without causing to much pain to packagers.
There are also a usual pile of minor improvements everywhere.
* 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.
+ 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.
+ Document object attributes and string infos in a new Attributes
section in the documentation.
* Fix some DIR descriptor leaks on Linux.
* Fix I/O device lists when some were filtered out after a XML import.
* Add missing Backend string info on Solaris in most cases.