Open MPI logo

Hardware Locality Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Hardware Locality Development mailing list

Subject: [hwloc-devel] [RFC] deprecating multiple load() support
From: Brice Goglin (Brice.Goglin_at_[hidden])
Date: 2013-01-03 14:46:00


Hello,

hwloc users are supposed to configure/build topologies like this:
  hwloc_topology_init()
  /* all configuration calls */
  hwloc_topology_set_xml()
  hwloc_topology_set_flags()
  /* end of all configuration calls */
  hwloc_topology_load() /* load from XML with flags enabled */

We actually doing things like:
  hwloc_topology_init()
  hwloc_topology_set_xml()
  hwloc_topology_load() /* load from XML */
  hwloc_topology_set_flags()
  hwloc_topology_load() /* reload from XML with flags enabled */

That's convenient in some corner cases, but it is causing some headache
for maintenance. And it's not documented as far as I looked. So I am
willing to remove this feature. Users will only be allowed to do a
single load() per init(), and do set_foo() only between init() and this
single load(). That's what basically everybody does, and what the
documentation says.

Of course, using different topologies will still be allowed.

As a side-effect, tools such as hwloc-calc and hwloc-bind will no longer
let you mix options and locations in the command-line. You will have to
specify the input topology and flags at the beginning of the
command-line and then specify all locations within that topology.

If anybody cares, please speakup now! The plan is to remove these
"features" in v1.8 (could be released in 2013Q3). The delay isn't long
but nobody is likely using these features anyway. In the meantime
(starting in v1.6.1), we'll issue a warning if somebody ever uses them.

Brice