Hello, 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. Brice Version 1.6.0 ------------- * 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 components. - 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. * Backends + 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. * XML + 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. * Tools + Add hwloc-annotate program to add string info attributes to XML topologies. + 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 messages. + Fix command-line pid support in windows tools. + All programs accept --verbose as a synonym to -v. * Misc + 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 OS devices. + 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. Version 1.5.2 ------------- * 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.