[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.2b3-264-g5ce7102

Service Account noreply at mpich.org
Tue Jul 21 10:05:49 CDT 2015


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".

The branch, master has been updated
       via  5ce7102445fe0f6fbcf3fac0e49b092bf3069778 (commit)
       via  23821aa1487bdd3619e89624694a5f423023211a (commit)
       via  f9eb0b6cacd134cd04dec985de10b57ec2957fcc (commit)
      from  8f940e4ab26b7d2c2673b9812b60469f9ea2ab58 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/5ce7102445fe0f6fbcf3fac0e49b092bf3069778

commit 5ce7102445fe0f6fbcf3fac0e49b092bf3069778
Author: Pavan Balaji <balaji at anl.gov>
Date:   Mon Jul 20 15:35:57 2015 -0500

    Warning squash: Avoid assigning const char * to char *.
    
    Signed-off-by: Ken Raffenetti <raffenet at mcs.anl.gov>

diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-xml.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-xml.c
index d9e2e46..8cf584d 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-xml.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-xml.c
@@ -1037,7 +1037,7 @@ hwloc_topology_diff_load_xmlbuffer(hwloc_topology_t topology __hwloc_attribute_u
   int ret;
 
   state.global = &fakedata;
-  fakedata.msgprefix = "xmldiffbuffer";
+  fakedata.msgprefix = strdup("xmldiffbuffer");
 
   if (!hwloc_libxml_callbacks && !hwloc_nolibxml_callbacks) {
     errno = ENOSYS;
@@ -1061,6 +1061,7 @@ hwloc_topology_diff_load_xmlbuffer(hwloc_topology_t topology __hwloc_attribute_u
   }
 
   hwloc_localeswitch_fini();
+  free(fakedata.msgprefix);
   return ret;
 }
 

http://git.mpich.org/mpich.git/commitdiff/23821aa1487bdd3619e89624694a5f423023211a

commit 23821aa1487bdd3619e89624694a5f423023211a
Author: Pavan Balaji <balaji at mcs.anl.gov>
Date:   Sun May 19 00:17:55 2013 -0500

    Hydra-specific patches for hwloc.
    
    Picked up the relevant parts of [a460c1eeca56], [dab3166d28a7],
    [1eb07c6e38c4], and [afa6e0c59ff3].
    
    Signed-off-by: Ken Raffenetti <raffenet at mcs.anl.gov>

diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/Makefile.am b/src/pm/hydra/tools/topo/hwloc/hwloc/Makefile.am
index 69ae667..5449f70 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/Makefile.am
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/Makefile.am
@@ -9,10 +9,10 @@ ACLOCAL_AMFLAGS = -I ./config
 
 SUBDIRS = src include
 if HWLOC_BUILD_STANDALONE
-SUBDIRS += tests utils
+# SUBDIRS += utils tests
 # We need doc/ if HWLOC_BUILD_DOXYGEN, or during make install if HWLOC_INSTALL_DOXYGEN.
 # There's no INSTALL_SUBDIRS, so always enter doc/ and check HWLOC_BUILD/INSTALL_DOXYGEN there
-SUBDIRS += doc
+# SUBDIRS += doc
 endif
 
 # Do not let automake automatically add the non-standalone dirs to the
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/autogen.sh b/src/pm/hydra/tools/topo/hwloc/hwloc/autogen.sh
index df42802..c73edc2 100755
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/autogen.sh
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/autogen.sh
@@ -1,2 +1,9 @@
-:
-autoreconf ${autoreconf_args:-"-ivf"}
+#!/bin/sh
+
+if [ -n "$MPICH_AUTOTOOLS_DIR" ] ; then
+    autoreconf=${MPICH_AUTOTOOLS_DIR}/autoreconf
+else
+    autoreconf=${AUTORECONF:-autoreconf}
+fi
+
+$autoreconf ${autoreconf_args:-"-ivf"}
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology.c
index 1636730..4465c00 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology.c
@@ -3038,7 +3038,7 @@ hwloc__check_children(struct hwloc_obj *parent)
    */
   if (parent->complete_cpuset) {
     int firstchild;
-    int prev_firstchild = -1; /* -1 works fine with first comparisons below */
+    int prev_firstchild __hwloc_attribute_unused = -1; /* -1 works fine with first comparisons below */
     for(j=0; j<parent->arity; j++) {
       if (!parent->children[j]->complete_cpuset
 	  || hwloc_bitmap_iszero(parent->children[j]->complete_cpuset))

http://git.mpich.org/mpich.git/commitdiff/f9eb0b6cacd134cd04dec985de10b57ec2957fcc

commit f9eb0b6cacd134cd04dec985de10b57ec2957fcc
Author: Pavan Balaji <balaji at anl.gov>
Date:   Mon Jul 20 15:17:05 2015 -0500

    Updated to hwloc-1.11.
    
    Signed-off-by: Ken Raffenetti <raffenet at mcs.anl.gov>

diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/.gitignore b/src/pm/hydra/tools/topo/hwloc/hwloc/.gitignore
index 95bf610..99d4e38 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/.gitignore
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/.gitignore
@@ -85,6 +85,8 @@ test-suite.log
 /tests/hwloc_topology_restrict
 /tests/hwloc_obj_infos
 /tests/hwloc_iodevs
+/tests/hwloc_topology_diff
+/tests/hwloc_topology_dup
 /tests/xmlbuffer
 /tests/gl
 /tests/intel-mic
@@ -117,46 +119,50 @@ test-suite.log
 /tests/xml/*.log
 /tests/xml/*.trs
 
-/utils/*.o
-/utils/hwloc-annotate
-/utils/hwloc-annotate.1
-/utils/hwloc-assembler
-/utils/hwloc-assembler-remote
-/utils/hwloc-assembler-remote.1
-/utils/hwloc-assembler.1
-/utils/hwloc-bind
-/utils/hwloc-bind.1
-/utils/hwloc-calc
-/utils/hwloc-calc.1
-/utils/hwloc-compress-dir
-/utils/hwloc-compress-dir.1
-/utils/hwloc-diff
-/utils/hwloc-diff.1
-/utils/hwloc-distances
-/utils/hwloc-distances.1
-/utils/hwloc-distrib
-/utils/hwloc-distrib.1
-/utils/hwloc-gather-topology.1
-/utils/hwloc-info
-/utils/hwloc-info.1
-/utils/hwloc-patch
-/utils/hwloc-patch.1
-/utils/hwloc-ps
-/utils/hwloc-ps.1
-/utils/hwloc.7
-/utils/lstopo
-/utils/lstopo-no-graphics
-/utils/lstopo.1
-/utils/test-fake-plugin.sh
-/utils/test-hwloc-annotate.sh
-/utils/test-hwloc-assembler.sh
-/utils/test-hwloc-calc.sh
-/utils/test-hwloc-compress-dir.sh
-/utils/test-hwloc-diffpatch.sh
-/utils/test-hwloc-distances.sh
-/utils/test-hwloc-distrib.sh
-/utils/test-hwloc-info.sh
-/utils/test-hwloc-ls.sh
-/utils/test-*.sh.log
-/utils/test-*.sh.trs
+/utils/hwloc/*.o
+/utils/hwloc/hwloc-annotate
+/utils/hwloc/hwloc-annotate.1
+/utils/hwloc/hwloc-assembler
+/utils/hwloc/hwloc-assembler-remote
+/utils/hwloc/hwloc-assembler-remote.1
+/utils/hwloc/hwloc-assembler.1
+/utils/hwloc/hwloc-bind
+/utils/hwloc/hwloc-bind.1
+/utils/hwloc/hwloc-calc
+/utils/hwloc/hwloc-calc.1
+/utils/hwloc/hwloc-compress-dir
+/utils/hwloc/hwloc-compress-dir.1
+/utils/hwloc/hwloc-diff
+/utils/hwloc/hwloc-diff.1
+/utils/hwloc/hwloc-distances
+/utils/hwloc/hwloc-distances.1
+/utils/hwloc/hwloc-distrib
+/utils/hwloc/hwloc-distrib.1
+/utils/hwloc/hwloc-gather-topology.1
+/utils/hwloc/hwloc-info
+/utils/hwloc/hwloc-info.1
+/utils/hwloc/hwloc-patch
+/utils/hwloc/hwloc-patch.1
+/utils/hwloc/hwloc-ps
+/utils/hwloc/hwloc-ps.1
+/utils/hwloc/hwloc.7
+/utils/hwloc/test-fake-plugin.sh
+/utils/hwloc/test-hwloc-annotate.sh
+/utils/hwloc/test-hwloc-assembler.sh
+/utils/hwloc/test-hwloc-calc.sh
+/utils/hwloc/test-hwloc-compress-dir.sh
+/utils/hwloc/test-hwloc-diffpatch.sh
+/utils/hwloc/test-hwloc-distances.sh
+/utils/hwloc/test-hwloc-distrib.sh
+/utils/hwloc/test-hwloc-info.sh
+/utils/hwloc/test-*.sh.log
+/utils/hwloc/test-*.sh.trs
+
+/utils/lstopo/*.o
+/utils/lstopo/lstopo
+/utils/lstopo/lstopo-no-graphics
+/utils/lstopo/lstopo.1
+/utils/lstopo/test-hwloc-ls.sh
+/utils/lstopo/test-*.sh.log
+/utils/lstopo/test-*.sh.trs
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/COPYING b/src/pm/hydra/tools/topo/hwloc/hwloc/COPYING
index 32128c7..694a7bd 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/COPYING
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/COPYING
@@ -1,6 +1,6 @@
 Copyright © 2009 CNRS
 Copyright © 2009 inria.  All rights reserved.
-Copyright © 2009 Université Bordeaux 1
+Copyright © 2009 Université Bordeaux
 Copyright © 2009 Cisco Systems, Inc.  All rights reserved.
 Copyright © 2012 Blue Brain Project, EPFL. All rights reserved.
 See COPYING in top-level directory.
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/HACKING b/src/pm/hydra/tools/topo/hwloc/hwloc/HACKING
index 03e3e1b..50c0e4d 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/HACKING
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/HACKING
@@ -26,7 +26,7 @@ Notes to developers:
   - w3m or lynx (to generate the README)
 
   On Debian systems, the following packages should be enough:
-    doxygen ghostscript texlive-latex-base texlive-latex-recommended 
+    doxygen ghostscript texlive-latex-base texlive-latex-recommended
     texlive-fonts-recommended texlive-font-utils transfig w3m
   On RedHat systems:
     ghostscript doxygen transfig tetex tetex-latex w3m
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/Makefile.am b/src/pm/hydra/tools/topo/hwloc/hwloc/Makefile.am
index 9c58e93..69ae667 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/Makefile.am
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/Makefile.am
@@ -1,6 +1,6 @@
-# Copyright © 2009-2014 Inria.  All rights reserved.
-# Copyright © 2009      Université Bordeaux 1
-# Copyright © 2009-2010 Cisco Systems, Inc.  All rights reserved.
+# Copyright © 2009-2015 Inria.  All rights reserved.
+# Copyright © 2009      Université Bordeaux
+# Copyright © 2009-2014 Cisco Systems, Inc.  All rights reserved.
 # See COPYING in top-level directory.
 
 # Note that the -I directory must *exactly* match what was specified
@@ -9,10 +9,10 @@ ACLOCAL_AMFLAGS = -I ./config
 
 SUBDIRS = src include
 if HWLOC_BUILD_STANDALONE
-# SUBDIRS += utils tests
+SUBDIRS += tests utils
 # We need doc/ if HWLOC_BUILD_DOXYGEN, or during make install if HWLOC_INSTALL_DOXYGEN.
 # There's no INSTALL_SUBDIRS, so always enter doc/ and check HWLOC_BUILD/INSTALL_DOXYGEN there
-# SUBDIRS += doc
+SUBDIRS += doc
 endif
 
 # Do not let automake automatically add the non-standalone dirs to the
@@ -34,12 +34,12 @@ endif
 
 #
 # "make distcheck" requires that tarballs are able to be able to "make
-# dist", so we have to include config/distscript.csh.
+# dist", so we have to include config/distscript.sh.
 #
 EXTRA_DIST = \
         README VERSION COPYING AUTHORS \
         config/hwloc_get_version.sh \
-        config/distscript.csh
+        config/distscript.sh
 
 # Only install entire visual studio subdirectory if we're building in standalone mode
 if HWLOC_BUILD_STANDALONE
@@ -48,7 +48,7 @@ endif
 
 if HWLOC_BUILD_STANDALONE
 dist-hook:
-	csh "$(top_srcdir)/config/distscript.csh" "$(top_srcdir)" "$(distdir)" "$(HWLOC_VERSION)"
+	sh "$(top_srcdir)/config/distscript.sh" "$(top_srcdir)" "$(distdir)" "$(HWLOC_VERSION)"
 endif HWLOC_BUILD_STANDALONE
 
 #
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/NEWS b/src/pm/hydra/tools/topo/hwloc/hwloc/NEWS
index 93426da..df246fe 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/NEWS
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/NEWS
@@ -1,6 +1,6 @@
 Copyright © 2009 CNRS
-Copyright © 2009-2014 Inria.  All rights reserved.
-Copyright © 2009-2013 Université Bordeaux 1
+Copyright © 2009-2015 Inria.  All rights reserved.
+Copyright © 2009-2013 Université Bordeaux
 Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
 
 $COPYRIGHT$
@@ -17,6 +17,186 @@ bug fixes (and other actions) for each version of hwloc since version
 in v0.9.1).
 
 
+Version 1.11.0
+--------------
+* API
+  + Socket objects are renamed into Package to align with the terminology
+    used by processor vendors. The old HWLOC_OBJ_SOCKET type and "Socket"
+    name are still supported for backward compatibility.
+  + HWLOC_OBJ_NODE is replaced with HWLOC_OBJ_NUMANODE for clarification.
+    HWLOC_OBJ_NODE is still supported for backward compatibility.
+    "Node" and "NUMANode" strings are supported as in earlier releases.
+* Detection improvements
+  + Add support for Intel Knights Landing Xeon Phi.
+    Thanks to Grzegorz Andrejczuk and Lukasz Anaczkowski.
+  + Add Vendor, Model, Revision, SerialNumber, Type and LinuxDeviceID
+    info attributes to Block OS devices on Linux. Thanks to Vineet Pedaballe
+    for the help.
+    - Add --disable-libudev to avoid dependency on the libudev library.
+  + Add "MemoryDevice" Misc objects with information about DIMMs, on Linux
+    when privileged and when I/O is enabled.
+    Thanks to Vineet Pedaballe for the help.
+  + Add a PCISlot attribute to PCI devices on Linux when supported to
+    identify the physical PCI slot where the board is plugged.
+  + Add CPUStepping info attribute on x86 processors,
+    thanks to Thomas Röhl for the suggestion.
+  + Ignore the device-tree on non-Power architectures to avoid buggy
+    detection on ARM. Thanks to Orion Poplawski for reporting the issue.
+  + Work-around buggy Xeon E5v3 BIOS reporting invalid PCI-NUMA affinity
+    for the PCI links on the second processor.
+  + Add support for CUDA compute capability 5.x, thanks Benjamin Worpitz.
+  + Many fixes to the x86 backend
+    - Add L1i and fix L2/L3 type on old AMD processors without topoext support.
+    - Fix Intel CPU family and model numbers when basic family isn't 6 or 15.
+    - Fix package IDs on recent AMD processors.
+    - Fix misc issues due to incomplete APIC IDs on x2APIC processors.
+    - Avoid buggy discovery on old SGI Altix UVs with non-unique APIC IDs.
+  + Gather total machine memory on NetBSD.
+* Tools
+  + lstopo
+    - Collapse identical PCI devices unless --no-collapse is given.
+      This avoids gigantic outputs when a PCI device contains dozens of
+      identical virtual functions.
+    - The ASCII art output is now called "ascii", for instance in
+      "lstopo -.ascii".
+      The former "txt" extension is retained for backward compatibility.
+    - Automatically scales graphical box width to the inner text in Cairo,
+      ASCII and Windows outputs.
+    - Add --rect to lstopo to force rectangular layout even for NUMA nodes.
+    - Add --restrict-flags to configure the behavior of --restrict.
+    - Objects may have a "Type" info attribute to specify a better type name
+      and display it in lstopo.
+    - Really export all verbose information to the given output file.
+  + hwloc-annotate
+    - May now operate on all types of objects, including I/O.
+    - May now insert Misc objects in the topology.
+    - Do not drop instruction caches and I/O devices from the output anymore.
+  + Fix lstopo path in hwloc-gather-topology after install.
+* Misc
+  + Fix hwloc/cudart.h for machines with multiple PCI domains,
+    thanks to Imre Kerr for reporting the problem.
+  + Fix PCI Bridge-specific depth attribute.
+  + Fix hwloc_bitmap_intersect() for two infinite bitmaps.
+  + Fix some corner cases in the building of levels on large NUMA machines
+    with non-uniform NUMA groups and I/Os.
+  + Improve the performance of object insertion by cpuset for large
+    topologies.
+  + Prefix verbose XML import errors with the source name.
+  + Improve pkg-config checks and error messages.
+  + Fix excluding after a component with an argument in the HWLOC_COMPONENTS
+    environment variable.
+* Documentation
+  + Fix the recommended way in documentation and examples to allocate memory
+    on some node, it should use HWLOC_MEMBIND_BIND.
+    Thanks to Nicolas Bouzat for reporting the issue.
+  + Add a "Miscellaneous objects" section in the documentation.
+  + Add a FAQ entry "What happens to my topology if I disable symmetric
+    multithreading, hyper-threading, etc. ?" to the documentation.
+
+
+Version 1.10.1
+--------------
+* Actually remove disallowed NUMA nodes from nodesets when the whole-system
+  flag isn't enabled.
+* Fix the gathering of PCI domains. Thanks to James Custer for reporting
+  the issue and providing a patch.
+* Fix the merging of identical parent and child in presence of Misc objects.
+  Thanks to Dave Love for reporting the issue.
+* Fix some misordering of children when merging with ignore_keep_structure()
+  in partially allowed topologies.
+* Fix an overzealous assertion in the debug code when running on a single-PU
+  host with I/O. Thanks to Thomas Van Doren for reporting the issue.
+* Don't forget to setup NUMA node object nodesets in x86 backend (for BSDs)
+  and OSF/Tru64 backend.
+* Fix cpuid-x86 build error with gcc -O3 on x86-32. Thanks to Thomas Van Doren
+  for reporting the issue.
+* Fix support for future very large caches in the x86 backend.
+* Fix vendor/device names for SR-IOV PCI devices on Linux.
+* Fix an unlikely crash in case of buggy hierarchical distance matrix.
+* Fix PU os_index on some AIX releases. Thanks to Hendryk Bockelmann and
+  Erik Schnetter for helping debugging.
+* Fix hwloc_bitmap_isincluded() in case of infinite sets.
+* Change hwloc-ls.desktop into a lstopo.desktop and only install it if
+  lstopo is built with Cairo/X11 support. It cannot work with a non-graphical
+  lstopo or hwloc-ls.
+* Add support for the renaming of Socket into Package in future releases.
+* Add support for the replacement of HWLOC_OBJ_NODE with HWLOC_OBJ_NUMANODE
+  in future releases.
+* Clarify the documentation of distance matrices in hwloc.h and in the manpage
+  of the hwloc-distances. Thanks to Dave Love for the suggestion.
+* Improve some error messages by displaying more information about the
+  hwloc library in use.
+* Document how to deal with the ABI break when upgrading to the upcoming 2.0
+  See "How do I handle ABI breaks and API upgrades ?" in the FAQ.
+
+
+Version 1.10.0
+--------------
+* API
+  + Add hwloc_topology_export_synthetic() to export a topology to a
+    synthetic string without using lstopo. See the Synthetic topologies
+    section in the documentation.
+  + Add hwloc_topology_set/get_userdata() to let the application save
+    a private pointer in the topology whenever it needs a way to find
+    its own object corresponding to a topology.
+  + Add hwloc_get_numanode_obj_by_os_index() and document that this function
+    as well as hwloc_get_pu_obj_by_os_index() are good at converting
+    nodesets and cpusets into objects.
+  + hwloc_distrib() does not ignore any objects anymore when there are
+    too many of them. They get merged with others instead.
+    Thanks to Tim Creech for reporting the issue.
+* Tools
+  + hwloc-bind --get <command-line> now executes the command after displaying
+    the binding instead of ignoring the command entirely.
+    Thanks to John Donners for the suggestion.
+  + Clarify that memory sizes shown in lstopo are local by default
+    unless specified (total memory added in the root object).
+* Synthetic topologies
+  + Synthetic topology descriptions may now specify attributes such as
+    memory sizes and OS indexes. See the Synthetic topologies section
+    in the documentation.
+  + lstopo now exports in this fully-detailed format by default.
+    The new option --export-synthetic-flags may be used to revert
+    back the old format.
+* Documentation
+  + Add the doc/examples/ subdirectory with several real-life examples,
+    including the already existing hwloc-hello.C for basics.
+    Thanks to Rob Aulwes for the suggestion.
+  + Improve the documentation of CPU and memory binding in the API.
+  + Add a FAQ entry about operating system errors, especially on AMD
+    platforms with buggy cache information.
+  + Add a FAQ entry about loading many topologies in a single program.
+* Misc
+  + Work around buggy Linux kernels reporting 2 sockets instead
+    1 socket with 2 NUMA nodes for each Xeon E5 v3 (Haswell) processor.
+  + pciutils/libpci support is now removed since libpciaccess works
+    well and there's also a Linux-specific PCI backend. For the record,
+    pciutils was GPL and therefore disabled by default since v1.6.2.
+  + Add --disable-cpuid configure flag to work around buggy processor
+    simulators reporting invalid CPUID information.
+    Thanks for Andrew Friedley for reporting the issue.
+  + Fix a racy use of libltdl when manipulating multiple topologies in
+    different threads.
+    Thanks to Andra Hugo for reporting the issue and testing patches.
+  + Fix some build failures in private/misc.h.
+    Thanks to Pavan Balaji and Ralph Castain for the reports.
+  + Fix failures to detect X11/Xutil.h on some Solaris platforms.
+    Thanks to Siegmar Gross for reporting the failure.
+  + The plugin ABI has changed, this release will not load plugins
+    built against previous hwloc releases.
+
+
+Version 1.9.1
+-------------
+* Fix a crash when the PCI locality is invalid. Attach to the root object
+  instead. Thanks to Nicolas Denoyelle for reporting the issue.
+* Fix -f in lstopo manpage. Thanks to Jirka Hladky for reporting the issue.
+* Fix hwloc_obj_type_sscanf() and others when strncasecmp() is not properly
+  available. Thanks to Nick Papior Andersen for reporting the problem.
+* Mark Linux file descriptors as close-on-exec to avoid leaks on exec.
+* Fix some minor memory leaks.
+
+
 Version 1.9.0
 -------------
 * API
@@ -365,7 +545,7 @@ Version 1.5.0
 -------------
 * Backends
   + Do not limit the number of processors to 1024 on Solaris anymore.
-  + Gather total machine memory on FreeBSD.
+  + Gather total machine memory on FreeBSD. Thanks to Cyril Roelandt.
   + XML topology files do not depend on the locale anymore. Float numbers
     such as NUMA distances or PCI link speeds now always use a dot as a
     decimal separator.
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/README b/src/pm/hydra/tools/topo/hwloc/hwloc/README
index babe22d..fed9319 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/README
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/README
@@ -2,7 +2,7 @@ Introduction
 
 hwloc provides command line tools and a C API to obtain the hierarchical map of
 key computing elements, such as: NUMA memory nodes, shared caches, processor
-sockets, processor cores, processing units (logical processors or "threads")
+packages, processor cores, processing units (logical processors or "threads")
 and even I/O devices. hwloc also gathers various attributes such as cache and
 memory information, and is portable across a variety of different operating
 systems and platforms. Additionally it may assemble the topologies of multiple
@@ -26,7 +26,8 @@ hwloc supports the following operating systems:
 
   * Linux (including old kernels not having sysfs topology information, with
  knowledge of cpusets, offline CPUs, ScaleMP vSMP, NumaScale NumaConnect,
- and Kerrighed support)
+ and Kerrighed support) on all supported hardware, including Intel Xeon Phi
+ (either standalone or as a coprocessor).
   * Solaris
   * AIX
   * Darwin / OS X
@@ -86,14 +87,14 @@ Open MPI -- it is a wholly separate (and much smaller!) project and code base.
 It just happens to be hosted as part of the overall Open MPI project.
 
 Nightly development snapshots are available on the web site. Additionally, the
-code can be directly checked out of Subversion:
+code can be directly cloned from Git:
 
 shell$ git clone https://github.com/open-mpi/hwloc.git
 shell$ cd hwloc
 shell$ ./autogen.sh
 
 Note that GNU Autoconf >=2.63, Automake >=1.10 and Libtool >=2.2.6 are required
-when building from a Subversion checkout.
+when building from a Git clone.
 
 Installation by itself is the fairly common GNU-based process:
 
@@ -111,15 +112,9 @@ The hwloc core may also benefit from the following development packages:
 
   * libnuma for memory binding and migration support on Linux (numactl-devel or
  libnuma-dev package).
-  * hwloc can use one of two different libraries for full I/O device discovery:
-
-  1. libpciaccess (BSD). The relevant development package is usually
-     libpciaccess-devel or libpciaccess-dev.
-  2. libpci, from the pciutils package (GPL). The relevant development
-     package is usually pciutils-devel or libpci-dev.
-
- On Linux, PCI discovery may still be performed even if none of the above
- libraries can be used.
+  * libpciaccess for full I/O device discovery (libpciaccess-devel or
+ libpciaccess-dev package). On Linux, PCI discovery may still be performed
+ (without vendor/device names) even if libpciaccess cannot be used.
 
   * the AMD OpenCL implementation for OpenCL device discovery.
   * the NVIDIA CUDA Toolkit for CUDA device discovery.
@@ -130,6 +125,9 @@ The hwloc core may also benefit from the following development packages:
  exported by the same hwloc release). See Importing and exporting topologies
  from/to XML files for details. The relevant development package is usually
  libxml2-devel or libxml2-dev.
+  * libudev on Linux for easier discovery of OS device information (otherwise
+ hwloc will try to manually parse udev raw files). The relevant development
+ package is usually libudev-devel or libudev-dev.
   * libtool's ltdl library for dynamic plugin loading. The relevant development
  package is usually libtool-ltdl-devel or libltdl-dev.
 
@@ -137,11 +135,8 @@ PCI and XML support may be statically built inside the main hwloc library, or
 as separate dynamically-loaded plugins (see the Components and plugins
 section).
 
-Note that because of the possibility of GPL taint (remember that hwloc is
-BSD-licensed), hwloc's configure script will prefer libpciaccess to the
-pciutils package. Indeed, if libpciaccess is not found, hwloc will not use
-pciutils unless it is specifically requested via the --enable-libpci flag is
-provided.
+Note that because of the possibility of GPL taint, the pciutils library libpci
+will not be used (remember that hwloc is BSD-licensed).
 
 Also note that if you install supplemental libraries in non-standard locations,
 hwloc's configure script may not be able to find them without some help. You
@@ -156,36 +151,36 @@ configure script may not find it be default. Try adding PKG_CONFIG_PATH to the
 
 CLI Examples
 
-On a 4-socket 2-core machine with hyperthreading, the lstopo tool may show the
-following graphical output:
+On a 4-package 2-core machine with hyper-threading, the lstopo tool may show
+the following graphical output:
 
 dudley.png
 
 Here's the equivalent output in textual form:
 
 Machine (16GB)
-  Socket L#0 + L3 L#0 (4096KB)
+  Package L#0 + L3 L#0 (4096KB)
  L2 L#0 (1024KB) + L1 L#0 (16KB) + Core L#0
    PU L#0 (P#0)
    PU L#1 (P#8)
  L2 L#1 (1024KB) + L1 L#1 (16KB) + Core L#1
    PU L#2 (P#4)
    PU L#3 (P#12)
-  Socket L#1 + L3 L#1 (4096KB)
+  Package L#1 + L3 L#1 (4096KB)
  L2 L#2 (1024KB) + L1 L#2 (16KB) + Core L#2
    PU L#4 (P#1)
    PU L#5 (P#9)
  L2 L#3 (1024KB) + L1 L#3 (16KB) + Core L#3
    PU L#6 (P#5)
    PU L#7 (P#13)
-  Socket L#2 + L3 L#2 (4096KB)
+  Package L#2 + L3 L#2 (4096KB)
  L2 L#4 (1024KB) + L1 L#4 (16KB) + Core L#4
    PU L#8 (P#2)
    PU L#9 (P#10)
  L2 L#5 (1024KB) + L1 L#5 (16KB) + Core L#5
    PU L#10 (P#6)
    PU L#11 (P#14)
-  Socket L#3 + L3 L#3 (4096KB)
+  Package L#3 + L3 L#3 (4096KB)
  L2 L#6 (1024KB) + L1 L#6 (16KB) + Core L#6
    PU L#12 (P#3)
    PU L#13 (P#11)
@@ -193,58 +188,11 @@ Machine (16GB)
    PU L#14 (P#7)
    PU L#15 (P#15)
 
-Finally, here's the equivalent output in XML. Long lines were artificially
-broken for document clarity (in the real output, each XML tag is on a single
-line), and only socket #0 is shown for brevity:
-
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE topology SYSTEM "hwloc.dtd">
-<topology>
-  <object type="Machine" os_index="0" cpuset="0x0000ffff"
-   complete_cpuset="0x0000ffff" online_cpuset="0x0000ffff"
-   allowed_cpuset="0x0000ffff"
-   dmi_board_vendor="Dell Computer Corporation" dmi_board_name="0RD318"
-   local_memory="16648183808">
- <page_type size="4096" count="4064498"/>
- <page_type size="2097152" count="0"/>
- <object type="Socket" os_index="0" cpuset="0x00001111" ... >
-   <object type="Cache" cpuset="0x00001111" ...
-       cache_size="4194304" depth="3" cache_linesize="64">
-     <object type="Cache" cpuset="0x00000101" ...
-         cache_size="1048576" depth="2" cache_linesize="64">
-       <object type="Cache" cpuset="0x00000101" ...
-           cache_size="16384" depth="1" cache_linesize="64">
-         <object type="Core" os_index="0" ... >
-           <object type="PU" os_index="0" cpuset="0x00000001"
-               complete_cpuset="0x00000001" online_cpuset="0x00000001"
-               allowed_cpuset="0x00000001"/>
-           <object type="PU" os_index="8" cpuset="0x00000100"
-               complete_cpuset="0x00000100" online_cpuset="0x00000100"
-               allowed_cpuset="0x00000100"/>
-         </object>
-       </object>
-     </object>
-     <object type="Cache" cpuset="0x00001010" ...
-         cache_size="1048576" depth="2" cache_linesize="64">
-       <object type="Cache" cpuset="0x00001010"
-           cache_size="16384" depth="1" cache_linesize="64">
-         <object type="Core" os_index="1" cpuset="0x00001010" ... >
-           <object type="PU" os_index="4" cpuset="0x00000010"
-               complete_cpuset="0x00000010" online_cpuset="0x00000010"
-               allowed_cpuset="0x00000010"/>
-           <object type="PU" os_index="12" cpuset="0x00001000"
-               complete_cpuset="0x00001000" online_cpuset="0x00001000"
-               allowed_cpuset="0x00001000"/>
-         </object>
-       </object>
-     </object>
-   </object>
- </object>
- <!-- ...other sockets listed here ... -->
-  </object>
-</topology>
-
-On a 4-socket 2-core Opteron NUMA machine, the lstopo tool may show the
+Note that there is also an equivalent output in XML that is meant for exporting
+/importing topologies but it is hardly readable to human-beings (see Importing
+and exporting topologies from/to XML files for details).
+
+On a 4-package 2-core Opteron NUMA machine, the lstopo tool may show the
 following graphical output:
 
 hagrid.png
@@ -252,68 +200,35 @@ hagrid.png
 Here's the equivalent output in textual form:
 
 Machine (32GB)
-  NUMANode L#0 (P#0 8190MB) + Socket L#0
+  NUMANode L#0 (P#0 8190MB) + Package L#0
  L2 L#0 (1024KB) + L1 L#0 (64KB) + Core L#0 + PU L#0 (P#0)
  L2 L#1 (1024KB) + L1 L#1 (64KB) + Core L#1 + PU L#1 (P#1)
-  NUMANode L#1 (P#1 8192MB) + Socket L#1
+  NUMANode L#1 (P#1 8192MB) + Package L#1
  L2 L#2 (1024KB) + L1 L#2 (64KB) + Core L#2 + PU L#2 (P#2)
  L2 L#3 (1024KB) + L1 L#3 (64KB) + Core L#3 + PU L#3 (P#3)
-  NUMANode L#2 (P#2 8192MB) + Socket L#2
+  NUMANode L#2 (P#2 8192MB) + Package L#2
  L2 L#4 (1024KB) + L1 L#4 (64KB) + Core L#4 + PU L#4 (P#4)
  L2 L#5 (1024KB) + L1 L#5 (64KB) + Core L#5 + PU L#5 (P#5)
-  NUMANode L#3 (P#3 8192MB) + Socket L#3
+  NUMANode L#3 (P#3 8192MB) + Package L#3
  L2 L#6 (1024KB) + L1 L#6 (64KB) + Core L#6 + PU L#6 (P#6)
  L2 L#7 (1024KB) + L1 L#7 (64KB) + Core L#7 + PU L#7 (P#7)
 
-And here's the equivalent output in XML. Similar to above, line breaks were
-added and only PU #0 is shown for brevity:
-
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE topology SYSTEM "hwloc.dtd">
-<topology>
-  <object type="Machine" os_index="0" cpuset="0x000000ff"
-   complete_cpuset="0x000000ff" online_cpuset="0x000000ff"
-   allowed_cpuset="0x000000ff" nodeset="0x000000ff"
-   complete_nodeset="0x000000ff" allowed_nodeset="0x000000ff"
-   dmi_board_vendor="TYAN Computer Corp" dmi_board_name="S4881 ">
- <page_type size="4096" count="0"/>
- <page_type size="2097152" count="0"/>
- <object type="NUMANode" os_index="0" cpuset="0x00000003" ...
-     nodeset="0x00000001" ... local_memory="7514177536">
-   <page_type size="4096" count="1834516"/>
-   <page_type size="2097152" count="0"/>
-   <object type="Socket" os_index="0" cpuset="0x00000003" ... >
-     <object type="Cache" cpuset="0x00000001" ...
-         cache_size="1048576" depth="2" cache_linesize="64">
-       <object type="Cache" cpuset="0x00000001" ...
-           cache_size="65536" depth="1" cache_linesize="64">
-         <object type="Core" os_index="0" ... >
-           <object type="PU" os_index="0" cpuset="0x00000001"
-               complete_cpuset="0x00000001" online_cpuset="0x00000001"
-               allowed_cpuset="0x00000001" nodeset="0x00000001"
-               complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
-         </object>
-       </object>
-     </object>
-  <!-- ...more objects listed here ... -->
-</topology>
-
-On a 2-socket quad-core Xeon (pre-Nehalem, with 2 dual-core dies into each
-socket):
+On a 2-package quad-core Xeon (pre-Nehalem, with 2 dual-core dies into each
+package):
 
 emmett.png
 
 Here's the same output in textual form:
 
 Machine (16GB)
-  Socket L#0
+  Package L#0
  L2 L#0 (4096KB)
    L1 L#0 (32KB) + Core L#0 + PU L#0 (P#0)
    L1 L#1 (32KB) + Core L#1 + PU L#1 (P#4)
  L2 L#1 (4096KB)
    L1 L#2 (32KB) + Core L#2 + PU L#2 (P#2)
    L1 L#3 (32KB) + Core L#3 + PU L#3 (P#6)
-  Socket L#1
+  Package L#1
  L2 L#2 (4096KB)
    L1 L#4 (32KB) + Core L#4 + PU L#4 (P#1)
    L1 L#5 (32KB) + Core L#5 + PU L#5 (P#5)
@@ -321,40 +236,6 @@ Machine (16GB)
    L1 L#6 (32KB) + Core L#6 + PU L#6 (P#3)
    L1 L#7 (32KB) + Core L#7 + PU L#7 (P#7)
 
-And the same output in XML (line breaks added, only PU #0 shown):
-
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE topology SYSTEM "hwloc.dtd">
-<topology>
-  <object type="Machine" os_index="0" cpuset="0x000000ff"
-   complete_cpuset="0x000000ff" online_cpuset="0x000000ff"
-   allowed_cpuset="0x000000ff" dmi_board_vendor="Dell Inc."
-   dmi_board_name="0NR282" local_memory="16865292288">
- <page_type size="4096" count="4117503"/>
- <page_type size="2097152" count="0"/>
- <object type="Socket" os_index="0" cpuset="0x00000055" ... >
-   <object type="Cache" cpuset="0x00000011" ...
-       cache_size="4194304" depth="2" cache_linesize="64">
-     <object type="Cache" cpuset="0x00000001" ...
-         cache_size="32768" depth="1" cache_linesize="64">
-       <object type="Core" os_index="0" ... >
-         <object type="PU" os_index="0" cpuset="0x00000001"
-             complete_cpuset="0x00000001" online_cpuset="0x00000001"
-             allowed_cpuset="0x00000001"/>
-       </object>
-     </object>
-     <object type="Cache" cpuset="0x00000010" ...
-         cache_size="32768" depth="1" cache_linesize="64">
-       <object type="Core" os_index="1" ... >
-         <object type="PU" os_index="4" cpuset="0x00000010" ...
-             complete_cpuset="0x00000010" online_cpuset="0x00000010"
-             allowed_cpuset="0x00000010"/>
-       </object>
-     </object>
-   </object>
-  <!-- ...more objects listed here ... -->
-</topology>
-
 Programming Interface
 
 The basic interface is available in hwloc.h. Some higher-level functions are
@@ -379,11 +260,11 @@ The complete API documentation is available in a full set of HTML pages, man
 pages, and self-contained PDF files (formatted for both both US letter and A4
 formats) in the source tarball in doc/doxygen-doc/.
 
-NOTE: If you are building the documentation from a Subversion checkout, you
-will need to have Doxygen and pdflatex installed -- the documentation will be
-built during the normal "make" process. The documentation is installed during
-"make install" to $prefix/share/doc/hwloc/ and your systems default man page
-tree (under $prefix, of course).
+NOTE: If you are building the documentation from a Git clone, you will need to
+have Doxygen and pdflatex installed -- the documentation will be built during
+the normal "make" process. The documentation is installed during "make install"
+to $prefix/share/doc/hwloc/ and your systems default man page tree (under
+$prefix, of course).
 
 Portability
 
@@ -393,7 +274,7 @@ will only report a subset of this information. For example, on an PPC64-based
 system with 32 cores (each with 2 hardware threads) running a default
 2.6.18-based kernel from RHEL 5.4, hwloc is only able to glean information
 about NUMA nodes and processor units (PUs). No information about caches,
-sockets, or cores is available.
+packages, or cores is available.
 
 Similarly, Operating System have varying support for CPU and memory binding,
 e.g. while some Operating Systems provide interfaces for all kinds of CPU and
@@ -447,12 +328,16 @@ API Example
 
 The following small C example (named ``hwloc-hello.c'') prints the topology of
 the machine and bring the process to the first logical processor of the second
-core of the machine.
+core of the machine. More examples are available in the doc/examples/ directory
+of the source tree.
 
 /* Example hwloc API program.
  *
- * Copyright (c) 2009-2010 inria.  All rights reserved.
- * Copyright (c) 2009-2011 Universit?eacute; Bordeaux 1
+ * See other examples under doc/examples/ in the source tree
+ * for more details.
+ *
+ * Copyright (c) 2009-2015 Inria.  All rights reserved.
+ * Copyright (c) 2009-2011 Universit?eacute; Bordeaux
  * Copyright (c) 2009-2010 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  *
@@ -467,11 +352,17 @@ core of the machine.
 static void print_children(hwloc_topology_t topology, hwloc_obj_t obj, 
                         int depth)
 {
- char string[128];
+ char type[32], attr[1024];
  unsigned i;
 
- hwloc_obj_snprintf(string, sizeof(string), topology, obj, "#", 0);
- printf("%*s%s\n", 2*depth, "", string);
+ hwloc_obj_type_snprintf(type, sizeof(type), obj, 0);
+ printf("%*s%s", 2*depth, "", type);
+ if (obj->os_index != (unsigned) -1)
+   printf("#%u", obj->os_index);
+ hwloc_obj_attr_snprintf(attr, sizeof(attr), obj, " ", 0);
+ if (*attr)
+   printf("(%s)", attr);
+ printf("\n");
  for (i = 0; i < obj->arity; i++) {
      print_children(topology, obj->children[i], depth + 1);
  }
@@ -515,9 +406,9 @@ int main(void)
      printf("*** Objects at level %d\n", depth);
      for (i = 0; i < hwloc_get_nbobjs_by_depth(topology, depth); 
           i++) {
-         hwloc_obj_snprintf(string, sizeof(string), topology,
-                    hwloc_get_obj_by_depth(topology, depth, i),
-                    "#", 0);
+         hwloc_obj_type_snprintf(string, sizeof(string),
+                                 hwloc_get_obj_by_depth
+(topology, depth, i), 0);
          printf("Index %u: %s\n", i, string);
      }
  }
@@ -531,13 +422,13 @@ int main(void)
 
  /*****************************************************************
   * Third example:
-  * Print the number of sockets.
+  * Print the number of packages.
   *****************************************************************/
- depth = hwloc_get_type_depth(topology, HWLOC_OBJ_SOCKET);
+ depth = hwloc_get_type_depth(topology, HWLOC_OBJ_PACKAGE);
  if (depth == HWLOC_TYPE_DEPTH_UNKNOWN) {
-     printf("*** The number of sockets is unknown\n");
+     printf("*** The number of packages is unknown\n");
  } else {
-     printf("*** %u socket(s)\n", 
+     printf("*** %u package(s)\n",
             hwloc_get_nbobjs_by_depth(topology, depth));
  }
 
@@ -575,7 +466,7 @@ int main(void)
      cpuset = hwloc_bitmap_dup(obj->cpuset);
 
      /* Get only one logical processor (in case the core is
-        SMT/hyperthreaded). */
+        SMT/hyper-threaded). */
      hwloc_bitmap_singlify(cpuset);
 
      /* And try to bind ourself there. */
@@ -597,19 +488,19 @@ int main(void)
   * memory to the last NUMA node.
   *****************************************************************/
  /* Get last node. */
- n = hwloc_get_nbobjs_by_type(topology, HWLOC_OBJ_NODE);
+ n = hwloc_get_nbobjs_by_type(topology, HWLOC_OBJ_NUMANODE);
  if (n) {
      void *m;
      size = 1024*1024;
 
-     obj = hwloc_get_obj_by_type(topology, HWLOC_OBJ_NODE, n - 1);
+     obj = hwloc_get_obj_by_type(topology, HWLOC_OBJ_NUMANODE, n - 1);
      m = hwloc_alloc_membind_nodeset(topology, size, obj->nodeset,
-             HWLOC_MEMBIND_DEFAULT, 0);
+             HWLOC_MEMBIND_BIND, 0);
      hwloc_free(topology, m, size);
 
      m = malloc(size);
      hwloc_set_area_membind_nodeset(topology, m, size, obj->nodeset,
-             HWLOC_MEMBIND_DEFAULT, 0);
+             HWLOC_MEMBIND_BIND, 0);
      free(m);
  }
 
@@ -627,7 +518,7 @@ CFLAGS += $(pkg-config --cflags hwloc)
 LDLIBS += $(pkg-config --libs hwloc)
 cc hwloc-hello.c $(CFLAGS) -o hwloc-hello $(LDLIBS)
 
-On a machine with 4GB of RAM and 2 processor sockets -- each socket of which
+On a machine with 4GB of RAM and 2 processor packages -- each package of which
 has two processing cores -- the output from running hwloc-hello could be
 something like the following:
 
@@ -635,8 +526,8 @@ shell$ ./hwloc-hello
 *** Objects at level 0
 Index 0: Machine(3938MB)
 *** Objects at level 1
-Index 0: Socket#0
-Index 1: Socket#1
+Index 0: Package#0
+Index 1: Package#1
 *** Objects at level 2
 Index 0: Core#0
 Index 1: Core#1
@@ -649,17 +540,17 @@ Index 2: PU#2
 Index 3: PU#3
 *** Printing overall tree
 Machine(3938MB)
-  Socket#0
+  Package#0
  Core#0
    PU#0
  Core#1
    PU#1
-  Socket#1
+  Package#1
  Core#3
    PU#2
  Core#2
    PU#3
-*** 2 socket(s)
+*** 2 package(s)
 shell$
 
 Questions and Bugs
@@ -706,6 +597,7 @@ The documentation chapters include
   * Environment Variables
   * CPU and Memory Binding Overview
   * I/O Devices
+  * Miscellaneous objects
   * Multi-node Topologies
   * Object attributes
   * Importing and exporting topologies from/to XML files
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/README.debian b/src/pm/hydra/tools/topo/hwloc/hwloc/README.debian
deleted file mode 100644
index d580a14..0000000
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/README.debian
+++ /dev/null
@@ -1,14 +0,0 @@
-To build the debian package:
-
-$ svn co http://svn.open-mpi.org/svn/hwloc/debian
-$ debuild
-
-The packages are built in the parent directory
-
-$ cd ../
-$ sudo dpkg -i libhwloc0_0.9-1_i386.deb libhwloc-dev_0.9-1_i386.deb libhwloc-common_0.9-1_i386.deb libhwloc-doc_0.9-1_i386.deb
-
-$ sudo dpkg -i hwloc-bin_0.9-1_i386.deb
-or
-$ sudo dpkg -i hwloc-bin-nox_0.9-1_i386.deb
-
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/VERSION b/src/pm/hydra/tools/topo/hwloc/hwloc/VERSION
index f146c49..7233789 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/VERSION
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/VERSION
@@ -2,17 +2,11 @@
 # of hwloc in this distribution.  The various components of the version
 # number below are combined to form a single version number string.
 
-# If snapshot=1, then use the value from snapshot_version as the
-# entire hwloc version (i.e., ignore major, minor, release, and
-# greek).  This is only set to 1 when making snapshot tarballs.
-snapshot=1
-snapshot_version=gitclone
-
 # major, minor, and release are generally combined in the form
 # <major>.<minor>.<release>.  If release is zero, then it is omitted.
 
 major=1
-minor=9
+minor=11
 release=0
 
 # greek is used for alpha or beta release tags.  If it is non-empty,
@@ -22,12 +16,18 @@ release=0
 # requirement is that it must be entirely printable ASCII characters
 # and have no white space.
 
-greek=rc2
+greek=rc3
 
 # The date when this release was created
 
 date="Unreleased developer copy"
 
+# If snapshot=1, then use the value from snapshot_version as the
+# entire hwloc version (i.e., ignore major, minor, release, and
+# greek).  This is only set to 1 when making snapshot tarballs.
+snapshot=1
+snapshot_version=${major}.${minor}.${release}${greek}-git
+
 # The shared library version of hwloc's public library.  This version
 # is maintained in accordance with the "Library Interface Versions"
 # chapter from the GNU Libtool documentation.  Notes:
@@ -39,4 +39,4 @@ date="Unreleased developer copy"
 # 2. Version numbers are described in the Libtool current:revision:age
 # format.
 
-libhwloc_so_version=10:0:5
+libhwloc_so_version=11:6:6
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/autogen.sh b/src/pm/hydra/tools/topo/hwloc/hwloc/autogen.sh
index c73edc2..df42802 100755
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/autogen.sh
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/autogen.sh
@@ -1,9 +1,2 @@
-#!/bin/sh
-
-if [ -n "$MPICH_AUTOTOOLS_DIR" ] ; then
-    autoreconf=${MPICH_AUTOTOOLS_DIR}/autoreconf
-else
-    autoreconf=${AUTORECONF:-autoreconf}
-fi
-
-$autoreconf ${autoreconf_args:-"-ivf"}
+:
+autoreconf ${autoreconf_args:-"-ivf"}
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/config/decl.m4 b/src/pm/hydra/tools/topo/hwloc/hwloc/config/decl.m4
index 9a73e55..6a7ee46 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/config/decl.m4
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/config/decl.m4
@@ -1,7 +1,7 @@
 dnl -*- Autoconf -*-
 dnl Copyright © 2009 CNRS
 dnl Copyright © 2009 inria.  All rights reserved.
-dnl Copyright © 2009 Université Bordeaux 1
+dnl Copyright © 2009 Université Bordeaux
 dnl See COPYING in top-level directory.
 
 dnl HWLOC_CHECK_DECL
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/config/distscript.csh b/src/pm/hydra/tools/topo/hwloc/hwloc/config/distscript.sh
similarity index 53%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/config/distscript.csh
rename to src/pm/hydra/tools/topo/hwloc/hwloc/config/distscript.sh
index 720783e..d72a3fd 100755
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/config/distscript.csh
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/config/distscript.sh
@@ -1,82 +1,106 @@
-#! /bin/csh -f
+#!/bin/sh -f
 #
-# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
+# Copyright © 2004-2005 The Trustees of Indiana University and Indiana
 #                         University Research and Technology
 #                         Corporation.  All rights reserved.
-# Copyright (c) 2004-2005 The University of Tennessee and The University
+# Copyright © 2004-2005 The University of Tennessee and The University
 #                         of Tennessee Research Foundation.  All rights
 #                         reserved.
-# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, 
+# Copyright © 2004-2005 High Performance Computing Center Stuttgart,
 #                         University of Stuttgart.  All rights reserved.
-# Copyright (c) 2004-2005 The Regents of the University of California.
+# Copyright © 2004-2005 The Regents of the University of California.
 #                         All rights reserved.
 # Copyright © 2010-2014   Inria.  All rights reserved.
-# Copyright © 2009-2013 Cisco Systems, Inc.  All rights reserved.
+# Copyright © 2009-2014 Cisco Systems, Inc.  All rights reserved.
 # $COPYRIGHT$
-# 
+#
 # Additional copyrights may follow
-# 
+#
 # $HEADER$
 #
 
-set builddir="`pwd`"
+builddir="`pwd`"
 
-set srcdir="$1"
+srcdir=$1
 cd "$srcdir"
-set srcdir=`pwd`
+srcdir=`pwd`
 cd "$builddir"
 
-set distdir="$builddir/$2"
-set HWLOC_VERSION="$3"
+distdir="$builddir/$2"
+HWLOC_VERSION=$3
 
-if ("$distdir" == "") then
+if test "$distdir" = ""; then
     echo "Must supply relative distdir as argv[2] -- aborting"
     exit 1
-elif ("$HWLOC_VERSION" == "") then
+elif test "$HWLOC_VERSION" = ""; then
     echo "Must supply version as argv[1] -- aborting"
     exit 1
-endif
+fi
 
 #========================================================================
 
-set start=`date`
+start=`date`
 cat <<EOF
- 
+
 Creating hwloc distribution
 In directory: `pwd`
 Srcdir: $srcdir
 Builddir: $builddir
 Version: $HWLOC_VERSION
 Started: $start
- 
+
 EOF
 
 umask 022
 
-if (! -d "$distdir") then
+if test ! -d "$distdir"; then
     echo "*** ERROR: dist dir does not exist"
     echo "*** ERROR:   $distdir"
     exit 1
-endif
+fi
 
-if (! -d $srcdir/doc/doxygen-doc) then
+if test ! -d $srcdir/doc/doxygen-doc; then
     echo "*** The srcdir does not already have a doxygen-doc tree built."
     echo "*** hwloc's config/distscript.csh requires the docs to be built"
     echo "*** in the srcdir before executing 'make dist'."
     exit 1
-endif
+fi
+
+# Trivial helper function
+doit() {
+    echo $*
+    eval $*
+}
 
 echo "*** Copying doxygen-doc tree to dist..."
 echo "*** Directory: srcdir: $srcdir, distdir: $distdir, pwd: `pwd`"
-chmod -R a=rwx $distdir/doc/doxygen-doc/
-echo rm -rf $distdir/doc/doxygen-doc/
-rm -rf $distdir/doc/doxygen-doc/
-echo cp -rpf $srcdir/doc/doxygen-doc/ $distdir/doc
-cp -rpf $srcdir/doc/doxygen-doc/ $distdir/doc
+doit mkdir -p $distdir/doc/doxygen-doc
+doit chmod -R a=rwx $distdir/doc/doxygen-doc
+doit rm -rf $distdir/doc/doxygen-doc
+
+# We want to copy the entire directory tree to the distdir.  In some
+# cases, doxygen-doc may be a sym link, so we want the copy to follow
+# the sym links.  It's a bit of a portability nightmare, so try a few
+# different ways...
+# This seems to work on OS X and Linux (but not Solaris)
+doit "tar c -C $srcdir -h -f - doc/doxygen-doc | tar x -C $distdir -f -"
+if test ! -d $distdir/doc/doxygen-doc; then
+    # This seems to work on Linux and Solaris
+    doit cp -rpf $srcdir/doc/doxygen-doc/ $distdir/doc
+fi
+if test ! -d $distdir/doc/doxygen-doc; then
+    # This seems to work on OS X (probably redundant, but we know it works)
+    doit cp -rpf $srcdir/doc/doxygen-doc $distdir/doc
+fi
+# If we still failed, just error out
+if test ! -d $distdir/doc/doxygen-doc; then
+    echo "ERROR: Cannot seem to copy a directory to the distdir :-("
+    exit 1
+fi
 
 echo "*** Copying new README"
 ls -lf $distdir/README
-cp -pf $srcdir/README $distdir
+doit cp -pf $srcdir/README $distdir
 
 #########################################################
 # VERY IMPORTANT: Now go into the new distribution tree #
@@ -91,7 +115,7 @@ echo "*** Now in distdir: $distdir"
 #
 
 echo "*** Removing latex source from dist tree"
-rm -rf doc/doxygen-doc/latex
+doit rm -rf doc/doxygen-doc/latex
 
 #
 # All done
@@ -99,9 +123,8 @@ rm -rf doc/doxygen-doc/latex
 
 cat <<EOF
 *** hwloc version $HWLOC_VERSION distribution created
- 
+
 Started: $start
 Ended:   `date`
- 
-EOF
 
+EOF
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc.m4 b/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc.m4
index ef3c53e..2f44504 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc.m4
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc.m4
@@ -1,15 +1,15 @@
 dnl -*- Autoconf -*-
 dnl
-dnl Copyright © 2009-2014 Inria.  All rights reserved.
-dnl Copyright (c) 2009-2012 Université Bordeaux 1
-dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
+dnl Copyright © 2009-2015 Inria.  All rights reserved.
+dnl Copyright © 2009-2012 Université Bordeaux
+dnl Copyright © 2004-2005 The Trustees of Indiana University and Indiana
 dnl                         University Research and Technology
 dnl                         Corporation.  All rights reserved.
-dnl Copyright (c) 2004-2012 The Regents of the University of California.
+dnl Copyright © 2004-2012 The Regents of the University of California.
 dnl                         All rights reserved.
-dnl Copyright (c) 2004-2008 High Performance Computing Center Stuttgart, 
+dnl Copyright © 2004-2008 High Performance Computing Center Stuttgart,
 dnl                         University of Stuttgart.  All rights reserved.
-dnl Copyright © 2006-2013 Cisco Systems, Inc.  All rights reserved.
+dnl Copyright © 2006-2015 Cisco Systems, Inc.  All rights reserved.
 dnl Copyright © 2012  Blue Brain Project, BBP/EPFL. All rights reserved.
 dnl Copyright © 2012       Oracle and/or its affiliates.  All rights reserved.
 dnl See COPYING in top-level directory.
@@ -36,7 +36,7 @@ AC_DEFUN([HWLOC_SETUP_CORE],[
 EOF])
 
     # If no prefix was defined, set a good value
-    m4_ifval([$1], 
+    m4_ifval([$1],
              [m4_define([hwloc_config_prefix],[$1/])],
              [m4_define([hwloc_config_prefix], [])])
 
@@ -78,6 +78,19 @@ EOF])
         AC_MSG_NOTICE([Detected VPATH build])
     fi
 
+    # Get the version of hwloc that we are installing
+    AC_MSG_CHECKING([for hwloc version])
+    HWLOC_VERSION="`$HWLOC_top_srcdir/config/hwloc_get_version.sh $HWLOC_top_srcdir/VERSION`"
+    if test "$?" != "0"; then
+        AC_MSG_ERROR([Cannot continue])
+    fi
+    HWLOC_RELEASE_DATE="`$HWLOC_top_srcdir/config/hwloc_get_version.sh $HWLOC_top_srcdir/VERSION --release-date`"
+    AC_SUBST(HWLOC_VERSION)
+    AC_DEFINE_UNQUOTED([HWLOC_VERSION], ["$HWLOC_VERSION"],
+                       [The library version, always available, even in embedded mode, contrary to VERSION])
+    AC_SUBST(HWLOC_RELEASE_DATE)
+    AC_MSG_RESULT([$HWLOC_VERSION])
+
     # Debug mode?
     AC_MSG_CHECKING([if want hwloc maintainer support])
     hwloc_debug=
@@ -151,9 +164,9 @@ EOF])
 #endif
 ])
     AC_DEFINE([_HPUX_SOURCE], [1], [Are we building for HP-UX?])
-    
+
     AC_LANG_PUSH([C])
-    
+
     # Check to see if we're producing a 32 or 64 bit executable by
     # checking the sizeof void*.  Note that AC CHECK_SIZEOF even works
     # when cross compiling (!), according to the AC 2.64 docs.  This
@@ -188,7 +201,7 @@ EOF])
 	  hwloc_components="$hwloc_components linuxpci"
 	  AC_DEFINE(HWLOC_HAVE_LINUXPCI, 1, [Define to 1 if building the Linux PCI component])
 	  hwloc_linuxpci_happy=yes
-	fi				    
+	fi
         ;;
       *-*-irix*)
         AC_DEFINE(HWLOC_IRIX_SYS, 1, [Define to 1 on Irix])
@@ -290,7 +303,7 @@ EOF])
         ;;
     esac
     AC_SUBST(HWLOC_MS_LIB_ARCH)
-    
+
     AC_CHECK_SIZEOF([unsigned long])
     AC_DEFINE_UNQUOTED([HWLOC_SIZEOF_UNSIGNED_LONG], $ac_cv_sizeof_unsigned_long, [The size of `unsigned long', as computed by sizeof])
     AC_CHECK_SIZEOF([unsigned int])
@@ -353,23 +366,22 @@ EOF])
     AC_CHECK_HEADERS([unistd.h])
     AC_CHECK_HEADERS([dirent.h])
     AC_CHECK_HEADERS([strings.h])
+    AC_CHECK_HEADERS([ctype.h])
     
-    hwloc_strncasecmp=strncmp
     AC_CHECK_FUNCS([strncasecmp], [
       _HWLOC_CHECK_DECL([strncasecmp], [
-        hwloc_strncasecmp=strncasecmp
+	AC_DEFINE([HWLOC_HAVE_DECL_STRNCASECMP], [1], [Define to 1 if function `strncasecmp' is declared by system headers])
       ])
     ])
-    AC_DEFINE_UNQUOTED(hwloc_strncasecmp, $hwloc_strncasecmp, [Define this to either strncasecmp or strncmp])
 
     AC_CHECK_FUNCS([strftime])
     AC_CHECK_FUNCS([setlocale])
-    
+
     AC_CHECK_HEADER([stdint.h], [
       AC_DEFINE([HWLOC_HAVE_STDINT_H], [1], [Define to 1 if you have the <stdint.h> header file.])
     ])
     AC_CHECK_HEADERS([sys/mman.h])
-    
+
     old_CPPFLAGS="$CPPFLAGS"
     CPPFLAGS="$CPPFLAGS -D_WIN32_WINNT=0x0601"
     AC_CHECK_TYPES([KAFFINITY,
@@ -392,18 +404,18 @@ EOF])
     AC_CHECK_LIB([gdi32], [main],
                  [HWLOC_LIBS="-lgdi32 $HWLOC_LIBS"
                   AC_DEFINE([HAVE_LIBGDI32], 1, [Define to 1 if we have -lgdi32])])
-    
+
     AC_CHECK_HEADER([windows.h], [
       AC_DEFINE([HWLOC_HAVE_WINDOWS_H], [1], [Define to 1 if you have the `windows.h' header.])
     ])
-    
+
     AC_CHECK_HEADERS([sys/lgrp_user.h], [
       AC_CHECK_LIB([lgrp], [lgrp_latency_cookie],
                    [HWLOC_LIBS="-llgrp $HWLOC_LIBS"
                     AC_DEFINE([HAVE_LIBLGRP], 1, [Define to 1 if we have -llgrp])])
     ])
     AC_CHECK_HEADERS([kstat.h], [
-      AC_CHECK_LIB([kstat], [main], 
+      AC_CHECK_LIB([kstat], [main],
                    [HWLOC_LIBS="-lkstat $HWLOC_LIBS"
                     AC_DEFINE([HAVE_LIBKSTAT], 1, [Define to 1 if we have -lkstat])])
     ])
@@ -424,7 +436,7 @@ EOF])
     		_SC_PAGESIZE,
     		_SC_PAGE_SIZE,
     		_SC_LARGE_PAGESIZE],,[:],[[#include <unistd.h>]])
-    
+
     AC_HAVE_HEADERS([mach/mach_host.h])
     AC_HAVE_HEADERS([mach/mach_init.h], [
       AC_CHECK_FUNCS([host_info])
@@ -469,6 +481,33 @@ EOF])
                 [return sysctlbyname(NULL,NULL,NULL,NULL,0);],
                 AC_DEFINE([HAVE_SYSCTLBYNAME],[1],[Define to '1' if sysctlbyname is present and usable]))
 
+    AC_CHECK_DECLS([getprogname], [], [], [AC_INCLUDES_DEFAULT])
+    AC_CHECK_DECLS([getexecname], [], [], [AC_INCLUDES_DEFAULT])
+    AC_CHECK_DECLS([GetModuleFileName], [], [], [#include <windows.h>])
+    # program_invocation_name and __progname may be available but not exported in headers
+    AC_MSG_CHECKING([for program_invocation_name])
+    AC_TRY_LINK([
+		#define _GNU_SOURCE
+		#include <errno.h>
+		#include <stdio.h>
+		extern char *program_invocation_name;
+		],[
+		return printf("%s\n", program_invocation_name);
+		],
+		[AC_DEFINE([HAVE_PROGRAM_INVOCATION_NAME], [1], [Define to '1' if program_invocation_name is present and usable])
+		 AC_MSG_RESULT([yes])
+		],[AC_MSG_RESULT([no])])
+    AC_MSG_CHECKING([for __progname])
+    AC_TRY_LINK([
+		#include <stdio.h>
+		extern char *__progname;
+		],[
+		return printf("%s\n", __progname);
+		],
+		[AC_DEFINE([HAVE___PROGNAME], [1], [Define to '1' if __progname is present and usable])
+		 AC_MSG_RESULT([yes])
+		],[AC_MSG_RESULT([no])])
+
     case ${target} in
       *-*-mingw*|*-*-cygwin*)
         hwloc_pid_t=HANDLE
@@ -483,7 +522,7 @@ EOF])
     if test "x$hwloc_thread_t" != "x" ; then
       AC_DEFINE_UNQUOTED(hwloc_thread_t, $hwloc_thread_t, [Define this to the thread ID type])
     fi
-    
+
     _HWLOC_CHECK_DECL([sched_setaffinity], [
       AC_DEFINE([HWLOC_HAVE_SCHED_SETAFFINITY], [1], [Define to 1 if glibc provides a prototype of sched_setaffinity()])
       AS_IF([test "$HWLOC_STRICT_ARGS_CFLAGS" = "FAIL"],[
@@ -508,7 +547,7 @@ EOF])
 #define _GNU_SOURCE
 #include <sched.h>
 ]])
-    
+
     AC_MSG_CHECKING([for working CPU_SET])
     AC_LINK_IFELSE([
       AC_LANG_PROGRAM([[
@@ -518,7 +557,7 @@ EOF])
 	[AC_DEFINE([HWLOC_HAVE_CPU_SET], [1], [Define to 1 if the CPU_SET macro works])
          AC_MSG_RESULT([yes])],
         [AC_MSG_RESULT([no])])
-    
+
     AC_MSG_CHECKING([for working CPU_SET_S])
     AC_LINK_IFELSE([
       AC_LANG_PROGRAM([[
@@ -550,13 +589,13 @@ EOF])
     # to pass in an empty 3rd argument, but we trust the output of
     # pkg-config, so just give it a value that will always work:
     # printf.
-    HWLOC_PKG_CHECK_MODULES([KERRIGHED], [kerrighed >= 2.0], [printf], [], [:])
+    HWLOC_PKG_CHECK_MODULES([KERRIGHED], [kerrighed >= 2.0], [printf], [stdio.h], [], [:])
 
     AC_PATH_PROGS([HWLOC_MS_LIB], [lib])
     AC_ARG_VAR([HWLOC_MS_LIB], [Path to Microsoft's Visual Studio `lib' tool])
 
     AC_PATH_PROG([BASH], [bash])
-    
+
     AC_CHECK_FUNCS([ffs], [
       _HWLOC_CHECK_DECL([ffs],[
         AC_DEFINE([HWLOC_HAVE_DECL_FFS], [1], [Define to 1 if function `ffs' is declared by system headers])
@@ -569,10 +608,10 @@ EOF])
         dnl We can't use AC_TRY_LINK because the failure does not appear until
         dnl run/load time and there is currently no precedent for AC_TRY_RUN
         dnl use in hwloc.  --PHH
-        dnl For now, we're going with "all gccfss compilers are broken". 
+        dnl For now, we're going with "all gccfss compilers are broken".
         dnl Better to be safe and correct; it's not like this is
         dnl performance-critical code, after all.
-        AC_DEFINE([HWLOC_HAVE_BROKEN_FFS], [1], 
+        AC_DEFINE([HWLOC_HAVE_BROKEN_FFS], [1],
                   [Define to 1 if your `ffs' function is known to be broken.])
       fi
     ])
@@ -582,7 +621,7 @@ EOF])
       ])
       AC_DEFINE([HWLOC_HAVE_FFSL], [1], [Define to 1 if you have the `ffsl' function.])
     ])
-    
+
     AC_CHECK_FUNCS([fls], [
       _HWLOC_CHECK_DECL([fls],[
         AC_DEFINE([HWLOC_HAVE_DECL_FLS], [1], [Define to 1 if function `fls' is declared by system headers])
@@ -595,7 +634,7 @@ EOF])
       ])
       AC_DEFINE([HWLOC_HAVE_FLSL], [1], [Define to 1 if you have the `flsl' function.])
     ])
-    
+
     AC_CHECK_FUNCS([clz], [
       _HWLOC_CHECK_DECL([clz],[
         AC_DEFINE([HWLOC_HAVE_DECL_CLZ], [1], [Define to 1 if function `clz' is declared by system headers])
@@ -608,7 +647,7 @@ EOF])
       ])
       AC_DEFINE([HWLOC_HAVE_CLZL], [1], [Define to 1 if you have the `clzl' function.])
     ])
-    
+
     AC_CHECK_FUNCS([openat], [hwloc_have_openat=yes])
 
     AC_CHECK_HEADERS([malloc.h])
@@ -673,126 +712,42 @@ EOF])
       LIBS="$tmp_save_LIBS"
     fi
 
-    # PCI support
+    # Linux libudev support
+    if test "x$enable_libudev" != xno; then
+      AC_CHECK_HEADERS([libudev.h], [
+	AC_CHECK_LIB([udev], [udev_device_new_from_subsystem_sysname], [HWLOC_LIBS="$HWLOC_LIBS -ludev"])
+      ])
+    fi
+
+    # PCI support via libpciaccess.  NOTE: we do not support
+    # libpci/pciutils because that library is GPL and is incompatible
+    # with our BSD license.
     hwloc_pci_happy=no
-    if test "x$enable_pci" != xno -a "x$enable_libpci" != "xyes"; then
+    if test "x$enable_pci" != xno; then
       hwloc_pci_happy=yes
-      HWLOC_PKG_CHECK_MODULES([PCIACCESS], [pciaccess], [pci_slot_match_iterator_create], [:], [hwloc_pci_happy=no])
-      if test x$hwloc_pci_happy = xyes; then hwloc_pci_lib=pciaccess; fi
-    fi
-    # PCI support with pciutils instead of pciaccess
-    if test "x$enable_pci" != "xno" -a "x$hwloc_pci_lib" != "xpciaccess"; then
-        hwloc_pci_happy=yes
-        HWLOC_PKG_CHECK_MODULES([PCIUTILS], [libpci], [pci_cleanup], [:], [
-          # manually check pciutils in case a old one without .pc is installed
-          AC_CHECK_HEADERS([pci/pci.h], [
-	    # try first without -lz, it's not always needed (RHEL5, Debian Etch)
-	    AC_CHECK_LIB([pci], [pci_init], [
-	      HWLOC_PCIUTILS_LIBS="-lpci"
-	      ], [
-              # try again with -lz because it's needed sometimes (FC7).
-              # don't use AC_CHECK_LIB again because the cache would
-              # return "no" without actually rechecking
-              AC_MSG_CHECKING([for pci_init in -lpci with -lz])
-              tmp_save_LIBS=$LIBS
-              LIBS="-lpci -lz $LIBS"
-              AC_LINK_IFELSE([AC_LANG_CALL([], [pci_init])],
-                             [HWLOC_PCIUTILS_LIBS="-lpci -lz"
-                              HWLOC_PCIUTILS_ADDITIONAL_LIBS="-lz"
-                              AC_MSG_RESULT(yes)],
-                             [hwloc_pci_happy=no
-                              AC_MSG_RESULT(no)])
-              LIBS=$tmp_save_LIBS])
-            # Also check with pci_lookup_name, because that sometimes
-            # requires -lresolv (RHEL5.6). don't use AC_CHECK_LIB twice
-            # because the cache would return "no" without actually rechecking
-	    AC_CHECK_LIB([pci], [pci_lookup_name], [],
-                [AC_CHECK_LIB([resolv], [inet_ntoa], 
-                    [AC_MSG_CHECKING([for pci_lookup_name in -lpci with -lresolv])
-                     tmp_save_LIBS=$LIBS
-                     LIBS="-lpci -lresolv $LIBS $HWLOC_PCIUTILS_ADDITIONAL_LIBS"
-                     AC_LINK_IFELSE([AC_LANG_CALL([], [pci_lookup_name])],
-                                    [HWLOC_PCIUTILS_LIBS="$HWLOC_PCIUTILS_LIBS -lresolv"
-                                     HWLOC_PCIUTILS_ADDITIONAL_LIBS="$HWLOC_PCIUTILS_ADDITIONAL_LIBS -lresolv"
-                                     AC_MSG_RESULT(yes)],
-                                    [hwloc_pci_happy=no
-                                     AC_MSG_RESULT(no)])
-                     LIBS=$tmp_save_LIBS],
-                    [hwloc_pci_happy=no])])
-            ], [hwloc_pci_happy=no])
-        ])
-        if test x$hwloc_pci_happy = xyes; then
-	  # pciutils could be used, but we don't want to force use it since it may GPL-taint hwloc
-	  if test x$enable_libpci = xyes; then
-	    hwloc_pci_lib=pciutils
-	  else
-	    # user didn't explicit request pciutils, disable PCI and warn the user
-	    hwloc_pci_happy=no
-	    hwloc_warn_may_use_libpci=yes
-	  fi
-	else
-	  # pciutils not found, error out if it was requested
-	  if test x$enable_libpci = xyes; then
-	    AC_MSG_WARN([Specified --enable-libpci switch, but could not])
-	    AC_MSG_WARN([find appropriate support])
-	    AC_MSG_ERROR([Cannot continue])
-	  fi
-	fi
+      HWLOC_PKG_CHECK_MODULES([PCIACCESS], [pciaccess], [pci_slot_match_iterator_create], [pciaccess.h], [:], [hwloc_pci_happy=no])
+
+      # Just for giggles, if we didn't find a pciaccess pkg-config,
+      # just try looking for its header file and library.
+      AS_IF([test "$hwloc_pci_happy" != "yes"],
+         [AC_CHECK_HEADER([pciaccess.h],
+              [AC_CHECK_LIB([pciaccess], [pci_slot_match_iterator_create],
+                   [hwloc_pci_happy=yes
+                    HWLOC_PCIACCESS_LIBS="-lpciaccess"])
+              ])
+         ])
+
+      AS_IF([test "$hwloc_pci_happy" = "yes"],
+         [HWLOC_PCIACCESS_REQUIRES=pciaccess
+          hwloc_pci_lib=pciaccess
+          hwloc_components="$hwloc_components pci"
+          hwloc_pci_component_maybeplugin=1])
     fi
-    AC_SUBST(HWLOC_PCIUTILS_LIBS)
     # If we asked for pci support but couldn't deliver, fail
-    AS_IF([test "$enable_pci" = "yes" -a "$hwloc_pci_happy" = "no" -a "$hwloc_warn_may_use_libpci" != "yes"],
+    AS_IF([test "$enable_pci" = "yes" -a "$hwloc_pci_happy" = "no"],
           [AC_MSG_WARN([Specified --enable-pci switch, but could not])
            AC_MSG_WARN([find appropriate support])
            AC_MSG_ERROR([Cannot continue])])
-    # pciaccess specific enabling
-    if test "x$hwloc_pci_lib" = "xpciaccess"; then
-      HWLOC_PCIACCESS_REQUIRES=pciaccess
-      AC_DEFINE([HWLOC_HAVE_LIBPCIACCESS], [1], [Define to 1 if you have the `libpciaccess' library.])
-    fi
-    # pciutils specific checks and enabling
-    if test "x$hwloc_pci_lib" = "xpciutils"; then
-      tmp_save_CFLAGS="$CFLAGS"
-      CFLAGS="$CFLAGS $HWLOC_PCIUTILS_CFLAGS"
-      tmp_save_LIBS="$LIBS"
-      LIBS="$LIBS $HWLOC_PCIUTILS_LIBS"
-
-      AC_CHECK_DECLS([PCI_LOOKUP_NO_NUMBERS],,[:],[[#include <pci/pci.h>]])
-      AC_CHECK_DECLS([PCI_LOOKUP_NO_NUMBERS],,[:],[[#include <pci/pci.h>]])
-      AC_CHECK_LIB([pci], [pci_find_cap], [enable_pci_caps=yes], [enable_pci_caps=no], [$HWLOC_PCIUTILS_ADDITIONAL_LIBS])
-      if test "x$enable_pci_caps" = "xyes"; then
-        AC_DEFINE([HWLOC_HAVE_PCI_FIND_CAP], [1], [Define to 1 if `libpci' has the `pci_find_cap' function.])
-      fi
-
-      AC_MSG_CHECKING(whether struct pci_dev has a device_class field)
-      AC_TRY_COMPILE([#include <pci/pci.h>],
-	[int f(struct pci_dev *dev) { return dev->device_class; }],
-        [pcidev_device_class=yes], [pcidev_device_class=no])
-      AC_MSG_RESULT([$pcidev_device_class])
-      if test x$pcidev_device_class = xyes; then
-        AC_DEFINE([HWLOC_HAVE_PCIDEV_DEVICE_CLASS], [1], [Define to 1 if `libpci' struct pci_dev has a `device_class' field.])
-      fi
-
-      AC_MSG_CHECKING(whether struct pci_dev has a domain field)
-      AC_TRY_COMPILE([#include <pci/pci.h>],
-	[int f(struct pci_dev *dev) { return dev->domain; }],
-        [pcidev_domain=yes], [pcidev_domain=no])
-      AC_MSG_RESULT([$pcidev_domain])
-      if test x$pcidev_domain = xyes; then
-        AC_DEFINE([HWLOC_HAVE_PCIDEV_DOMAIN], [1], [Define to 1 if `libpci' struct pci_dev has a `domain' field.])
-      fi
-
-      CFLAGS="$tmp_save_CFLAGS"
-      LIBS="$tmp_save_LIBS"
-
-      HWLOC_PCIUTILS_REQUIRES=libpci
-      AC_DEFINE([HWLOC_HAVE_PCIUTILS], [1], [Define to 1 if you have the pciutils `libpci' library.])
-    fi
-    # final common PCI enabling
-    if test "x$hwloc_pci_happy" = "xyes"; then
-      hwloc_components="$hwloc_components pci"
-      hwloc_pci_component_maybeplugin=1
-    fi
     # don't add LIBS/CFLAGS/REQUIRES yet, depends on plugins
 
     # OpenCL support
@@ -932,13 +887,13 @@ EOF])
                 [AC_CHECK_HEADERS([X11/keysym.h],
                     [AC_DEFINE([HWLOC_HAVE_X11_KEYSYM], [1], [Define to 1 if X11 headers including Xutil.h and keysym.h are available.])])
                      AC_SUBST([HWLOC_X11_LIBS], ["-lX11"])
-                ])
+                ], [], [#include <X11/Xlib.h>])
             ])
          ])
     CPPFLAGS=$CPPFLAGS_save
     LIBS=$LIBS_save
 
-    # GL Support 
+    # GL Support
     hwloc_gl_happy=no
     if test "x$enable_gl" != "xno"; then
 	hwloc_gl_happy=yes
@@ -965,15 +920,15 @@ EOF])
                 AC_MSG_WARN([find appropriate support])
                 AC_MSG_ERROR([Cannot continue])
             ])
- 	fi      
+        fi
     fi
     # don't add LIBS/CFLAGS yet, depends on plugins
-    
+
     # libxml2 support
     hwloc_libxml2_happy=
     if test "x$enable_libxml2" != "xno"; then
-        HWLOC_PKG_CHECK_MODULES([LIBXML2], [libxml-2.0], [xmlNewDoc], 
-                                [hwloc_libxml2_happy=yes], 
+        HWLOC_PKG_CHECK_MODULES([LIBXML2], [libxml-2.0], [xmlNewDoc], [libxml/parser.h],
+                                [hwloc_libxml2_happy=yes],
                                 [hwloc_libxml2_happy=no])
     fi
     if test "x$hwloc_libxml2_happy" = "xyes"; then
@@ -992,44 +947,46 @@ EOF])
     # don't add LIBS/CFLAGS/REQUIRES yet, depends on plugins
 
     # Try to compile the x86 cpuid inlines
-    AC_MSG_CHECKING([for x86 cpuid])
-    old_CPPFLAGS="$CPPFLAGS"
-    CPPFLAGS="$CPPFLAGS -I$HWLOC_top_srcdir/include"
-    # We need hwloc_uint64_t but we can't use hwloc/autogen/config.h before configure ends.
-    # So pass #include/#define manually here for now.
-    CPUID_CHECK_HEADERS=
-    CPUID_CHECK_DEFINE=
-    if test "x$hwloc_windows" = xyes; then
-      X86_CPUID_CHECK_HEADERS="#include <windows.h>"
-      X86_CPUID_CHECK_DEFINE="#define hwloc_uint64_t DWORDLONG"
-    else
-      X86_CPUID_CHECK_DEFINE="#define hwloc_uint64_t uint64_t"
-      if test "x$ac_cv_header_stdint_h" = xyes; then
-        X86_CPUID_CHECK_HEADERS="#include <stdint.h>"
-      fi
-    fi
-    AC_LINK_IFELSE([AC_LANG_PROGRAM([[
-        #include <stdio.h>
-        $X86_CPUID_CHECK_HEADERS
-        $X86_CPUID_CHECK_DEFINE
-        #define __hwloc_inline
-        #include <private/cpuid-x86.h>
-      ]], [[
-        if (hwloc_have_x86_cpuid()) {
-          unsigned eax = 0, ebx, ecx = 0, edx;
-          hwloc_x86_cpuid(&eax, &ebx, &ecx, &edx);
-          printf("highest x86 cpuid %x\n", eax);
-          return 0;
-        }
-      ]])],
-      [AC_MSG_RESULT([yes])
-       AC_DEFINE(HWLOC_HAVE_X86_CPUID, 1, [Define to 1 if you have x86 cpuid])
-       hwloc_have_x86_cpuid=yes],
-      [AC_MSG_RESULT([no])])
-    if test "x$hwloc_have_x86_cpuid" = xyes; then
-      hwloc_components="$hwloc_components x86"
+    if test "x$enable_cpuid" != "xno"; then
+	AC_MSG_CHECKING([for x86 cpuid])
+	old_CPPFLAGS="$CPPFLAGS"
+	CPPFLAGS="$CPPFLAGS -I$HWLOC_top_srcdir/include"
+	# We need hwloc_uint64_t but we can't use hwloc/autogen/config.h before configure ends.
+	# So pass #include/#define manually here for now.
+	CPUID_CHECK_HEADERS=
+	CPUID_CHECK_DEFINE=
+	if test "x$hwloc_windows" = xyes; then
+	    X86_CPUID_CHECK_HEADERS="#include <windows.h>"
+	    X86_CPUID_CHECK_DEFINE="#define hwloc_uint64_t DWORDLONG"
+	else
+	    X86_CPUID_CHECK_DEFINE="#define hwloc_uint64_t uint64_t"
+	    if test "x$ac_cv_header_stdint_h" = xyes; then
+	        X86_CPUID_CHECK_HEADERS="#include <stdint.h>"
+	    fi
+	fi
+	AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+	    #include <stdio.h>
+	    $X86_CPUID_CHECK_HEADERS
+	    $X86_CPUID_CHECK_DEFINE
+	    #define __hwloc_inline
+	    #include <private/cpuid-x86.h>
+	]], [[
+	    if (hwloc_have_x86_cpuid()) {
+		unsigned eax = 0, ebx, ecx = 0, edx;
+		hwloc_x86_cpuid(&eax, &ebx, &ecx, &edx);
+		printf("highest x86 cpuid %x\n", eax);
+		return 0;
+	    }
+	]])],
+	[AC_MSG_RESULT([yes])
+	 AC_DEFINE(HWLOC_HAVE_X86_CPUID, 1, [Define to 1 if you have x86 cpuid])
+	 hwloc_have_x86_cpuid=yes],
+	[AC_MSG_RESULT([no])])
+	if test "x$hwloc_have_x86_cpuid" = xyes; then
+	    hwloc_components="$hwloc_components x86"
+	fi
+	CPPFLAGS="$old_CPPFLAGS"
     fi
-    CPPFLAGS="$old_CPPFLAGS"
 
     # Components require pthread_mutex, see if it needs -lpthread
     hwloc_pthread_mutex_happy=no
@@ -1123,9 +1080,9 @@ EOF])
     AC_MSG_RESULT([$hwloc_plugin_components])
 
     AS_IF([test "$hwloc_pci_component" = "static"],
-          [HWLOC_LIBS="$HWLOC_LIBS $HWLOC_PCIUTILS_LIBS $HWLOC_PCIACCESS_LIBS"
-           HWLOC_CFLAGS="$HWLOC_CFLAGS $HWLOC_PCIUTILS_CFLAGS $HWLOC_PCIACCESS_CFLAGS"
-           HWLOC_REQUIRES="$HWLOC_PCIUTILS_REQUIRES $HWLOC_PCIACCESS_REQUIRES $HWLOC_REQUIRES"])
+          [HWLOC_LIBS="$HWLOC_LIBS $HWLOC_PCIACCESS_LIBS"
+           HWLOC_CFLAGS="$HWLOC_CFLAGS $HWLOC_PCIACCESS_CFLAGS"
+           HWLOC_REQUIRES="$HWLOC_PCIACCESS_REQUIRES $HWLOC_REQUIRES"])
     AS_IF([test "$hwloc_opencl_component" = "static"],
           [HWLOC_LIBS="$HWLOC_LIBS $HWLOC_OPENCL_LIBS"
            HWLOC_CFLAGS="$HWLOC_CFLAGS $HWLOC_OPENCL_CFLAGS"
@@ -1215,7 +1172,7 @@ AC_DEFUN([HWLOC_DO_AM_CONDITIONALS],[
                        [test "x$hwloc_have_sched_setaffinity" = "xyes"])
         AM_CONDITIONAL([HWLOC_HAVE_PTHREAD],
                        [test "x$hwloc_have_pthread" = "xyes"])
-        AM_CONDITIONAL([HWLOC_HAVE_LIBIBVERBS], 
+        AM_CONDITIONAL([HWLOC_HAVE_LIBIBVERBS],
                        [test "x$hwloc_have_libibverbs" = "xyes"])
 	AM_CONDITIONAL([HWLOC_HAVE_CUDA],
 		       [test "x$hwloc_have_cuda" = "xyes"])
@@ -1236,9 +1193,9 @@ AC_DEFUN([HWLOC_DO_AM_CONDITIONALS],[
 
         AM_CONDITIONAL([HWLOC_BUILD_DOXYGEN],
                        [test "x$hwloc_generate_doxs" = "xyes"])
-        AM_CONDITIONAL([HWLOC_BUILD_README], 
+        AM_CONDITIONAL([HWLOC_BUILD_README],
                        [test "x$hwloc_generate_readme" = "xyes" -a \( "x$hwloc_install_doxs" = "xyes" -o "x$hwloc_generate_doxs" = "xyes" \) ])
-        AM_CONDITIONAL([HWLOC_INSTALL_DOXYGEN], 
+        AM_CONDITIONAL([HWLOC_INSTALL_DOXYGEN],
                        [test "x$hwloc_install_doxs" = "xyes"])
 
         AM_CONDITIONAL([HWLOC_HAVE_LINUX], [test "x$hwloc_linux" = "xyes"])
@@ -1308,8 +1265,8 @@ AC_DEFUN([_HWLOC_CHECK_DECL], [
   AC_REQUIRE([AC_PROG_CC])
   AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
        [AC_INCLUDES_DEFAULT([$4])
-       $1(int,long,int,long,int,long,int,long,int,long);],
-       [$1(1,2,3,4,5,6,7,8,9,10);])],
+	void * $1;],
+    )],
     [AC_MSG_RESULT([no])
      $3],
     [AC_MSG_RESULT([yes])
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_check_attributes.m4 b/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_check_attributes.m4
index 1e3763b..7654071 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_check_attributes.m4
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_check_attributes.m4
@@ -1,43 +1,43 @@
 # This macro set originally copied from Open MPI:
-# Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
+# Copyright © 2004-2007 The Trustees of Indiana University and Indiana
 #                         University Research and Technology
 #                         Corporation.  All rights reserved.
-# Copyright (c) 2004-2005 The University of Tennessee and The University
+# Copyright © 2004-2005 The University of Tennessee and The University
 #                         of Tennessee Research Foundation.  All rights
 #                         reserved.
-# Copyright (c) 2004-2007 High Performance Computing Center Stuttgart,
+# Copyright © 2004-2007 High Performance Computing Center Stuttgart,
 #                         University of Stuttgart.  All rights reserved.
-# Copyright (c) 2004-2005 The Regents of the University of California.
+# Copyright © 2004-2005 The Regents of the University of California.
 #                         All rights reserved.
 # and renamed for hwloc:
-# Copyright (c) 2009 inria.  All rights reserved.
-# Copyright (c) 2009 Université Bordeaux 1
-# Copyright (c) 2010 Cisco Systems, Inc.  All rights reserved.
+# Copyright © 2009 Inria.  All rights reserved.
+# Copyright © 2009 Université Bordeaux
+# Copyright © 2010 Cisco Systems, Inc.  All rights reserved.
 # See COPYING in top-level directory.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are
 # met:
-# 
+#
 # - Redistributions of source code must retain the above copyright
 #   notice, this list of conditions and the following disclaimer.
-# 
+#
 # - Redistributions in binary form must reproduce the above copyright
 #   notice, this list of conditions and the following disclaimer listed
 #   in this license in the documentation and/or other materials
 #   provided with the distribution.
-# 
+#
 # - Neither the name of the copyright holders nor the names of its
 #   contributors may be used to endorse or promote products derived from
 #   this software without specific prior written permission.
-# 
+#
 # The copyright holders provide no reassurances that the source code
 # provided does not infringe any patent, copyright, or any other
 # intellectual property rights of third parties.  The copyright holders
 # disclaim any liability to any recipient for claims brought against
 # recipient by any third party for infringement of that parties
 # intellectual property rights.
-# 
+#
 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -52,14 +52,14 @@
 #
 
 #
-# Search the generated warnings for 
+# Search the generated warnings for
 # keywords regarding skipping or ignoring certain attributes
 #   Intel: ignore
 #   Sun C++: skip
 #
 AC_DEFUN([_HWLOC_ATTRIBUTE_FAIL_SEARCH],[
     # Be safe for systems that have ancient Autoconf's (e.g., RHEL5)
-    m4_ifdef([AC_PROG_GREP], 
+    m4_ifdef([AC_PROG_GREP],
              [AC_REQUIRE([AC_PROG_GREP])],
              [GREP=grep])
 
@@ -86,7 +86,7 @@ AC_DEFUN([_HWLOC_ATTRIBUTE_FAIL_SEARCH],[
 # regarding unused function in main file)
 #       static int usage (int * argument);
 #
-# The last argument is for specific CFLAGS, that need to be set 
+# The last argument is for specific CFLAGS, that need to be set
 # for the compiler to generate a warning on the cross-check.
 # This may need adaption for future compilers / CFLAG-settings.
 #
@@ -107,7 +107,7 @@ AC_DEFUN([_HWLOC_CHECK_SPECIFIC_ATTRIBUTE], [
                         _HWLOC_ATTRIBUTE_FAIL_SEARCH([$1])
                        ],
                        [hwloc_cv___attribute__[$1]=0])
-        
+
         #
         # If the attribute is supported by both compilers,
         # try to recompile a *cross-check*, IFF defined.
@@ -154,7 +154,7 @@ AC_DEFUN([_HWLOC_CHECK_SPECIFIC_ATTRIBUTE], [
 # attribute most often fail with a warning (when the warning
 # level is set).
 # The compilers output is parsed in _HWLOC_ATTRIBUTE_FAIL_SEARCH
-# 
+#
 # To add a new attributes __NAME__ add the
 #   hwloc_cv___attribute__NAME
 # add a new check with _HWLOC_CHECK_SPECIFIC_ATTRIBUTE (possibly with a cross-check)
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_check_vendor.m4 b/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_check_vendor.m4
index 1a9b944..0963bc1 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_check_vendor.m4
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_check_vendor.m4
@@ -1,20 +1,20 @@
 dnl -*- shell-script -*-
 dnl
-dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
+dnl Copyright © 2004-2005 The Trustees of Indiana University and Indiana
 dnl                         University Research and Technology
 dnl                         Corporation.  All rights reserved.
-dnl Copyright (c) 2004-2005 The University of Tennessee and The University
+dnl Copyright © 2004-2005 The University of Tennessee and The University
 dnl                         of Tennessee Research Foundation.  All rights
 dnl                         reserved.
-dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, 
+dnl Copyright © 2004-2005 High Performance Computing Center Stuttgart,
 dnl                         University of Stuttgart.  All rights reserved.
-dnl Copyright (c) 2004-2005 The Regents of the University of California.
+dnl Copyright © 2004-2005 The Regents of the University of California.
 dnl                         All rights reserved.
-dnl Copyright (c) 2011      Cisco Systems, Inc.  All rights reserved.
+dnl Copyright © 2011      Cisco Systems, Inc.  All rights reserved.
 dnl $COPYRIGHT$
-dnl 
+dnl
 dnl Additional copyrights may follow
-dnl 
+dnl
 dnl $HEADER$
 dnl
 
@@ -48,7 +48,7 @@ AC_DEFUN([_HWLOC_C_COMPILER_VENDOR], [
 m4_ifndef([AC_LANG_DEFINES_PROVIDED],
 	  [m4_define([AC_LANG_DEFINES_PROVIDED])])
 
-# HWLOC_IFDEF_IFELSE(symbol, [action-if-defined], 
+# HWLOC_IFDEF_IFELSE(symbol, [action-if-defined],
 #                   [action-if-not-defined])
 # ----------------------------------------------
 # Run compiler to determine if preprocessor symbol "symbol" is
@@ -61,7 +61,7 @@ choke me
 #endif], [$2], [$3])])
 
 
-# HWLOC_IF_IFELSE(symbol, [action-if-defined], 
+# HWLOC_IF_IFELSE(symbol, [action-if-defined],
 #                [action-if-not-defined])
 # ----------------------------------------------
 # Run compiler to determine if preprocessor symbol "symbol" is
@@ -91,27 +91,27 @@ AC_DEFUN([_HWLOC_CHECK_COMPILER_VENDOR], [
 
     # Intel
     AS_IF([test "$hwloc_check_compiler_vendor_result" = "unknown"],
-          [HWLOC_IF_IFELSE([defined(__INTEL_COMPILER) || defined(__ICC)], 
+          [HWLOC_IF_IFELSE([defined(__INTEL_COMPILER) || defined(__ICC)],
                [hwloc_check_compiler_vendor_result="intel"])])
 
     # GNU
     AS_IF([test "$hwloc_check_compiler_vendor_result" = "unknown"],
-          [HWLOC_IFDEF_IFELSE([__GNUC__], 
+          [HWLOC_IFDEF_IFELSE([__GNUC__],
                [hwloc_check_compiler_vendor_result="gnu"])])
 
     # Borland Turbo C
     AS_IF([test "$hwloc_check_compiler_vendor_result" = "unknown"],
-          [HWLOC_IFDEF_IFELSE([__TURBOC__], 
+          [HWLOC_IFDEF_IFELSE([__TURBOC__],
                [hwloc_check_compiler_vendor_result="borland"])])
 
     # Borland C++
     AS_IF([test "$hwloc_check_compiler_vendor_result" = "unknown"],
-          [HWLOC_IFDEF_IFELSE([__BORLANDC__], 
+          [HWLOC_IFDEF_IFELSE([__BORLANDC__],
                [hwloc_check_compiler_vendor_result="borland"])])
 
     # Comeau C++
     AS_IF([test "$hwloc_check_compiler_vendor_result" = "unknown"],
-          [HWLOC_IFDEF_IFELSE([__COMO__], 
+          [HWLOC_IFDEF_IFELSE([__COMO__],
                [hwloc_check_compiler_vendor_result="comeau"])])
 
     # Compaq C/C++
@@ -125,12 +125,12 @@ AC_DEFUN([_HWLOC_CHECK_COMPILER_VENDOR], [
 
     # Cray C/C++
     AS_IF([test "$hwloc_check_compiler_vendor_result" = "unknown"],
-          [HWLOC_IFDEF_IFELSE([_CRAYC], 
+          [HWLOC_IFDEF_IFELSE([_CRAYC],
                [hwloc_check_compiler_vendor_result="cray"])])
 
     # Diab C/C++
     AS_IF([test "$hwloc_check_compiler_vendor_result" = "unknown"],
-          [HWLOC_IFDEF_IFELSE([__DCC__], 
+          [HWLOC_IFDEF_IFELSE([__DCC__],
                [hwloc_check_compiler_vendor_result="diab"])])
 
     # Digital Mars
@@ -172,20 +172,20 @@ AC_DEFUN([_HWLOC_CHECK_COMPILER_VENDOR], [
 
     # MIPSpro (SGI)
     AS_IF([test "$hwloc_check_compiler_vendor_result" = "unknown"],
-          [HWLOC_IF_IFELSE([defined(sgi) || defined(__sgi)], 
+          [HWLOC_IF_IFELSE([defined(sgi) || defined(__sgi)],
                [hwloc_check_compiler_vendor_result="sgi"])])
 
     # MPW C++
     AS_IF([test "$hwloc_check_compiler_vendor_result" = "unknown"],
-          [HWLOC_IF_IFELSE([defined(__MRC__) || defined(MPW_C) || defined(MPW_CPLUS)], 
+          [HWLOC_IF_IFELSE([defined(__MRC__) || defined(MPW_C) || defined(MPW_CPLUS)],
                [hwloc_check_compiler_vendor_result="mpw"])])
 
     # Microsoft
     AS_IF([test "$hwloc_check_compiler_vendor_result" = "unknown"],
-          [# Always use C compiler when checking for Microsoft, as 
+          [# Always use C compiler when checking for Microsoft, as
            # Visual C++ doesn't recognize .cc as a C++ file.
            AC_LANG_PUSH(C)
-           HWLOC_IF_IFELSE([defined(_MSC_VER) || defined(__MSC_VER)], 
+           HWLOC_IF_IFELSE([defined(_MSC_VER) || defined(__MSC_VER)],
                [hwloc_check_compiler_vendor_result="microsoft"])
            AC_LANG_POP(C)])
 
@@ -201,7 +201,7 @@ AC_DEFUN([_HWLOC_CHECK_COMPILER_VENDOR], [
 
     # Portland Group
     AS_IF([test "$hwloc_check_compiler_vendor_result" = "unknown"],
-          [HWLOC_IFDEF_IFELSE([__PGI], 
+          [HWLOC_IFDEF_IFELSE([__PGI],
                [hwloc_check_compiler_vendor_result="portland group"])])
 
     # SAS/C
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_check_visibility.m4 b/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_check_visibility.m4
index 654ae7a..885fe3d 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_check_visibility.m4
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_check_visibility.m4
@@ -1,44 +1,44 @@
 # This macro set originally copied from Open MPI:
-# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
+# Copyright © 2004-2005 The Trustees of Indiana University and Indiana
 #                         University Research and Technology
 #                         Corporation.  All rights reserved.
-# Copyright (c) 2004-2005 The University of Tennessee and The University
+# Copyright © 2004-2005 The University of Tennessee and The University
 #                         of Tennessee Research Foundation.  All rights
 #                         reserved.
-# Copyright (c) 2004-2007 High Performance Computing Center Stuttgart, 
+# Copyright © 2004-2007 High Performance Computing Center Stuttgart,
 #                         University of Stuttgart.  All rights reserved.
-# Copyright (c) 2004-2005 The Regents of the University of California.
+# Copyright © 2004-2005 The Regents of the University of California.
 #                         All rights reserved.
-# Copyright (c) 2006-2007 Cisco Systems, Inc.  All rights reserved.
+# Copyright © 2006-2007 Cisco Systems, Inc.  All rights reserved.
 # and renamed/modified for hwloc:
-# Copyright (c) 2009 inria.  All rights reserved.
-# Copyright (c) 2009-2010 Université Bordeaux 1
+# Copyright © 2009 Inria.  All rights reserved.
+# Copyright © 2009-2010 Université Bordeaux
 # Copyright © 2010-2012 Cisco Systems, Inc.  All rights reserved.
 # See COPYING in top-level directory.
-# 
+#
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are
 # met:
-# 
+#
 # - Redistributions of source code must retain the above copyright
 #   notice, this list of conditions and the following disclaimer.
-# 
+#
 # - Redistributions in binary form must reproduce the above copyright
 #   notice, this list of conditions and the following disclaimer listed
 #   in this license in the documentation and/or other materials
 #   provided with the distribution.
-# 
+#
 # - Neither the name of the copyright holders nor the names of its
 #   contributors may be used to endorse or promote products derived from
 #   this software without specific prior written permission.
-# 
+#
 # The copyright holders provide no reassurances that the source code
 # provided does not infringe any patent, copyright, or any other
 # intellectual property rights of third parties.  The copyright holders
 # disclaim any liability to any recipient for claims brought against
 # recipient by any third party for infringement of that parties
 # intellectual property rights.
-# 
+#
 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -56,13 +56,13 @@
 # --------------------------------------------------------
 AC_DEFUN([_HWLOC_CHECK_VISIBILITY],[
     # Be safe for systems that have ancient Autoconf's (e.g., RHEL5)
-    m4_ifdef([AC_PROG_GREP], 
+    m4_ifdef([AC_PROG_GREP],
              [AC_REQUIRE([AC_PROG_GREP])],
              [GREP=grep])
 
     # Check if the compiler has support for visibility, like some
     # versions of gcc, icc, Sun Studio cc.
-    AC_ARG_ENABLE(visibility, 
+    AC_ARG_ENABLE(visibility,
         AC_HELP_STRING([--enable-visibility],
             [enable visibility feature of certain compilers/linkers (default: enabled on platforms that support it)]))
 
@@ -76,7 +76,7 @@ AC_DEFUN([_HWLOC_CHECK_VISIBILITY],[
     hwloc_msg="whether to enable symbol visibility"
     if test "$enable_visibility" = "no"; then
         AC_MSG_CHECKING([$hwloc_msg])
-        AC_MSG_RESULT([no (disabled)]) 
+        AC_MSG_RESULT([no (disabled)])
     else
         CFLAGS_orig=$CFLAGS
 
@@ -116,14 +116,14 @@ AC_DEFUN([_HWLOC_CHECK_VISIBILITY],[
         if test "$hwloc_add" != "" ; then
             hwloc_visibility_define=1
             AC_MSG_CHECKING([$hwloc_msg])
-            AC_MSG_RESULT([yes (via $hwloc_add)]) 
+            AC_MSG_RESULT([yes (via $hwloc_add)])
         elif test "$enable_visibility" = "yes"; then
             AC_MSG_ERROR([Symbol visibility support requested but compiler does not seem to support it.  Aborting])
-        else 
+        else
             AC_MSG_CHECKING([$hwloc_msg])
-            AC_MSG_RESULT([no (unsupported)]) 
+            AC_MSG_RESULT([no (unsupported)])
         fi
-        unset hwloc_add 
+        unset hwloc_add
     fi
 
     AC_DEFINE_UNQUOTED([HWLOC_C_HAVE_VISIBILITY], [$hwloc_visibility_define],
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_get_version.sh b/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_get_version.sh
index c27152e..74bca53 100755
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_get_version.sh
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_get_version.sh
@@ -1,16 +1,17 @@
 #!/bin/sh
 #
-# Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
+# Copyright © 2004-2006 The Trustees of Indiana University and Indiana
 #                         University Research and Technology
 #                         Corporation.  All rights reserved.
-# Copyright (c) 2004-2005 The University of Tennessee and The University
+# Copyright © 2004-2005 The University of Tennessee and The University
 #                         of Tennessee Research Foundation.  All rights
 #                         reserved.
-# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
+# Copyright © 2004-2005 High Performance Computing Center Stuttgart,
 #                         University of Stuttgart.  All rights reserved.
-# Copyright (c) 2004-2005 The Regents of the University of California.
+# Copyright © 2004-2005 The Regents of the University of California.
 #                         All rights reserved.
-# Copyright © 2008-2013 Cisco Systems, Inc.  All rights reserved.
+# Copyright © 2008-2014 Cisco Systems, Inc.  All rights reserved.
+# Copyright © 2014 Inria.  All rights reserved.
 # $COPYRIGHT$
 #
 # Additional copyrights may follow
@@ -34,6 +35,10 @@ else
 	s/^minor/HWLOC_MINOR_VERSION/
 	s/^release/HWLOC_RELEASE_VERSION/
 	s/^greek/HWLOC_GREEK_VERSION/
+	s/\\\${major}/\\\${HWLOC_MAJOR_VERSION}/
+	s/\\\${minor}/\\\${HWLOC_MINOR_VERSION}/
+	s/\\\${release}/\\\${HWLOC_RELEASE_VERSION}/
+	s/\\\${greek}/\\\${HWLOC_GREEK_VERSION}/
 	s/^date/HWLOC_RELEASE_DATE/
 	s/^snapshot_version/HWLOC_SNAPSHOT_VERSION/
 	s/^snapshot/HWLOC_SNAPSHOT/
@@ -43,13 +48,7 @@ else
 	p" < "$srcfile"`
 	eval "$ompi_vers"
 
-        # Only include the release version if it isn't 0
-        if test $HWLOC_RELEASE_VERSION -ne 0 ; then
-            HWLOC_VERSION="$HWLOC_MAJOR_VERSION.$HWLOC_MINOR_VERSION.$HWLOC_RELEASE_VERSION"
-        else
-            HWLOC_VERSION="$HWLOC_MAJOR_VERSION.$HWLOC_MINOR_VERSION"
-        fi
-        HWLOC_VERSION="${HWLOC_VERSION}${HWLOC_GREEK_VERSION}"
+        HWLOC_VERSION="$HWLOC_MAJOR_VERSION.$HWLOC_MINOR_VERSION.$HWLOC_RELEASE_VERSION${HWLOC_GREEK_VERSION}"
 
         # If HWLOC_SNAPSHOT=1, then use HWLOC_SNAPSHOT_VERSION
         if test "$HWLOC_SNAPSHOT" = "1"; then
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_internal.m4 b/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_internal.m4
index 55ac182..9be621b 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_internal.m4
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_internal.m4
@@ -1,16 +1,16 @@
 dnl -*- Autoconf -*-
 dnl
-dnl Copyright (c) 2009-2014 Inria.  All rights reserved.
-dnl Copyright (c) 2009, 2011 Université Bordeaux 1
-dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
+dnl Copyright © 2009-2014 Inria.  All rights reserved.
+dnl Copyright © 2009, 2011 Université Bordeaux
+dnl Copyright © 2004-2005 The Trustees of Indiana University and Indiana
 dnl                         University Research and Technology
 dnl                         Corporation.  All rights reserved.
-dnl Copyright (c) 2004-2005 The Regents of the University of California.
+dnl Copyright © 2004-2005 The Regents of the University of California.
 dnl                         All rights reserved.
-dnl Copyright (c) 2004-2008 High Performance Computing Center Stuttgart, 
+dnl Copyright © 2004-2008 High Performance Computing Center Stuttgart,
 dnl                         University of Stuttgart.  All rights reserved.
-dnl Copyright © 2010-2014 Inria.  All rights reserved.
-dnl Copyright © 2006-2011 Cisco Systems, Inc.  All rights reserved.
+dnl Copyright © 2010-2015 Inria.  All rights reserved.
+dnl Copyright © 2006-2014 Cisco Systems, Inc.  All rights reserved.
 dnl
 dnl See COPYING in top-level directory.
 
@@ -52,21 +52,23 @@ AC_DEFUN([HWLOC_DEFINE_ARGS],[
 
     # Cairo?
     AC_ARG_ENABLE([cairo],
-                  AS_HELP_STRING([--disable-cairo], 
+                  AS_HELP_STRING([--disable-cairo],
                                  [Disable the Cairo back-end of hwloc's lstopo command]))
 
+    # CPUID
+    AC_ARG_ENABLE([cpuid],
+		  AS_HELP_STRING([--disable-cpuid],
+				 [Disable the cpuid-based architecture specific support (x86 component)]))
+
     # XML using libxml2?
     AC_ARG_ENABLE([libxml2],
-                  AS_HELP_STRING([--disable-libxml2], 
+                  AS_HELP_STRING([--disable-libxml2],
 		                 [Do not use libxml2 for XML support, use a custom minimalistic support]))
 
     # PCI?
     AC_ARG_ENABLE([pci],
                   AS_HELP_STRING([--disable-pci],
                                  [Disable the PCI device discovery]))
-    AC_ARG_ENABLE([libpci],
-		  AS_HELP_STRING([--enable-libpci],
-				 [Use libpci for PCI support. Note that hwloc may be tainted by the pciutils GPL license.]))
 
     # OpenCL?
     AC_ARG_ENABLE([opencl],
@@ -93,6 +95,11 @@ AC_DEFUN([HWLOC_DEFINE_ARGS],[
                   AS_HELP_STRING([--disable-libnuma],
                                  [Disable the Linux libnuma]))
 
+    # LibUdev
+    AC_ARG_ENABLE([libudev],
+                  AS_HELP_STRING([--disable-libudev],
+                                 [Disable the Linux libudev]))
+
     # Plugins
     AC_ARG_ENABLE([plugins],
                   AS_HELP_STRING([--enable-plugins=name,...],
@@ -121,22 +128,22 @@ EOF
 	   test "x$enable_doxygen" = x && enable_doxygen=no],
           [AC_MSG_RESULT([yes])
 	   test "x$enable_doxygen" = x && enable_doxygen=yes])
-    
+
     # Generating the doxygen output requires a few tools.  If we
     # don't have all of them, refuse the build the docs.
     AC_ARG_VAR([DOXYGEN], [Location of the doxygen program (required for building the hwloc doxygen documentation)])
     AC_PATH_TOOL([DOXYGEN], [doxygen])
     HWLOC_DOXYGEN_VERSION=`doxygen --version 2> /dev/null`
-    
+
     AC_ARG_VAR([PDFLATEX], [Location of the pdflatex program (required for building the hwloc doxygen documentation)])
     AC_PATH_TOOL([PDFLATEX], [pdflatex])
-    
+
     AC_ARG_VAR([MAKEINDEX], [Location of the makeindex program (required for building the hwloc doxygen documentation)])
     AC_PATH_TOOL([MAKEINDEX], [makeindex])
-    
+
     AC_ARG_VAR([FIG2DEV], [Location of the fig2dev program (required for building the hwloc doxygen documentation)])
     AC_PATH_TOOL([FIG2DEV], [fig2dev])
-    
+
     AC_ARG_VAR([GS], [Location of the gs program (required for building the hwloc doxygen documentation)])
     AC_PATH_TOOL([GS], [gs])
 
@@ -149,29 +156,15 @@ EOF
     AC_MSG_RESULT([$hwloc_generate_doxs])
     AS_IF([test "x$hwloc_generate_doxs" = xyes -a "x$HWLOC_DOXYGEN_VERSION" = x1.6.2],
                  [hwloc_generate_doxs="no"; AC_MSG_WARN([doxygen 1.6.2 has broken short name support, disabling])])
-    
-    # Linux and OS X take different sed arguments.
-    AC_PROG_SED
-    AC_MSG_CHECKING([if the sed -i option requires an argument])
-    rm -f conftest
-    cat > conftest <<EOF
-hello
-EOF
-    $SED -i -e s/hello/goodbye/ conftest 2> /dev/null
-    AS_IF([test -f conftest-e],
-          [SED_I="$SED -i ''"
-           AC_MSG_RESULT([yes])],
-          [SED_I="$SED -i"
-           AC_MSG_RESULT([no])])
-    rm -f conftest conftest-e
-    AC_SUBST([SED_I])
+
+    AC_REQUIRE([AC_PROG_SED])
 
     # Making the top-level README requires w3m or lynx.
     AC_ARG_VAR([W3M], [Location of the w3m program (required to building the top-level hwloc README file)])
     AC_PATH_TOOL([W3M], [w3m])
     AC_ARG_VAR([LYNX], [Location of the lynx program (required to building the top-level hwloc README file)])
     AC_PATH_TOOL([LYNX], [lynx])
-    
+
     AC_MSG_CHECKING([if can build top-level README])
     AS_IF([test "x$W3M" != "x"],
           [hwloc_generate_readme=yes
@@ -182,13 +175,13 @@ EOF
                  [hwloc_generate_readme=no])])
     AC_SUBST(HWLOC_W3_GENERATOR)
     AC_MSG_RESULT([$hwloc_generate_readme])
-    
+
     # If any one of the above tools is missing, we will refuse to make dist.
     AC_MSG_CHECKING([if will build doxygen docs])
     AS_IF([test "x$hwloc_generate_doxs" = "xyes" -a "x$enable_doxygen" != "xno"],
           [], [hwloc_generate_doxs=no])
     AC_MSG_RESULT([$hwloc_generate_doxs])
-    
+
     # See if we want to install the doxygen docs
     AC_MSG_CHECKING([if will install doxygen docs])
     AS_IF([test "x$hwloc_generate_doxs" = "xyes" -o \
@@ -198,7 +191,7 @@ EOF
           [hwloc_install_doxs=yes],
           [hwloc_install_doxs=no])
     AC_MSG_RESULT([$hwloc_install_doxs])
-    
+
     # For the common developer case, if we're in a developer checkout and
     # using the GNU compilers, turn on maximum warnings unless
     # specifically disabled by the user.
@@ -237,6 +230,7 @@ EOF
     # Generate some files for the docs
     AC_CONFIG_FILES(
         hwloc_config_prefix[doc/Makefile]
+        hwloc_config_prefix[doc/examples/Makefile]
         hwloc_config_prefix[doc/doxygen-config.cfg])
 ])
 
@@ -251,14 +245,16 @@ AC_DEFUN([HWLOC_SETUP_UTILS],[
 ###
 EOF
 
+    AC_REQUIRE([AC_PROG_SED])
+
     # Cairo support
     hwloc_cairo_happy=no
     if test "x$enable_cairo" != "xno"; then
-      HWLOC_PKG_CHECK_MODULES([CAIRO], [cairo], [cairo_fill],
+      HWLOC_PKG_CHECK_MODULES([CAIRO], [cairo], [cairo_fill], [cairo.h],
                               [hwloc_cairo_happy=yes],
                               [hwloc_cairo_happy=no])
     fi
-    
+
     if test "x$hwloc_cairo_happy" = "xyes"; then
         AC_DEFINE([HWLOC_HAVE_CAIRO], [1], [Define to 1 if you have the `cairo' library.])
     else
@@ -317,6 +313,8 @@ EOF
     # Only generate this if we're building the utilities
     AC_CONFIG_FILES(
         hwloc_config_prefix[utils/Makefile]
+        hwloc_config_prefix[utils/hwloc/Makefile]
+        hwloc_config_prefix[utils/lstopo/Makefile]
         hwloc_config_prefix[hwloc.pc])
 ])dnl
 
@@ -380,25 +378,25 @@ int foo(void) {
         hwloc_config_prefix[tests/xml/Makefile]
         hwloc_config_prefix[tests/ports/Makefile]
         hwloc_config_prefix[tests/rename/Makefile]
-        hwloc_config_prefix[tests/linux/hwloc-gather-topology]
         hwloc_config_prefix[tests/linux/gather/test-gather-topology.sh]
         hwloc_config_prefix[tests/linux/test-topology.sh]
         hwloc_config_prefix[tests/xml/test-topology.sh]
         hwloc_config_prefix[tests/wrapper.sh]
-        hwloc_config_prefix[utils/hwloc-assembler-remote]
-        hwloc_config_prefix[utils/hwloc-compress-dir]
-        hwloc_config_prefix[utils/test-hwloc-annotate.sh]
-        hwloc_config_prefix[utils/test-hwloc-assembler.sh]
-        hwloc_config_prefix[utils/test-hwloc-calc.sh]
-        hwloc_config_prefix[utils/test-hwloc-compress-dir.sh]
-        hwloc_config_prefix[utils/test-hwloc-diffpatch.sh]
-        hwloc_config_prefix[utils/test-hwloc-distances.sh]
-        hwloc_config_prefix[utils/test-hwloc-distrib.sh]
-        hwloc_config_prefix[utils/test-hwloc-info.sh]
-        hwloc_config_prefix[utils/test-hwloc-ls.sh]
-        hwloc_config_prefix[utils/test-fake-plugin.sh])
-
-    AC_CONFIG_COMMANDS([chmoding-scripts], [chmod +x ]hwloc_config_prefix[tests/linux/test-topology.sh ]hwloc_config_prefix[tests/xml/test-topology.sh ]hwloc_config_prefix[tests/linux/hwloc-gather-topology ]hwloc_config_prefix[tests/linux/gather/test-gather-topology.sh ]hwloc_config_prefix[tests/wrapper.sh ]hwloc_config_prefix[utils/hwloc-assembler-remote ]hwloc_config_prefix[utils/hwloc-compress-dir ]hwloc_config_prefix[utils/test-hwloc-annotate.sh ]hwloc_config_prefix[utils/test-hwloc-assembler.sh ]hwloc_config_prefix[utils/test-hwloc-calc.sh ]hwloc_config_prefix[utils/test-hwloc-compress-dir.sh ]hwloc_config_prefix[utils/test-hwloc-diffpatch.sh ]hwloc_config_prefix[utils/test-hwloc-distances.sh ]hwloc_config_prefix[utils/test-hwloc-distrib.sh ]hwloc_config_prefix[utils/test-hwloc-info.sh ]hwloc_config_prefix[utils/test-hwloc-ls.sh ]hwloc_config_prefix[utils/test-fake-plugin.sh])
+        hwloc_config_prefix[utils/hwloc/hwloc-assembler-remote]
+        hwloc_config_prefix[utils/hwloc/hwloc-compress-dir]
+        hwloc_config_prefix[utils/hwloc/hwloc-gather-topology]
+        hwloc_config_prefix[utils/hwloc/test-hwloc-annotate.sh]
+        hwloc_config_prefix[utils/hwloc/test-hwloc-assembler.sh]
+        hwloc_config_prefix[utils/hwloc/test-hwloc-calc.sh]
+        hwloc_config_prefix[utils/hwloc/test-hwloc-compress-dir.sh]
+        hwloc_config_prefix[utils/hwloc/test-hwloc-diffpatch.sh]
+        hwloc_config_prefix[utils/hwloc/test-hwloc-distances.sh]
+        hwloc_config_prefix[utils/hwloc/test-hwloc-distrib.sh]
+        hwloc_config_prefix[utils/hwloc/test-hwloc-info.sh]
+        hwloc_config_prefix[utils/hwloc/test-fake-plugin.sh]
+        hwloc_config_prefix[utils/lstopo/test-hwloc-ls.sh])
+
+    AC_CONFIG_COMMANDS([chmoding-scripts], [chmod +x ]hwloc_config_prefix[tests/linux/test-topology.sh ]hwloc_config_prefix[tests/xml/test-topology.sh ]hwloc_config_prefix[tests/linux/gather/test-gather-topology.sh ]hwloc_config_prefix[tests/wrapper.sh ]hwloc_config_prefix[utils/hwloc/hwloc-assembler-remote ]hwloc_config_prefix[utils/hwloc/hwloc-compress-dir ]hwloc_config_prefix[utils/hwloc/hwloc-gather-topology ]hwloc_config_prefix[utils/hwloc/test-hwloc-annotate.sh ]hwloc_config_prefix[utils/hwloc/test-hwloc-assembler.sh ]hwloc_config_prefix[utils/hwloc/test-hwloc-calc.sh ]hwloc_config_prefix[utils/hwloc/test-hwloc-compress-dir.sh ]hwloc_config_prefix[utils/hwloc/test-hwloc-diffpatch.sh ]hwloc_config_prefix[utils/hwloc/test-hwloc-distances.sh ]hwloc_config_prefix[utils/hwloc/test-hwloc-distrib.sh ]hwloc_config_prefix[utils/hwloc/test-hwloc-info.sh ]hwloc_config_prefix[utils/hwloc/test-fake-plugin.sh ]hwloc_config_prefix[utils/lstopo/test-hwloc-ls.sh])
 
     # These links are only needed in standalone mode.  It would
     # be nice to m4 foreach this somehow, but whenever I tried
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_pkg.m4 b/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_pkg.m4
index 71a0502..0729c9b 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_pkg.m4
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/config/hwloc_pkg.m4
@@ -1,4 +1,5 @@
-# Copyright (c) 2010 Cisco Systems, Inc.  All rights reserved.
+# Copyright © 2010 Cisco Systems, Inc.  All rights reserved.
+# Copyright © 2015 Inria.  All rights reserved.
 # See COPYING in top-level directory.
 #
 # hwloc modification to the following PKG_* macros -- add HWLOC_
@@ -7,7 +8,7 @@
 # license below.
 
 # pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
-# 
+#
 # Copyright © 2004 Scott James Remnant <scott at netsplit.com>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -56,7 +57,7 @@ if test -n "$PKG_CONFIG"; then
 		AC_MSG_RESULT([no])
 		PKG_CONFIG=""
 	fi
-		
+
 fi[]dnl
 ])# HWLOC_PKG_PROG_PKG_CONFIG
 
@@ -108,7 +109,7 @@ fi[]dnl
 ])# _HWLOC_PKG_SHORT_ERRORS_SUPPORTED
 
 
-# HWLOC_PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# HWLOC_PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, FUNCTION, HEADER, [ACTION-IF-FOUND],
 # [ACTION-IF-NOT-FOUND])
 #
 #
@@ -138,13 +139,13 @@ See the pkg-config man page for more details.])
         _HWLOC_PKG_SHORT_ERRORS_SUPPORTED
         if test $HWLOC_pkg_short_errors_supported = yes; then
             HWLOC_[]$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2" 2>&1`
-        else 
+        else
             HWLOC_[]$1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2" 2>&1`
         fi
         # Put the nasty error message in config.log where it belongs
 	echo "$HWLOC_[]$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
 
-	ifelse([$5], , [AC_MSG_ERROR(dnl
+	ifelse([$6], , [AC_MSG_ERROR(dnl
 [Package requirements ($2) were not met:
 
 $HWLOC_$1_PKG_ERRORS
@@ -155,9 +156,9 @@ installed software in a non-standard prefix.
 _HWLOC_PKG_TEXT
 ])],
 		[AC_MSG_RESULT([no])
-                $5])
+                $6])
     elif test $HWLOC_pkg_failed = untried; then
-        ifelse([$5], , [AC_MSG_FAILURE(dnl
+        ifelse([$6], , [AC_MSG_FAILURE(dnl
 [The pkg-config script could not be found or is too old.  Make sure it
 is in your PATH or set the PKG_CONFIG environment variable to the full
 path to pkg-config.
@@ -166,7 +167,7 @@ _HWLOC_PKG_TEXT
 
 To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
 		[AC_MSG_RESULT([cannot check without pkg-config])
-		$5])
+		$6])
     else
         AC_MSG_RESULT([yes])
 
@@ -177,21 +178,30 @@ To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
         # with CFLAGS=-m32 LDFLAGS=-m32.  pkg-config gave us valid
         # results, but we'll fail if we try to link.  So detect that
         # failure now.
+        # There are also cases on Mac where pkg-config returns paths
+        # that do not actually exists until some magic is applied.
+        # http://www.open-mpi.org/community/lists/hwloc-devel/2015/03/4402.php
+        # So check whether we find the header as well.
         hwloc_cflags_save=$CFLAGS
+        hwloc_cppflags_save=$CPPFLAGS
         hwloc_libs_save=$LIBS
         CFLAGS="$CFLAGS $HWLOC_pkg_cv_HWLOC_[]$1[]_CFLAGS"
+        CPPFLAGS="$CPPFLAGS $HWLOC_pkg_cv_HWLOC_[]$1[]_CFLAGS"
         LIBS="$LIBS $HWLOC_pkg_cv_HWLOC_[]$1[]_LIBS"
-        AC_CHECK_FUNC([$3], [hwloc_result=yes], [hwloc_result=no])
+        AC_CHECK_HEADER([$4], [
+            AC_CHECK_FUNC([$3], [hwloc_result=yes], [hwloc_result=no])
+            ], [hwloc_result=no])
         CFLAGS=$hwloc_cflags_save
+        CPPFLAGS=$hwloc_cppflags_save
         LIBS=$hwloc_libs_save
 
         AC_MSG_CHECKING([for final $1 support])
         AS_IF([test "$hwloc_result" = "yes"],
               [HWLOC_[]$1[]_CFLAGS=$HWLOC_pkg_cv_HWLOC_[]$1[]_CFLAGS
                HWLOC_[]$1[]_LIBS=$HWLOC_pkg_cv_HWLOC_[]$1[]_LIBS
-               AC_MSG_RESULT([yes])            
-               ifelse([$4], , :, [$4])],
+               AC_MSG_RESULT([yes])
+               ifelse([$5], , :, [$5])],
               [AC_MSG_RESULT([no])
-               ifelse([$5], , :, [$5])])
+               ifelse([$6], , :, [$6])])
     fi[]dnl
 ])# HWLOC_PKG_CHECK_MODULES
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/configure.ac b/src/pm/hydra/tools/topo/hwloc/hwloc/configure.ac
index a499217..d4b51b3 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/configure.ac
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/configure.ac
@@ -1,18 +1,22 @@
 # -*- shell-script -*-
 #
 # Copyright © 2009      CNRS
-# Copyright © 2009-2013 Inria.  All rights reserved.
-# Copyright © 2009, 2011-2012      Université Bordeaux 1
-# Copyright © 2009-2010 Cisco Systems, Inc.  All rights reserved.
+# Copyright © 2009-2015 Inria.  All rights reserved.
+# Copyright © 2009, 2011-2012      Université Bordeaux
+# Copyright © 2009-2014 Cisco Systems, Inc.  All rights reserved.
 #
 # See COPYING in top-level directory.
-# 
+#
 # Additional copyrights may follow
-# 
+#
 # $HEADER$
 #
 
-AC_INIT([hwloc], 
+####################################################################
+# Autoconf, Automake, and Libtool bootstrapping
+####################################################################
+
+AC_INIT([hwloc],
         [m4_normalize(esyscmd([config/hwloc_get_version.sh VERSION --version]))],
         [http://www.open-mpi.org/projects/hwloc/], [hwloc])
 AC_PREREQ(2.63)
@@ -36,7 +40,7 @@ AC_CANONICAL_TARGET
 AM_INIT_AUTOMAKE([1.11 dist-bzip2 subdir-objects foreign tar-ustar parallel-tests -Wall -Werror])
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
-# We want new Libtool.  None of that old stuff.  Pfft.    
+# We want new Libtool.  None of that old stuff.  Pfft.
 m4_ifdef([LT_PREREQ], [],
 	 [m4_fatal([libtool version 2.2.6 or higher is required], [63])])
 LT_PREREQ([2.2.6])
@@ -44,45 +48,18 @@ LT_PREREQ([2.2.6])
 AC_LANG([C])
 AC_USE_SYSTEM_EXTENSIONS
 
-# Make configure depend on the VERSION file, since it's used in AC_INIT
-AC_SUBST([CONFIGURE_DEPENDENCIES], ['$(top_srcdir)/VERSION'])
-
-# Get the version of hwloc that we are installing
-AC_MSG_CHECKING([for hwloc version])
-HWLOC_VERSION="`$srcdir/config/hwloc_get_version.sh $srcdir/VERSION`"
-if test "$?" != "0"; then
-    AC_MSG_ERROR([Cannot continue])
-fi
-HWLOC_RELEASE_DATE="`$srcdir/config/hwloc_get_version.sh $srcdir/VERSION --release-date`"
-AC_SUBST(HWLOC_VERSION)
-AC_SUBST(HWLOC_RELEASE_DATE)
-AC_MSG_RESULT([$HWLOC_VERSION])
-
-# Override/fixup the version numbers set by AC_INIT, since on
-# developer builds, there's no good way to know what the version is
-# before running configure :(.  We only use the base version number
-# for the version set in AC_INIT.  This will always match reality
-# because we add the VERSION file (the only way to change the
-# major.minor.release{greek}) into the configure dependencies.
+####################################################################
+# Setup the configure-results header file
+####################################################################
 
-PACKAGE_VERSION="$HWLOC_VERSION"
-PACKAGE_STRING="${PACKAGE_NAME} ${PACKAGE_VERSION}"
-VERSION="${PACKAGE_VERSION}"
-
-# For standalone configurations, we also include a .so version number.
-
-. $srcdir/VERSION
-AC_SUBST([libhwloc_so_version])
-
-# Setup the header file
 AH_TOP([/* -*- c -*-
  *
- * Copyright © 2009, 2011, 2012 CNRS, inria., Université Bordeaux 1  All rights reserved.
+ * Copyright © 2009, 2011, 2012 CNRS, inria., Université Bordeaux  All rights reserved.
  * Copyright © 2009 Cisco Systems, Inc.  All rights reserved.
  * $COPYRIGHT$
- * 
+ *
  * Additional copyrights may follow
- * 
+ *
  * $HEADER$
  *
  * This file is automatically generated by configure.  Edits will be lost
@@ -96,7 +73,9 @@ AH_BOTTOM([
 #endif /* HWLOC_CONFIGURE_H */
 ])
 
+####################################################################
 # Setup C compiler
+####################################################################
 
 CFLAGS_save="$CFLAGS"
 AC_PROG_CC
@@ -112,6 +91,10 @@ AS_IF([test -z "$CC_FOR_BUILD"],[
     AC_SUBST([CC_FOR_BUILD], [$CC])
 ])
 
+####################################################################
+# CLI arguments
+####################################################################
+
 # Define hwloc's configure arguments
 HWLOC_DEFINE_ARGS
 
@@ -129,6 +112,10 @@ AS_IF([test "$enable_embedded_mode" != "yes"],
               AC_MSG_ERROR([Cannot build standalone hwloc])],
              [HWLOC_BUILD_STANDALONE])])
 
+####################################################################
+# Setup for the hwloc API
+####################################################################
+
 # Setup the hwloc core
 HWLOC_SETUP_CORE([], [], [AC_MSG_ERROR([Cannot build hwloc core])], [1])
 
@@ -148,6 +135,35 @@ EOF
 # Run the AM_CONDITIONALs
 HWLOC_DO_AM_CONDITIONALS
 
+####################################################################
+# Version information
+####################################################################
+
+# HWLOC_VERSION was setup by HWLOC_SETUP_CORE above.
+
+# Make configure depend on the VERSION file, since it's used in AC_INIT
+AC_SUBST([CONFIGURE_DEPENDENCIES], ['$(top_srcdir)/VERSION'])
+
+# Override/fixup the version numbers set by AC_INIT, since on
+# developer builds, there's no good way to know what the version is
+# before running configure :(.  We only use the base version number
+# for the version set in AC_INIT.  This will always match reality
+# because we add the VERSION file (the only way to change the
+# major.minor.release{greek}) into the configure dependencies.
+
+PACKAGE_VERSION="$HWLOC_VERSION"
+PACKAGE_STRING="${PACKAGE_NAME} ${PACKAGE_VERSION}"
+VERSION="${PACKAGE_VERSION}"
+
+# For standalone configurations, we also include a .so version number.
+
+. $srcdir/VERSION
+AC_SUBST([libhwloc_so_version])
+
+####################################################################
+# Final output
+####################################################################
+
 # Set the final flags
 CFLAGS="$HWLOC_EMBEDDED_CFLAGS $CFLAGS"
 CPPFLAGS="$HWLOC_EMBEDDED_CPPFLAGS $CPPFLAGS"
@@ -160,42 +176,18 @@ AM_DISABLE_STATIC
 AM_PROG_LIBTOOL([dlopen win32-dll])
 LT_LANG([C])
 
-
-
 # Party on
 AC_OUTPUT
 
-# Create a comma-delimited list in an environment variable.
-# $1 = variable name
-# $2 = value to append
-append_env() {
-    # Tricky shell/m4 quoting here -- not for the meek.
-    var=[$]1
-    # Note: quotes *NOT* needed in this assignment
-    eval initial_value=\$$var
-
-    AS_IF([test "$initial_value" != ""], 
-          [new_value="$initial_value, [$]2"],
-          [new_value="[$]2]")
-    eval "[$]1=\"$new_value\""
-}
-
-# Warn about PCI support
-if test x$hwloc_warn_may_use_libpci = xyes; then
-  echo
-  echo "***********************************************************************"
-  if test "x$hwloc_linuxpci_happy" = "xyes"; then
-    echo "Full PCI support could not be enabled because libpciaccess is not available."
-  else
-    echo "PCI support could not be enabled because libpciaccess is not available."
-  fi
-  echo "libpci could be used instead but hwloc may be tainted by the GPL"
-  echo "license of pciutils. Add --enable-libpci to enable it."
-  if test "x$hwloc_linuxpci_happy" = "xyes"; then
-    echo "Only the Linux-specific PCI (linuxpci component) is enabled for now."
-    echo "It misses device names."
-  fi
-  echo "***********************************************************************"
+# Warn if we didn't have pkg-config
+if test "x$PKG_CONFIG" = x; then
+  cat << EOF
+
+************************************************************************
+Could not detect/enable some features such as libxml2 and Cairo support
+because pkg-config isn't available.
+************************************************************************
+EOF
 fi
 
 # Show which optional support we'll be building
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/ci.inria.fr/hwloc-windows-build.sh b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/ci.inria.fr/hwloc-windows-build.sh
index 2b29aff..a07a100 100755
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/ci.inria.fr/hwloc-windows-build.sh
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/ci.inria.fr/hwloc-windows-build.sh
@@ -27,7 +27,7 @@ make
 make install
 #make install-winball || true # not needed anymore in v1.7+
 make check
-utils/lstopo-no-graphics -v
+utils/lstopo/lstopo-no-graphics -v
 cd ..
 zip -r ../${winball}.zip ${winball}
 test -f ${winball}/lib/libhwloc.lib || false
@@ -44,7 +44,7 @@ make
 make install
 #make install-winball || true # not needed anymore in v1.7+
 make check
-utils/lstopo-no-graphics -v
+utils/lstopo/lstopo-no-graphics -v
 cd ..
 zip -r ../${winball}.zip ${winball}
 test -f ${winball}/lib/libhwloc.lib || false
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/dist/make_dist_tarball b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/dist/make_dist_tarball
index 7c6011a..b59798a 100755
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/dist/make_dist_tarball
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/dist/make_dist_tarball
@@ -1,17 +1,17 @@
 #!/bin/sh
 #
-# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
+# Copyright © 2004-2005 The Trustees of Indiana University and Indiana
 #                         University Research and Technology
 #                         Corporation.  All rights reserved.
-# Copyright (c) 2004-2005 The University of Tennessee and The University
+# Copyright © 2004-2005 The University of Tennessee and The University
 #                         of Tennessee Research Foundation.  All rights
 #                         reserved.
-# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, 
+# Copyright © 2004-2005 High Performance Computing Center Stuttgart,
 #                         University of Stuttgart.  All rights reserved.
-# Copyright (c) 2004-2005 The Regents of the University of California.
+# Copyright © 2004-2005 The Regents of the University of California.
 #                         All rights reserved.
 # Copyright © 2008-2013  Cisco Systems, Inc.  All rights reserved.
-# Copyright © 2012-2013 Inria.  All rights reserved.
+# Copyright © 2012-2015 Inria.  All rights reserved.
 # $COPYRIGHT$
 # 
 # Additional copyrights may follow
@@ -27,9 +27,9 @@
 # Version of auto tools that we want
 #
 
-AM_TARGET_VERSION=1.14.1
+AM_TARGET_VERSION=1.15
 AC_TARGET_VERSION=2.69
-LT_TARGET_VERSION=2.4.2
+LT_TARGET_VERSION=2.4.6
 
 #
 # First things first -- check that the auto versions that we have are
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/hg/.hgignore b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/hg/.hgignore
deleted file mode 100644
index 4814329..0000000
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/hg/.hgignore
+++ /dev/null
@@ -1,2 +0,0 @@
-syntax: glob
-.svn
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/hg/build-hgignore.pl b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/hg/build-hgignore.pl
deleted file mode 100755
index 986c14b..0000000
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/hg/build-hgignore.pl
+++ /dev/null
@@ -1,145 +0,0 @@
-#!/usr/bin/env perl
-#
-# Copyright (c) 2008-2010 Cisco Systems, Inc.  All rights reserved.
-#
-# Dumb script to run through all the svn:ignore's in the tree and build
-# build a .hgignore file for Mercurial.  Do a few trivial things to
-# to try to have a few "global" files that don't need to be listed in
-# every directory (i.e., reduce the total length of the .hgignore file).
-
-use strict;
-
-# Sanity check
-die "Not in HG+SVN repository top dir"
-    if (! -d ".hg" && ! -d ".svn");
-
-# Put in some specials that we ignore everywhere
-my @hgignore;
-push(@hgignore, "# Automatically generated by build-hgignore.pl; edits may be lost!
-syntax: glob");
-my @globals = qw/.libs
-.deps
-.svn
-*.la
-*.lo
-*.o
-*.so
-*.a
-.dirstamp
-*.dSYM
-*.S
-*.loT
-*.orig
-*.rej
-.git*
-.DS_Store
-stamp-h[1-9]
-configure
-config.guess
-config.sub
-config.log
-config.status
-libtool
-ltmain.sh
-missing
-depcomp
-install-sh
-aclocal.m4
-autom4te.cache
-Makefile
-static-components.h
-*~
-*\\\#/;
-
-my $debug;
-$debug = 1
-    if ($ARGV[0]);
-
-print "Thinking...\n"
-    if (!$debug);
-
-# Start at the top level
-process(".");
-
-# See if there's an .hgignore_local file.  If so, add its contents to the end.
-if (-f ".hgignore_local") {
-    open(IN, ".hgignore_local") || die "Can't open .hgignore_local";
-    while (<IN>) {
-        chomp;
-        push(@globals, $_);
-    }
-
-    close(IN);
-}
-
-# If there's an old .hgignore, delete it
-unlink(".hgignore")
-    if (-f ".hgignore");
-
-# Write the new one
-open(FILE, ">.hgignore");
-print FILE join("\n", @hgignore) . "\n";
-print FILE join("\n", @globals) . "\n"; 
-close(FILE);
-print "All done!\n";
-exit(0);
-
-#######################################################################
-
-# DFS-oriented recursive directory search
-sub process {
-    my $dir = shift;
-
-    # Look at the svn:ignore property for this directory
-    my $svn_ignore = `svn pg svn:ignore $dir 2> /dev/null`;
-    # If svn failed, bail on this directory.
-    return
-        if ($? != 0);
-
-    chomp($svn_ignore);
-    if ($svn_ignore ne "") {
-        print "Found svn:ignore in $dir\n"
-            if ($debug);
-        foreach my $line (split(/\n/, $svn_ignore)) {
-            chomp($line);
-            $line =~ s/^\.\///;
-            next
-                if ($line eq "");
-
-            # Ensure not to ignore special hg files
-            next
-                if ($line eq ".hgignore" || $line eq ".hgrc" || 
-                    $line eq ".hg");
-            # We're globally ignoring some specials already; we can
-            # skip those
-            my $skip = 0;
-            foreach my $g (@globals) {
-                if ($g eq $line) {
-                    $skip = 1;
-                    last;
-                }
-            }
-            next 
-                if ($skip);
-
-            push(@hgignore, "$dir/$line");
-        }
-    }
-        
-    # Now find subdirectories in this directory
-    my @entries;
-    opendir(DIR, $dir) || die "Cannot open directory \"$dir\" for reading: $!";
-    @entries = readdir(DIR);
-    closedir DIR;
-
-    foreach my $e (@entries) {
-        # Skip special directories and sym links
-        next
-            if ($e eq "." || $e eq ".." || $e eq ".svn" || $e eq ".hg" ||
-                -l "$dir/$e");
-
-        # If it's a directory, analyze it
-        process("$dir/$e")
-            if (-d "$dir/$e");
-    }
-}
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/hg/set-hg-share-perms.csh b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/hg/set-hg-share-perms.csh
deleted file mode 100755
index 102a871..0000000
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/hg/set-hg-share-perms.csh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/csh -f
-
-if (! -d .hg) then
-    echo "Not in top-level HG repository dir"
-    exit 1
-endif
-
-echo Setting group to openmpi...
-chgrp -R openmpi .
-
-echo Setting all files to be group read/writable....
-chmod -R g+rw .
-
-echo Setting group "rwsx" perms on directories...
-find . -type d -exec chmod g=rwsx {} \;
-
-echo done
-exit 0
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/nightly/make_snapshot_tarball b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/nightly/make_snapshot_tarball
index 3adbc71..5351a5b 100755
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/nightly/make_snapshot_tarball
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/nightly/make_snapshot_tarball
@@ -1,14 +1,14 @@
 #!/bin/sh
 #
-# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
+# Copyright © 2004-2005 The Trustees of Indiana University and Indiana
 #                         University Research and Technology
 #                         Corporation.  All rights reserved.
-# Copyright (c) 2004-2005 The University of Tennessee and The University
+# Copyright © 2004-2005 The University of Tennessee and The University
 #                         of Tennessee Research Foundation.  All rights
 #                         reserved.
-# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, 
+# Copyright © 2004-2005 High Performance Computing Center Stuttgart,
 #                         University of Stuttgart.  All rights reserved.
-# Copyright (c) 2004-2005 The Regents of the University of California.
+# Copyright © 2004-2005 The Regents of the University of California.
 #                         All rights reserved.
 # Copyright © 2006-2014 Cisco Systems, Inc.  All rights reserved.
 # $COPYRIGHT$
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/update-my-copyright.pl b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/update-my-copyright.pl
index 4709429..8727832 100755
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/update-my-copyright.pl
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/update-my-copyright.pl
@@ -1,11 +1,11 @@
 #!/usr/bin/env perl
 #
-# Copyright (c) 2010-2013 Cisco Systems, Inc.  All rights reserved.
-# Copyright (c) 2011-2014 Inria.  All rights reserved.
+# Copyright © 2010-2014 Cisco Systems, Inc.  All rights reserved.
+# Copyright © 2011-2014 Inria.  All rights reserved.
 # $COPYRIGHT$
 #
 
-# Short version: 
+# Short version:
 #
 # This script automates the tedious task of updating copyright notices
 # in the tops of hwloc source files before committing back to
@@ -35,8 +35,8 @@
 #
 # NOTE: this script currently doesn't handle multi-line copyright
 # statements, such as:
-# 
-# Copyright (c) 2010 University of Blabbityblah and the Trustees of
+#
+# Copyright © 2010 University of Blabbityblah and the Trustees of
 #                    Schblitbittyboo.  All rights reserved.
 #
 # Someone could certainly extend this script to do so, if they cared
@@ -46,6 +46,21 @@
 
 use strict;
 use Cwd;
+use Getopt::Long;
+
+# Set to true if the script should merely check for up-to-date copyrights.
+# Will exit with status 111 if there are out of date copyrights which this
+# script can correct.
+my $CHECK_ONLY = 0;
+# used by $CHECK_ONLY logic for bookeeping
+my $would_replace = 0;
+
+# Set to true to suppress most informational messages.  Only out of date files
+# will be printed.
+my $QUIET = 0;
+
+# Set to true if we just want to see the help message
+my $HELP = 0;
 
 # Defaults
 my $my_search_name = "Cisco";
@@ -55,25 +70,58 @@ my @tokens;
 push(@tokens, "See COPYING in top-level directory");
 push(@tokens, "\\\$COPYRIGHT\\\$");
 
-my $commit = $ARGV[0];
-
 # Override the defaults if some values are set in the environment
 $my_search_name = $ENV{HWLOC_COPYRIGHT_SEARCH_NAME}
     if (defined($ENV{HWLOC_COPYRIGHT_SEARCH_NAME}));
 $my_formal_name = $ENV{HWLOC_COPYRIGHT_FORMAL_NAME}
     if (defined($ENV{HWLOC_COPYRIGHT_FORMAL_NAME}));
+
 print "==> Copyright search name: $my_search_name\n";
 print "==> Copyright formal name: $my_formal_name\n";
 
+GetOptions(
+    "help" => \$HELP,
+    "quiet" => \$QUIET,
+    "check-only" => \$CHECK_ONLY,
+    "search-name=s" => \$my_search_name,
+    "formal-name=s" => \$my_formal_name,
+) or die "unable to parse options, stopped";
+
+if ($HELP) {
+    print <<EOT;
+$0 [options]
+
+--help | -h          This help message
+--quiet | -q         Only output critical messages to stdout
+--check-only         exit(111) if there are files with copyrights to edit
+--search-name=NAME   Set search name to NAME
+--formal-same=NAME   Set formal name to NAME
+EOT
+    exit(0);
+}
+
+#-------------------------------------------------------------------------------
+# predeclare sub for print-like syntax
+sub quiet_print {
+    unless ($QUIET) {
+        print @_;
+    }
+}
+
+#-------------------------------------------------------------------------------
+
+quiet_print "==> Copyright search name: $my_search_name\n";
+quiet_print "==> Copyright formal name: $my_formal_name\n";
+
 # Get the year
 my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime;
 $year += 1900;
-print "==> This year: $year\n";
+quiet_print "==> This year: $year\n";
 
 # Find the top-level HWLOC source tree dir
 my $start = cwd();
 my $top = $start;
-while (! -f "$top/hwloc.pc.in") {
+while (! -d "$top/src") {
     chdir("..");
     $top = cwd();
     die "Can't find top-level hwloc directory"
@@ -81,47 +129,28 @@ while (! -f "$top/hwloc.pc.in") {
 }
 chdir($start);
 
-print "==> Top-level hwloc dir: $top\n";
-print "==> Current directory: $start\n";
+quiet_print "==> Top-level hwloc dir: $top\n";
+quiet_print "==> Current directory: $start\n";
 
-my $cmd;
-if (-d "$top/.git") {
-    if ($commit) {
-	$cmd = "LANG=C git show --stat --pretty=format: $commit | sed -n -r -e 's/^[ 	]*([^ ].*[^ ])[ 	]*\\|[ 	]*[0-9]+[ 	]*\\+.*/\\1/p'"
-    } else {
-	$cmd = "LANG=C git status . | sed -n -r -e 's/^\#?[ 	]*(modified|new file)[ 	]*:[ 	]+(.+)/\\2/p'"
-    }
-}
-die "Can't find git meta dir"
-    if (!defined($cmd));
-
-# Run the command, parsing the output.  Make a list of files that are
-# added or modified.
-print "==> Running: \"$cmd\"\n";
-open(CMD, "$cmd|") || die "Can't run command";
-my @files;
-while (<CMD>) {
-    chomp;
-    push (@files, $_);
-}
-close(CMD);
+my @files = find_modified_files();
 
 if ($#files < 0) {
-    print "No added / changed files -- nothing to do\n";
+    quiet_print "No added / changed files -- nothing to do\n";
     exit(0);
 }
 
 # Examine each of the files and see if they need an updated copyright
 foreach my $f (@files) {
-    print "Processing added/changed file: $f\n";
+    quiet_print "Processing added/changed file: $f\n";
     open(FILE, $f) || die "Can't open file: $f";
 
-    # Read in the file, and look for the any of the specified tokens;
-    # that's the end of the copyright block that we're allowed to
-    # edit.  Do not edit any copyright notices that may appear below
-    # that.
+    # Read in the file, and look for the special tokens; that's the
+    # end of the copyright block that we're allowed to edit.  Do not
+    # edit any copyright notices that may appear below that.
 
     my $i = 0;
+    my $found_copyright = 0;
+    my $found_me = 0;
     my @lines;
     my $my_line_index;
     my $token_line_index;
@@ -142,8 +171,8 @@ foreach my $f (@files) {
 
     # If there was not copyright token, don't do anything
     if (!defined($token_line_index)) {
-        print "==> WARNING: Did not find any end-of-copyright tokens!\n";
-        print "    File left unchanged\n";
+        quiet_print "==> WARNING: Did not find any end-of-copyright tokens!\n";
+        quiet_print "    File left unchanged\n";
         next;
     }
 
@@ -153,13 +182,13 @@ foreach my $f (@files) {
 
     # Now act on it
     if (!defined($my_line_index)) {
-        print "--- My copyright line not found; adding:\n";
+        quiet_print "--- My copyright line not found; adding:\n";
         my $str = "${prefix}Copyright © $year $my_formal_name\n";
-        print "    $str";
+        quiet_print "    $str";
         $lines[$token_line_index] = $str . $lines[$token_line_index];
     } else {
-        print "--- Found existing copyright line:\n";
-        print "    $lines[$my_line_index]";
+        quiet_print "--- Found existing copyright line:\n";
+        quiet_print "    $lines[$my_line_index]";
         $lines[$my_line_index] =~ m/([\d+\-]+)/;
         my $years = $1;
         die "Could not find years in copyright line!"
@@ -185,10 +214,10 @@ foreach my $f (@files) {
         # Do we need to do anything?
         if ($year > $last_year) {
             $lines[$my_line_index] = "${prefix}Copyright © $first_year-$year $my_formal_name\n";
-            print "    Updated to:\n";
-            print "    $lines[$my_line_index]";
+            quiet_print "    Updated to:\n";
+            quiet_print "    $lines[$my_line_index]";
         } else {
-            print "    This year already included in copyright; not changing file\n";
+            quiet_print "    This year already included in copyright; not changing file\n";
             next;
         }
     }
@@ -197,10 +226,88 @@ foreach my $f (@files) {
     my $newf = "$f.new-copyright";
     unlink($newf);
     open(FILE, ">$newf") || die "Can't open file: $newf";
-    print FILE join("", @lines);
+    print FILE join('', @lines);
     close(FILE);
 
-    # Now replace the old one
-    unlink($f);
-    rename($newf, $f);
+    if ($CHECK_ONLY) {
+        # intentional "loud" print to be more useful in a pre-commit hook
+        print "==> '$f' has a stale/missing copyright\n";
+        unlink($newf);
+        ++$would_replace;
+    }
+    else {
+        # Now replace the old one
+        unlink($f);
+        rename($newf, $f);
+    }
+}
+
+if ($CHECK_ONLY and $would_replace) {
+    exit(111);
+}
+
+#-------------------------------------------------------------------------------
+
+# Returns a list of file names (relative to pwd) which git considers
+# to be modified.
+sub find_modified_files {
+    my @files = ();
+
+    # Number of path entries to remove from ${top}-relative paths.
+    # (--show-cdup either returns the empty string or sequence of "../"
+    # entries, always ending in a "/")
+    my $n_strip = scalar(split(m!/!, scalar(`git rev-parse --show-cdup`))) - 1;
+
+    # "." restricts scope, but does not get us relative path names
+    my $cmd = "git status -z --porcelain --untracked-files=no .";
+    quiet_print "==> Running: \"$cmd\"\n";
+    my $lines = `$cmd`;
+
+    # From git-status(1):
+    # X          Y     Meaning
+    # -------------------------------------------------
+    #           [MD]   not updated
+    # M        [ MD]   updated in index
+    # A        [ MD]   added to index
+    # D         [ M]   deleted from index
+    # R        [ MD]   renamed in index
+    # C        [ MD]   copied in index
+    # [MARC]           index and work tree matches
+    # [ MARC]     M    work tree changed since index
+    # [ MARC]     D    deleted in work tree
+    # -------------------------------------------------
+    # D           D    unmerged, both deleted
+    # A           U    unmerged, added by us
+    # U           D    unmerged, deleted by them
+    # U           A    unmerged, added by them
+    # D           U    unmerged, deleted by us
+    # A           A    unmerged, both added
+    # U           U    unmerged, both modified
+    # -------------------------------------------------
+    # ?           ?    untracked
+    # -------------------------------------------------
+    foreach my $line (split /\x{00}/, $lines) {
+        my $keep = 0;
+        my ($s1, $s2, $fullname) = $line =~ m/^(.)(.) (.*)$/;
+
+        # ignore all merge cases
+        next if ($s1 eq "D" and $s2 eq "D");
+        next if ($s1 eq "A" and $s2 eq "A");
+        next if ($s1 eq "U" or $s2 eq "U");
+
+        # only update for actually added/modified cases, no copies,
+        # renames, etc.
+        $keep = 1 if ($s1 eq "M" or $s2 eq "M");
+        $keep = 1 if ($s1 eq "A");
+
+        if ($keep) {
+            my $relname = $fullname;
+            $relname =~ s!^([^/]*/){$n_strip}!!g;
+
+            push @files, $relname
+                if (-f $relname);
+        }
+    }
+
+    return @files;
 }
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-annotate.vcxproj b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-annotate.vcxproj
index ac2f3fd..cd89930 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-annotate.vcxproj
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-annotate.vcxproj
@@ -43,7 +43,7 @@
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\include;..\..\utils</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc</AdditionalIncludeDirectories>
     </ClCompile>
     <Link>
       <ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
@@ -64,7 +64,7 @@
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\hwloc-annotate.c" />
+    <ClCompile Include="..\..\utils\hwloc\hwloc-annotate.c" />
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\include\hwloc\autogen\config.h" />
@@ -82,7 +82,7 @@
     <ClInclude Include="..\..\include\private\misc.h" />
     <ClInclude Include="..\..\include\private\private.h" />
     <ClInclude Include="..\..\include\private\xml.h" />
-    <ClInclude Include="..\..\utils\misc.h" />
+    <ClInclude Include="..\..\utils\hwloc\misc.h" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-annotate.vcxproj.filters b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-annotate.vcxproj.filters
index cad9fee..f950ed4 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-annotate.vcxproj.filters
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-annotate.vcxproj.filters
@@ -15,7 +15,7 @@
     </Filter>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\hwloc-annotate.c">
+    <ClCompile Include="..\..\utils\hwloc\hwloc-annotate.c">
       <Filter>Source Files</Filter>
     </ClCompile>
   </ItemGroup>
@@ -65,7 +65,7 @@
     <ClInclude Include="..\..\include\hwloc\autogen\config.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\utils\hwloc-calc.h">
+    <ClInclude Include="..\..\utils\hwloc\hwloc-calc.h">
       <Filter>Header Files</Filter>
     </ClInclude>
   </ItemGroup>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-assembler.vcxproj b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-assembler.vcxproj
index 91eda43..88e25bd 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-assembler.vcxproj
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-assembler.vcxproj
@@ -43,7 +43,7 @@
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\include;..\..\utils</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc</AdditionalIncludeDirectories>
     </ClCompile>
     <Link>
       <ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
@@ -64,7 +64,7 @@
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\hwloc-assembler.c" />
+    <ClCompile Include="..\..\utils\hwloc\hwloc-assembler.c" />
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\include\hwloc\autogen\config.h" />
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-assembler.vcxproj.filters b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-assembler.vcxproj.filters
index 697ae29..2a1cb71 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-assembler.vcxproj.filters
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-assembler.vcxproj.filters
@@ -15,7 +15,7 @@
     </Filter>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\hwloc-assembler.c">
+    <ClCompile Include="..\..\utils\hwloc\hwloc-assembler.c">
       <Filter>Source Files</Filter>
     </ClCompile>
   </ItemGroup>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-bind.vcxproj b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-bind.vcxproj
index 4a2b64d..1416ab9 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-bind.vcxproj
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-bind.vcxproj
@@ -43,7 +43,7 @@
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\include;..\..\utils</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc</AdditionalIncludeDirectories>
     </ClCompile>
     <Link>
       <ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
@@ -64,7 +64,7 @@
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\hwloc-bind.c" />
+    <ClCompile Include="..\..\utils\hwloc\hwloc-bind.c" />
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\include\hwloc\autogen\config.h" />
@@ -82,8 +82,8 @@
     <ClInclude Include="..\..\include\private\misc.h" />
     <ClInclude Include="..\..\include\private\private.h" />
     <ClInclude Include="..\..\include\private\xml.h" />
-    <ClInclude Include="..\..\utils\misc.h" />
-    <ClInclude Include="..\..\utils\hwloc-calc.h" />
+    <ClInclude Include="..\..\utils\hwloc\misc.h" />
+    <ClInclude Include="..\..\utils\hwloc\hwloc-calc.h" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-bind.vcxproj.filters b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-bind.vcxproj.filters
index 5e739fb..e32415f 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-bind.vcxproj.filters
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-bind.vcxproj.filters
@@ -15,7 +15,7 @@
     </Filter>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\hwloc-bind.c">
+    <ClCompile Include="..\..\utils\hwloc\hwloc-bind.c">
       <Filter>Source Files</Filter>
     </ClCompile>
   </ItemGroup>
@@ -65,10 +65,10 @@
     <ClInclude Include="..\..\include\hwloc\autogen\config.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\utils\misc.h">
+    <ClInclude Include="..\..\utils\hwloc\misc.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\utils\hwloc-calc.h">
+    <ClInclude Include="..\..\utils\hwloc\hwloc-calc.h">
       <Filter>Header Files</Filter>
     </ClInclude>
   </ItemGroup>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-calc.vcxproj b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-calc.vcxproj
index 3028a54..df32755 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-calc.vcxproj
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-calc.vcxproj
@@ -43,7 +43,7 @@
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\include;..\..\utils</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc</AdditionalIncludeDirectories>
     </ClCompile>
     <Link>
       <ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
@@ -64,7 +64,7 @@
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\hwloc-calc.c" />
+    <ClCompile Include="..\..\utils\hwloc\hwloc-calc.c" />
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\include\hwloc\autogen\config.h" />
@@ -82,8 +82,8 @@
     <ClInclude Include="..\..\include\private\misc.h" />
     <ClInclude Include="..\..\include\private\private.h" />
     <ClInclude Include="..\..\include\private\xml.h" />
-    <ClInclude Include="..\..\utils\misc.h" />
-    <ClInclude Include="..\..\utils\hwloc-calc.h" />
+    <ClInclude Include="..\..\utils\hwloc\misc.h" />
+    <ClInclude Include="..\..\utils\hwloc\hwloc-calc.h" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-calc.vcxproj.filters b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-calc.vcxproj.filters
index 99fe6bc..71e798b 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-calc.vcxproj.filters
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-calc.vcxproj.filters
@@ -15,7 +15,7 @@
     </Filter>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\hwloc-calc.c">
+    <ClCompile Include="..\..\utils\hwloc\hwloc-calc.c">
       <Filter>Source Files</Filter>
     </ClCompile>
   </ItemGroup>
@@ -65,10 +65,10 @@
     <ClInclude Include="..\..\include\hwloc\autogen\config.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\utils\misc.h">
+    <ClInclude Include="..\..\utils\hwloc\misc.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\utils\hwloc-calc.h">
+    <ClInclude Include="..\..\utils\hwloc\hwloc-calc.h">
       <Filter>Header Files</Filter>
     </ClInclude>
   </ItemGroup>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-diff.vcxproj b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-diff.vcxproj
index 5f2bf1d..f55a3d2 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-diff.vcxproj
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-diff.vcxproj
@@ -43,7 +43,7 @@
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\include;..\..\utils</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc</AdditionalIncludeDirectories>
     </ClCompile>
     <Link>
       <ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
@@ -64,7 +64,7 @@
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\hwloc-diff.c" />
+    <ClCompile Include="..\..\utils\hwloc\hwloc-diff.c" />
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\include\hwloc\autogen\config.h" />
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-diff.vcxproj.filters b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-diff.vcxproj.filters
index e4d8e34..336e844 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-diff.vcxproj.filters
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-diff.vcxproj.filters
@@ -15,7 +15,7 @@
     </Filter>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\hwloc-diff.c">
+    <ClCompile Include="..\..\utils\hwloc\hwloc-diff.c">
       <Filter>Source Files</Filter>
     </ClCompile>
   </ItemGroup>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-distances.vcxproj b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-distances.vcxproj
index 63b762d..998cff5 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-distances.vcxproj
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-distances.vcxproj
@@ -43,7 +43,7 @@
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\include;..\..\utils</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc</AdditionalIncludeDirectories>
     </ClCompile>
     <Link>
       <ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
@@ -64,7 +64,7 @@
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\hwloc-distances.c" />
+    <ClCompile Include="..\..\utils\hwloc\hwloc-distances.c" />
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\include\hwloc\autogen\config.h" />
@@ -82,7 +82,7 @@
     <ClInclude Include="..\..\include\private\misc.h" />
     <ClInclude Include="..\..\include\private\private.h" />
     <ClInclude Include="..\..\include\private\xml.h" />
-    <ClInclude Include="..\..\utils\misc.h" />
+    <ClInclude Include="..\..\utils\hwloc\misc.h" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-distances.vcxproj.filters b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-distances.vcxproj.filters
index 5e141c2..41de164 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-distances.vcxproj.filters
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-distances.vcxproj.filters
@@ -15,7 +15,7 @@
     </Filter>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\hwloc-distances.c">
+    <ClCompile Include="..\..\utils\hwloc\hwloc-distances.c">
       <Filter>Source Files</Filter>
     </ClCompile>
   </ItemGroup>
@@ -65,7 +65,7 @@
     <ClInclude Include="..\..\include\hwloc\autogen\config.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\utils\misc.h">
+    <ClInclude Include="..\..\utils\hwloc\misc.h">
       <Filter>Header Files</Filter>
     </ClInclude>
   </ItemGroup>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-distrib.vcxproj b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-distrib.vcxproj
index a101786..b7fcf74 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-distrib.vcxproj
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-distrib.vcxproj
@@ -43,7 +43,7 @@
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\include;..\..\utils</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc</AdditionalIncludeDirectories>
     </ClCompile>
     <Link>
       <ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
@@ -64,7 +64,7 @@
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\hwloc-distrib.c" />
+    <ClCompile Include="..\..\utils\hwloc\hwloc-distrib.c" />
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\include\hwloc\autogen\config.h" />
@@ -82,7 +82,7 @@
     <ClInclude Include="..\..\include\private\misc.h" />
     <ClInclude Include="..\..\include\private\private.h" />
     <ClInclude Include="..\..\include\private\xml.h" />
-    <ClInclude Include="..\..\utils\misc.h" />
+    <ClInclude Include="..\..\utils\hwloc\misc.h" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-distrib.vcxproj.filters b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-distrib.vcxproj.filters
index 86c197b..9ee60a4 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-distrib.vcxproj.filters
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-distrib.vcxproj.filters
@@ -15,7 +15,7 @@
     </Filter>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\hwloc-distrib.c">
+    <ClCompile Include="..\..\utils\hwloc\hwloc-distrib.c">
       <Filter>Source Files</Filter>
     </ClCompile>
   </ItemGroup>
@@ -65,7 +65,7 @@
     <ClInclude Include="..\..\include\hwloc\autogen\config.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\utils\misc.h">
+    <ClInclude Include="..\..\utils\hwloc\misc.h">
       <Filter>Header Files</Filter>
     </ClInclude>
   </ItemGroup>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-info.vcxproj b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-info.vcxproj
index 955c0f2..5adba72 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-info.vcxproj
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-info.vcxproj
@@ -43,7 +43,7 @@
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\include;..\..\utils</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc</AdditionalIncludeDirectories>
     </ClCompile>
     <Link>
       <ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
@@ -64,7 +64,7 @@
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\hwloc-info.c" />
+    <ClCompile Include="..\..\utils\hwloc\hwloc-info.c" />
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\include\hwloc\autogen\config.h" />
@@ -82,8 +82,8 @@
     <ClInclude Include="..\..\include\private\misc.h" />
     <ClInclude Include="..\..\include\private\private.h" />
     <ClInclude Include="..\..\include\private\xml.h" />
-    <ClInclude Include="..\..\utils\misc.h" />
-    <ClInclude Include="..\..\utils\hwloc-calc.h" />
+    <ClInclude Include="..\..\utils\hwloc\misc.h" />
+    <ClInclude Include="..\..\utils\hwloc\hwloc-calc.h" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-info.vcxproj.filters b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-info.vcxproj.filters
index e79161a..143148b 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-info.vcxproj.filters
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-info.vcxproj.filters
@@ -15,7 +15,7 @@
     </Filter>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\hwloc-info.c">
+    <ClCompile Include="..\..\utils\hwloc\hwloc-info.c">
       <Filter>Source Files</Filter>
     </ClCompile>
   </ItemGroup>
@@ -65,10 +65,10 @@
     <ClInclude Include="..\..\include\hwloc\autogen\config.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\utils\misc.h">
+    <ClInclude Include="..\..\utils\hwloc\misc.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\utils\hwloc-calc.h">
+    <ClInclude Include="..\..\utils\hwloc\hwloc-calc.h">
       <Filter>Header Files</Filter>
     </ClInclude>
   </ItemGroup>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-patch.vcxproj b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-patch.vcxproj
index 813ebfe..645190a 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-patch.vcxproj
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-patch.vcxproj
@@ -43,7 +43,7 @@
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\include;..\..\utils</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc</AdditionalIncludeDirectories>
     </ClCompile>
     <Link>
       <ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
@@ -64,7 +64,7 @@
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\hwloc-patch.c" />
+    <ClCompile Include="..\..\utils\hwloc\hwloc-patch.c" />
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\include\hwloc\autogen\config.h" />
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-patch.vcxproj.filters b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-patch.vcxproj.filters
index 637529a..0c1ed29 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-patch.vcxproj.filters
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc-patch.vcxproj.filters
@@ -15,7 +15,7 @@
     </Filter>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\hwloc-patch.c">
+    <ClCompile Include="..\..\utils\hwloc\hwloc-patch.c">
       <Filter>Source Files</Filter>
     </ClCompile>
   </ItemGroup>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc_config.h b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc_config.h
index 5c8cea6..4923716 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc_config.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/hwloc_config.h
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2012 Université Bordeaux 1
+ * Copyright © 2009-2012 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -19,6 +19,7 @@
 #define __hwloc_attribute_const
 #define __hwloc_attribute_pure
 #define __hwloc_attribute_deprecated
+#define __hwloc_attribute_may_alias
 
 /* Defined to 1 if you have the `windows.h' header. */
 #define HWLOC_HAVE_WINDOWS_H 1
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo-no-graphics.vcxproj b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo-no-graphics.vcxproj
index 7fe3abb..942a743 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo-no-graphics.vcxproj
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo-no-graphics.vcxproj
@@ -43,7 +43,7 @@
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\include;..\..\utils</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc;..\..\utils\lstopo</AdditionalIncludeDirectories>
     </ClCompile>
     <Link>
       <ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
@@ -64,12 +64,12 @@
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\lstopo.c" />
-    <ClCompile Include="..\..\utils\lstopo-color.c" />
-    <ClCompile Include="..\..\utils\lstopo-draw.c" />
-    <ClCompile Include="..\..\utils\lstopo-fig.c" />
-    <ClCompile Include="..\..\utils\lstopo-text.c" />
-    <ClCompile Include="..\..\utils\lstopo-xml.c" />
+    <ClCompile Include="..\..\utils\lstopo\lstopo.c" />
+    <ClCompile Include="..\..\utils\lstopo\lstopo-color.c" />
+    <ClCompile Include="..\..\utils\lstopo\lstopo-draw.c" />
+    <ClCompile Include="..\..\utils\lstopo\lstopo-fig.c" />
+    <ClCompile Include="..\..\utils\lstopo\lstopo-text.c" />
+    <ClCompile Include="..\..\utils\lstopo\lstopo-xml.c" />
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\include\hwloc\autogen\config.h" />
@@ -87,8 +87,8 @@
     <ClInclude Include="..\..\include\private\misc.h" />
     <ClInclude Include="..\..\include\private\private.h" />
     <ClInclude Include="..\..\include\private\xml.h" />
-    <ClInclude Include="..\..\utils\misc.h" />
-    <ClInclude Include="..\..\utils\lstopo.h" />
+    <ClInclude Include="..\..\utils\hwloc\misc.h" />
+    <ClInclude Include="..\..\utils\lstopo\lstopo.h" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo-no-graphics.vcxproj.filters b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo-no-graphics.vcxproj.filters
index 6a93601..c3625c5 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo-no-graphics.vcxproj.filters
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo-no-graphics.vcxproj.filters
@@ -15,22 +15,22 @@
     </Filter>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\lstopo.c">
+    <ClCompile Include="..\..\utils\lstopo\lstopo.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\utils\lstopo-color.c">
+    <ClCompile Include="..\..\utils\lstopo\lstopo-color.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\utils\lstopo-draw.c">
+    <ClCompile Include="..\..\utils\lstopo\lstopo-draw.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\utils\lstopo-fig.c">
+    <ClCompile Include="..\..\utils\lstopo\lstopo-fig.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\utils\lstopo-text.c">
+    <ClCompile Include="..\..\utils\lstopo\lstopo-text.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\utils\lstopo-xml.c">
+    <ClCompile Include="..\..\utils\lstopo\lstopo-xml.c">
       <Filter>Source Files</Filter>
     </ClCompile>
   </ItemGroup>
@@ -80,10 +80,10 @@
     <ClInclude Include="..\..\include\hwloc\autogen\config.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\utils\misc.h">
+    <ClInclude Include="..\..\utils\hwloc\misc.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\utils\lstopo.h">
+    <ClInclude Include="..\..\utils\lstopo\lstopo.h">
       <Filter>Header Files</Filter>
     </ClInclude>
   </ItemGroup>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo-win.vcxproj b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo-win.vcxproj
index 241e047..4c0ca4f 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo-win.vcxproj
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo-win.vcxproj
@@ -43,7 +43,7 @@
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>LSTOPO_HAVE_GRAPHICS=1;PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\include;..\..\utils</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc;..\..\utils\lstopo</AdditionalIncludeDirectories>
     </ClCompile>
     <Link>
       <ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
@@ -65,13 +65,13 @@
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\lstopo.c" />
-    <ClCompile Include="..\..\utils\lstopo-color.c" />
-    <ClCompile Include="..\..\utils\lstopo-draw.c" />
-    <ClCompile Include="..\..\utils\lstopo-fig.c" />
-    <ClCompile Include="..\..\utils\lstopo-text.c" />
-    <ClCompile Include="..\..\utils\lstopo-xml.c" />
-    <ClCompile Include="..\..\utils\lstopo-windows.c" />
+    <ClCompile Include="..\..\utils\lstopo\lstopo.c" />
+    <ClCompile Include="..\..\utils\lstopo\lstopo-color.c" />
+    <ClCompile Include="..\..\utils\lstopo\lstopo-draw.c" />
+    <ClCompile Include="..\..\utils\lstopo\lstopo-fig.c" />
+    <ClCompile Include="..\..\utils\lstopo\lstopo-text.c" />
+    <ClCompile Include="..\..\utils\lstopo\lstopo-xml.c" />
+    <ClCompile Include="..\..\utils\lstopo\lstopo-windows.c" />
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\include\hwloc\autogen\config.h" />
@@ -89,8 +89,8 @@
     <ClInclude Include="..\..\include\private\misc.h" />
     <ClInclude Include="..\..\include\private\private.h" />
     <ClInclude Include="..\..\include\private\xml.h" />
-    <ClInclude Include="..\..\utils\misc.h" />
-    <ClInclude Include="..\..\utils\lstopo.h" />
+    <ClInclude Include="..\..\utils\hwloc\misc.h" />
+    <ClInclude Include="..\..\utils\lstopo\lstopo.h" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo-win.vcxproj.filters b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo-win.vcxproj.filters
index 525684b..d7aeda7 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo-win.vcxproj.filters
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo-win.vcxproj.filters
@@ -15,25 +15,25 @@
     </Filter>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\lstopo.c">
+    <ClCompile Include="..\..\utils\lstopo\lstopo.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\utils\lstopo-color.c">
+    <ClCompile Include="..\..\utils\lstopo\lstopo-color.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\utils\lstopo-draw.c">
+    <ClCompile Include="..\..\utils\lstopo\lstopo-draw.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\utils\lstopo-fig.c">
+    <ClCompile Include="..\..\utils\lstopo\lstopo-fig.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\utils\lstopo-text.c">
+    <ClCompile Include="..\..\utils\lstopo\lstopo-text.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\utils\lstopo-xml.c">
+    <ClCompile Include="..\..\utils\lstopo\lstopo-xml.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\utils\lstopo-windows.c">
+    <ClCompile Include="..\..\utils\lstopo\lstopo-windows.c">
       <Filter>Source Files</Filter>
     </ClCompile>
   </ItemGroup>
@@ -83,10 +83,10 @@
     <ClInclude Include="..\..\include\hwloc\autogen\config.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\utils\misc.h">
+    <ClInclude Include="..\..\utils\hwloc\misc.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\utils\lstopo.h">
+    <ClInclude Include="..\..\utils\lstopo\lstopo.h">
       <Filter>Header Files</Filter>
     </ClInclude>
   </ItemGroup>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo.vcxproj b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo.vcxproj
index cde3495..fd5ee50 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo.vcxproj
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo.vcxproj
@@ -43,7 +43,7 @@
       <RuntimeTypeInfo>true</RuntimeTypeInfo>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>LSTOPO_HAVE_GRAPHICS=1;PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\..\include;..\..\utils</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc;..\..\utils\lstopo</AdditionalIncludeDirectories>
     </ClCompile>
     <Link>
       <ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
@@ -64,13 +64,13 @@
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\lstopo.c" />
-    <ClCompile Include="..\..\utils\lstopo-color.c" />
-    <ClCompile Include="..\..\utils\lstopo-draw.c" />
-    <ClCompile Include="..\..\utils\lstopo-fig.c" />
-    <ClCompile Include="..\..\utils\lstopo-text.c" />
-    <ClCompile Include="..\..\utils\lstopo-xml.c" />
-    <ClCompile Include="..\..\utils\lstopo-windows.c" />
+    <ClCompile Include="..\..\utils\lstopo\lstopo.c" />
+    <ClCompile Include="..\..\utils\lstopo\lstopo-color.c" />
+    <ClCompile Include="..\..\utils\lstopo\lstopo-draw.c" />
+    <ClCompile Include="..\..\utils\lstopo\lstopo-fig.c" />
+    <ClCompile Include="..\..\utils\lstopo\lstopo-text.c" />
+    <ClCompile Include="..\..\utils\lstopo\lstopo-xml.c" />
+    <ClCompile Include="..\..\utils\lstopo\lstopo-windows.c" />
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\include\hwloc\autogen\config.h" />
@@ -88,8 +88,8 @@
     <ClInclude Include="..\..\include\private\misc.h" />
     <ClInclude Include="..\..\include\private\private.h" />
     <ClInclude Include="..\..\include\private\xml.h" />
-    <ClInclude Include="..\..\utils\misc.h" />
-    <ClInclude Include="..\..\utils\lstopo.h" />
+    <ClInclude Include="..\..\utils\hwloc\misc.h" />
+    <ClInclude Include="..\..\utils\lstopo\lstopo.h" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo.vcxproj.filters b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo.vcxproj.filters
index 525684b..d7aeda7 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo.vcxproj.filters
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/lstopo.vcxproj.filters
@@ -15,25 +15,25 @@
     </Filter>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\utils\lstopo.c">
+    <ClCompile Include="..\..\utils\lstopo\lstopo.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\utils\lstopo-color.c">
+    <ClCompile Include="..\..\utils\lstopo\lstopo-color.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\utils\lstopo-draw.c">
+    <ClCompile Include="..\..\utils\lstopo\lstopo-draw.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\utils\lstopo-fig.c">
+    <ClCompile Include="..\..\utils\lstopo\lstopo-fig.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\utils\lstopo-text.c">
+    <ClCompile Include="..\..\utils\lstopo\lstopo-text.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\utils\lstopo-xml.c">
+    <ClCompile Include="..\..\utils\lstopo\lstopo-xml.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\utils\lstopo-windows.c">
+    <ClCompile Include="..\..\utils\lstopo\lstopo-windows.c">
       <Filter>Source Files</Filter>
     </ClCompile>
   </ItemGroup>
@@ -83,10 +83,10 @@
     <ClInclude Include="..\..\include\hwloc\autogen\config.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\utils\misc.h">
+    <ClInclude Include="..\..\utils\hwloc\misc.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\utils\lstopo.h">
+    <ClInclude Include="..\..\utils\lstopo\lstopo.h">
       <Filter>Header Files</Filter>
     </ClInclude>
   </ItemGroup>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/private_config.h b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/private_config.h
index 4ba1760..b2b426d 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/private_config.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/contrib/windows/private_config.h
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009, 2011, 2012 CNRS.  All rights reserved.
  * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009, 2011, 2012 Université Bordeaux 1.  All rights reserved.
+ * Copyright © 2009, 2011, 2012 Université Bordeaux.  All rights reserved.
  * Copyright © 2009 Cisco Systems, Inc.  All rights reserved.
  * $COPYRIGHT$
  *
@@ -67,10 +67,6 @@
    `nvmlDeviceGetMaxPcieLinkGeneration', and to 0 if you don't. */
 /* #undef HAVE_DECL_NVMLDEVICEGETMAXPCIELINKGENERATION */
 
-/* Define to 1 if you have the declaration of `PCI_LOOKUP_NO_NUMBERS', and to
-   0 if you don't. */
-/* #undef HAVE_DECL_PCI_LOOKUP_NO_NUMBERS */
-
 /* Define to 1 if you have the declaration of `pthread_getaffinity_np', and to
    0 if you don't. */
 #define HAVE_DECL_PTHREAD_GETAFFINITY_NP 0
@@ -169,9 +165,6 @@
 /* Define to 1 if we have -llgrp */
 /* #undef HAVE_LIBLGRP */
 
-/* Define to 1 if you have the `pci' library (-lpci). */
-/* #undef HAVE_LIBPCI */
-
 /* Define to 1 if you have the <locale.h> header file. */
 #define HAVE_LOCALE_H 1
 
@@ -217,9 +210,6 @@
 /* Define to 1 if you have the `openat' function. */
 /* #undef HAVE_OPENAT */
 
-/* Define to 1 if you have the <pci/pci.h> header file. */
-/* #undef HAVE_PCI_PCI_H */
-
 /* Define to 1 if you have the <picl.h> header file. */
 /* #undef HAVE_PICL_H */
 
@@ -474,9 +464,6 @@
 /* Define to 1 if you have the GL module components. */
 /* #undef HWLOC_HAVE_GL */
 
-/* Define to 1 if you have the `libpciaccess' library. */
-/* #undef HWLOC_HAVE_LIBPCIACCESS */
-
 /* Define to 1 if you have a library providing the termcap interface */
 /* #undef HWLOC_HAVE_LIBTERMCAP */
 
@@ -502,18 +489,6 @@
 /* Define to 1 if you have the `OpenCL' library. */
 /* #undef HWLOC_HAVE_OPENCL */
 
-/* Define to 1 if `libpci' struct pci_dev has a `device_class' field. */
-/* #undef HWLOC_HAVE_PCIDEV_DEVICE_CLASS */
-
-/* Define to 1 if `libpci' struct pci_dev has a `domain' field. */
-/* #undef HWLOC_HAVE_PCIDEV_DOMAIN */
-
-/* Define to 1 if you have the pciutils `libpci' library. */
-/* #undef HWLOC_HAVE_PCIUTILS */
-
-/* Define to 1 if `libpci' has the `pci_find_cap' function. */
-/* #undef HWLOC_HAVE_PCI_FIND_CAP */
-
 /* Define to 1 if the hwloc library should support dynamically-loaded plugins
    */
 /* #undef HWLOC_HAVE_PLUGINS */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/Makefile.am b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/Makefile.am
index 0b01e23..23add90 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/Makefile.am
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/Makefile.am
@@ -1,5 +1,5 @@
 # Copyright © 2009-2014 Inria.  All rights reserved.
-# Copyright © 2009-2013 Université Bordeaux 1
+# Copyright © 2009-2013 Université Bordeaux
 # Copyright © 2009-2010 Cisco Systems, Inc.  All rights reserved.
 # See COPYING in top-level directory.
 
@@ -253,11 +253,11 @@ man3_object_types_DATA = \
         $(DOX_MAN_DIR)/man3/HWLOC_OBJ_GROUP.3 \
         $(DOX_MAN_DIR)/man3/HWLOC_OBJ_MACHINE.3 \
         $(DOX_MAN_DIR)/man3/HWLOC_OBJ_MISC.3 \
-        $(DOX_MAN_DIR)/man3/HWLOC_OBJ_NODE.3 \
+        $(DOX_MAN_DIR)/man3/HWLOC_OBJ_NUMANODE.3 \
         $(DOX_MAN_DIR)/man3/HWLOC_OBJ_OS_DEVICE.3 \
         $(DOX_MAN_DIR)/man3/HWLOC_OBJ_PU.3 \
         $(DOX_MAN_DIR)/man3/HWLOC_OBJ_PCI_DEVICE.3 \
-        $(DOX_MAN_DIR)/man3/HWLOC_OBJ_SOCKET.3 \
+        $(DOX_MAN_DIR)/man3/HWLOC_OBJ_PACKAGE.3 \
         $(DOX_MAN_DIR)/man3/HWLOC_OBJ_SYSTEM.3 \
         $(DOX_MAN_DIR)/man3/HWLOC_OBJ_TYPE_MAX.3 \
         $(DOX_MAN_DIR)/man3/hwloc_obj_type_t.3 \
@@ -305,6 +305,7 @@ man3_creation_DATA = \
         $(DOX_MAN_DIR)/man3/hwloc_topology_init.3 \
         $(DOX_MAN_DIR)/man3/hwloc_topology_load.3 \
         $(DOX_MAN_DIR)/man3/hwloc_topology_destroy.3 \
+        $(DOX_MAN_DIR)/man3/hwloc_topology_dup.3 \
         $(DOX_MAN_DIR)/man3/hwloc_topology_check.3
 
 man3_configurationdir = $(man3dir)
@@ -334,7 +335,8 @@ man3_configuration_DATA = \
         $(DOX_MAN_DIR)/man3/hwloc_topology_cpubind_support.3 \
         $(DOX_MAN_DIR)/man3/hwloc_topology_membind_support.3 \
         $(DOX_MAN_DIR)/man3/hwloc_topology_support.3 \
-        $(DOX_MAN_DIR)/man3/hwloc_topology_get_support.3
+        $(DOX_MAN_DIR)/man3/hwloc_topology_set_userdata.3 \
+        $(DOX_MAN_DIR)/man3/hwloc_topology_get_userdata.3
 
 man3_levelsdir = $(man3dir)
 man3_levels_DATA = \
@@ -431,8 +433,7 @@ man3_tinker_DATA = \
         $(DOX_MAN_DIR)/man3/HWLOC_RESTRICT_FLAG_ADAPT_IO.3 \
         $(DOX_MAN_DIR)/man3/HWLOC_RESTRICT_FLAG_ADAPT_MISC.3 \
         $(DOX_MAN_DIR)/man3/hwloc_restrict_flags_e.3 \
-        $(DOX_MAN_DIR)/man3/hwloc_topology_restrict.3 \
-        $(DOX_MAN_DIR)/man3/hwloc_topology_dup.3
+        $(DOX_MAN_DIR)/man3/hwloc_topology_restrict.3
 
 man3_customdir = $(man3dir)
 man3_custom_DATA = \
@@ -451,6 +452,11 @@ man3_xmlexport_DATA = \
         $(DOX_MAN_DIR)/man3/hwloc_export_obj_userdata_base64.3 \
         $(DOX_MAN_DIR)/man3/hwloc_topology_set_userdata_import_callback.3
 
+man3_syntheticexportdir = $(man3dir)
+man3_syntheticexport_DATA = \
+        $(DOX_MAN_DIR)/man3/hwlocality_syntheticexport.3 \
+        $(DOX_MAN_DIR)/man3/hwloc_topology_export_synthetic.3
+
 man3_bitmapdir = $(man3dir)
 man3_bitmap_DATA = \
         $(DOX_MAN_DIR)/man3/hwlocality_bitmap.3 \
@@ -714,6 +720,7 @@ $(man3_membinding_DATA): $(DOX_TAG)
 $(man3_tinker_DATA): $(DOX_TAG)
 $(man3_custom_DATA): $(DOX_TAG)
 $(man3_xmlexport_DATA): $(DOX_TAG)
+$(man3_syntheticexport_DATA): $(DOX_TAG)
 $(man3_bitmap_DATA): $(DOX_TAG)
 $(man3_helper_find_inside_DATA): $(DOX_TAG)
 $(man3_helper_find_covering_DATA): $(DOX_TAG)
@@ -748,30 +755,6 @@ endif HWLOC_BUILD_DOXYGEN
 
 
 #
-# Make sure that the documentation example works
-#
-
-TESTS = hwloc-hello
-if HWLOC_HAVE_CXX
-TESTS += hwloc-hello-cpp
-endif HWLOC_HAVE_CXX
-
-check_PROGRAMS = $(TESTS)
-
-hwloc-hello-cpp.cpp: $(srcdir)/hwloc-hello.c
-	cp -f $(srcdir)/hwloc-hello.c $@
-
-clean-local:
-	rm -f hwloc-hello-cpp.cpp
-
-hwloc_hello_LDADD = $(HWLOC_top_builddir)/src/libhwloc.la
-hwloc_hello_DEPENDENCIES = $(hwloc_hello_LDADD)
-
-hwloc_hello_cpp_SOURCES = hwloc-hello-cpp.cpp
-hwloc_hello_cpp_LDADD = $(HWLOC_top_builddir)/src/libhwloc.la
-hwloc_hello_cpp_DEPENDENCIES = $(hwloc_hello_LDADD)
-
-#
 # Only remove the actual generated documentation files for maintainers
 #
 
@@ -812,3 +795,5 @@ readme: doc
 endif
 
 all-local: doc readme
+
+SUBDIRS = examples
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/examples/Makefile.am b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/examples/Makefile.am
new file mode 100644
index 0000000..31bcb36
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/examples/Makefile.am
@@ -0,0 +1,30 @@
+# Copyright © 2009-2014 Inria.  All rights reserved.
+# Copyright © 2009-2013 Université Bordeaux
+# Copyright © 2009-2010 Cisco Systems, Inc.  All rights reserved.
+# See COPYING in top-level directory.
+
+#
+# Make sure that the documentation examples work
+#
+
+AM_CFLAGS = $(HWLOC_CFLAGS)
+AM_CPPFLAGS = $(HWLOC_CPPFLAGS)
+AM_LDFLAGS = $(HWLOC_LDFLAGS)
+
+LDADD = $(HWLOC_top_builddir)/src/libhwloc.la
+DEPENDENCIES = $(LDADD)
+
+TESTS = hwloc-hello
+if HWLOC_HAVE_CXX
+TESTS += hwloc-hello-cpp
+endif HWLOC_HAVE_CXX
+
+check_PROGRAMS = $(TESTS) cpuset+bitmap+cpubind nodeset+membind+policy sharedcaches
+
+hwloc-hello-cpp.cpp: $(srcdir)/hwloc-hello.c
+	cp -f $(srcdir)/hwloc-hello.c $@
+
+clean-local:
+	rm -f hwloc-hello-cpp.cpp
+
+hwloc_hello_cpp_SOURCES = hwloc-hello-cpp.cpp
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/examples/cpuset+bitmap+cpubind.c b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/examples/cpuset+bitmap+cpubind.c
new file mode 100644
index 0000000..7c7b338
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/examples/cpuset+bitmap+cpubind.c
@@ -0,0 +1,148 @@
+/* This example program plays with:
+ * - retrieving and changing CPU binding of current process and thread
+ * - retrieving the location where the current thread executes
+ * - combining/modifying cpusets using the bitmap API
+ *
+ * Copyright © 2014 Inria.  All rights reserved.
+ * See COPYING in top-level directory.
+ */
+
+#include <hwloc.h>
+#include <errno.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+int main(void)
+{
+  hwloc_topology_t topology;
+  hwloc_bitmap_t set, set2;
+  hwloc_const_bitmap_t cset_available, cset_all;
+  hwloc_obj_t obj;
+  char *buffer;
+  char type[64];
+  unsigned i;
+  int err;
+
+  /* create a topology */
+  err = hwloc_topology_init(&topology);
+  if (err < 0) {
+    fprintf(stderr, "failed to initialize the topology\n");
+    return EXIT_FAILURE;
+  }
+  err = hwloc_topology_load(topology);
+  if (err < 0) {
+    fprintf(stderr, "failed to load the topology\n");
+    hwloc_topology_destroy(topology);
+    return EXIT_FAILURE;
+  }
+
+  /* retrieve the entire set of available PUs */
+  cset_available = hwloc_topology_get_topology_cpuset(topology);
+
+  /* retrieve the CPU binding of the current entire process */
+  set = hwloc_bitmap_alloc();
+  if (!set) {
+    fprintf(stderr, "failed to allocate a bitmap\n");
+    hwloc_topology_destroy(topology);
+    return EXIT_FAILURE;
+  }
+  err = hwloc_get_cpubind(topology, set, HWLOC_CPUBIND_PROCESS);
+  if (err < 0) {
+    fprintf(stderr, "failed to get cpu binding\n");
+    hwloc_bitmap_free(set);
+    hwloc_topology_destroy(topology);
+    return EXIT_FAILURE;
+  }
+
+  /* display the processing units that cannot be used by this process */
+  if (hwloc_bitmap_isequal(set, cset_available)) {
+    printf("this process can use all available processing units in the system\n");
+  } else {
+    /* compute the set where we currently cannot run.
+     * we can't modify cset_available because it's a system read-only one,
+     * so we do   set = available &~ set
+     */
+    hwloc_bitmap_andnot(set, cset_available, set);
+    hwloc_bitmap_asprintf(&buffer, set);
+    printf("process cannot use %d process units (%s) among %u in the system\n",
+	   hwloc_bitmap_weight(set), buffer, hwloc_bitmap_weight(cset_available));
+    free(buffer);
+    /* restore set where it was before the &~ operation above */
+    hwloc_bitmap_andnot(set, cset_available, set);
+  }
+  /* print the smallest object covering the current process binding */
+  obj = hwloc_get_obj_covering_cpuset(topology, set);
+  hwloc_obj_type_snprintf(type, sizeof(type), obj, 0);
+  printf("process is bound within object %s logical index %u\n", type, obj->logical_index);
+
+  /* retrieve the single PU where the current thread actually runs within this process binding */
+  set2 = hwloc_bitmap_alloc();
+  if (!set2) {
+    fprintf(stderr, "failed to allocate a bitmap\n");
+    hwloc_bitmap_free(set);
+    hwloc_topology_destroy(topology);
+    return EXIT_FAILURE;
+  }
+  err = hwloc_get_last_cpu_location(topology, set2, HWLOC_CPUBIND_THREAD);
+  if (err < 0) {
+    fprintf(stderr, "failed to get last cpu location\n");
+    hwloc_bitmap_free(set);
+    hwloc_bitmap_free(set2);
+    hwloc_topology_destroy(topology);
+    return EXIT_FAILURE;
+  }
+  /* sanity checks that are not actually needed but help the reader */
+  /* this thread runs within the process binding */
+  assert(hwloc_bitmap_isincluded(set2, set));
+  /* this thread runs on a single PU at a time */
+  assert(hwloc_bitmap_weight(set2) == 1);
+
+  /* print the logical number of the PU where that thread runs */
+  /* extract the PU OS index from the bitmap */
+  i = hwloc_bitmap_first(set2);
+  obj = hwloc_get_pu_obj_by_os_index(topology, i);
+  printf("thread is now running on PU logical index %u (OS/physical index %u)\n",
+	 obj->logical_index, i);
+
+  /* migrate this single thread to where other PUs within the current binding */
+  hwloc_bitmap_andnot(set2, set, set2);
+  err = hwloc_set_cpubind(topology, set2, HWLOC_CPUBIND_THREAD);
+  if (err < 0) {
+    fprintf(stderr, "failed to set thread binding\n");
+    hwloc_bitmap_free(set);
+    hwloc_bitmap_free(set2);
+    hwloc_topology_destroy(topology);
+    return EXIT_FAILURE;
+  }
+  /* reprint the PU where that thread runs */
+  err = hwloc_get_last_cpu_location(topology, set2, HWLOC_CPUBIND_THREAD);
+  if (err < 0) {
+    fprintf(stderr, "failed to get last cpu location\n");
+    hwloc_bitmap_free(set);
+    hwloc_bitmap_free(set2);
+    hwloc_topology_destroy(topology);
+    return EXIT_FAILURE;
+  }
+  /* print the logical number of the PU where that thread runs */
+  /* extract the PU OS index from the bitmap */
+  i = hwloc_bitmap_first(set2);
+  obj = hwloc_get_pu_obj_by_os_index(topology, i);
+  printf("thread is running on PU logical index %u (OS/physical index %u)\n",
+	 obj->logical_index, i);
+
+  hwloc_bitmap_free(set);
+  hwloc_bitmap_free(set2);
+
+  /* retrieve the entire set of all PUs */
+  cset_all = hwloc_topology_get_complete_cpuset(topology);
+  if (hwloc_bitmap_isequal(cset_all, cset_available)) {
+    printf("all hardware PUs are available\n");
+  } else {
+    printf("only %d hardware PUs are available in the machine among %d\n",
+	   hwloc_bitmap_weight(cset_available), hwloc_bitmap_weight(cset_all));
+  }
+
+  hwloc_topology_destroy(topology);
+  return EXIT_SUCCESS;
+}
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/hwloc-hello.c b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/examples/hwloc-hello.c
similarity index 82%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/doc/hwloc-hello.c
rename to src/pm/hydra/tools/topo/hwloc/hwloc/doc/examples/hwloc-hello.c
index 6c2d1d7..4b60a6d 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/hwloc-hello.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/examples/hwloc-hello.c
@@ -1,7 +1,10 @@
 /* Example hwloc API program.
  *
- * Copyright © 2009-2010 inria.  All rights reserved.
- * Copyright © 2009-2011 Université Bordeaux 1
+ * See other examples under doc/examples/ in the source tree
+ * for more details.
+ *
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2011 Université Bordeaux
  * Copyright © 2009-2010 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  *
@@ -16,11 +19,17 @@
 static void print_children(hwloc_topology_t topology, hwloc_obj_t obj, 
                            int depth)
 {
-    char string[128];
+    char type[32], attr[1024];
     unsigned i;
 
-    hwloc_obj_snprintf(string, sizeof(string), topology, obj, "#", 0);
-    printf("%*s%s\n", 2*depth, "", string);
+    hwloc_obj_type_snprintf(type, sizeof(type), obj, 0);
+    printf("%*s%s", 2*depth, "", type);
+    if (obj->os_index != (unsigned) -1)
+      printf("#%u", obj->os_index);
+    hwloc_obj_attr_snprintf(attr, sizeof(attr), obj, " ", 0);
+    if (*attr)
+      printf("(%s)", attr);
+    printf("\n");
     for (i = 0; i < obj->arity; i++) {
         print_children(topology, obj->children[i], depth + 1);
     }
@@ -64,9 +73,8 @@ int main(void)
         printf("*** Objects at level %d\n", depth);
         for (i = 0; i < hwloc_get_nbobjs_by_depth(topology, depth); 
              i++) {
-            hwloc_obj_snprintf(string, sizeof(string), topology,
-                       hwloc_get_obj_by_depth(topology, depth, i),
-                       "#", 0);
+            hwloc_obj_type_snprintf(string, sizeof(string),
+				    hwloc_get_obj_by_depth(topology, depth, i), 0);
             printf("Index %u: %s\n", i, string);
         }
     }
@@ -80,13 +88,13 @@ int main(void)
 
     /*****************************************************************
      * Third example:
-     * Print the number of sockets.
+     * Print the number of packages.
      *****************************************************************/
-    depth = hwloc_get_type_depth(topology, HWLOC_OBJ_SOCKET);
+    depth = hwloc_get_type_depth(topology, HWLOC_OBJ_PACKAGE);
     if (depth == HWLOC_TYPE_DEPTH_UNKNOWN) {
-        printf("*** The number of sockets is unknown\n");
+        printf("*** The number of packages is unknown\n");
     } else {
-        printf("*** %u socket(s)\n", 
+        printf("*** %u package(s)\n",
                hwloc_get_nbobjs_by_depth(topology, depth));
     }
 
@@ -124,7 +132,7 @@ int main(void)
         cpuset = hwloc_bitmap_dup(obj->cpuset);
 
         /* Get only one logical processor (in case the core is
-           SMT/hyperthreaded). */
+           SMT/hyper-threaded). */
         hwloc_bitmap_singlify(cpuset);
 
         /* And try to bind ourself there. */
@@ -146,19 +154,19 @@ int main(void)
      * memory to the last NUMA node.
      *****************************************************************/
     /* Get last node. */
-    n = hwloc_get_nbobjs_by_type(topology, HWLOC_OBJ_NODE);
+    n = hwloc_get_nbobjs_by_type(topology, HWLOC_OBJ_NUMANODE);
     if (n) {
         void *m;
         size = 1024*1024;
 
-        obj = hwloc_get_obj_by_type(topology, HWLOC_OBJ_NODE, n - 1);
+        obj = hwloc_get_obj_by_type(topology, HWLOC_OBJ_NUMANODE, n - 1);
         m = hwloc_alloc_membind_nodeset(topology, size, obj->nodeset,
-                HWLOC_MEMBIND_DEFAULT, 0);
+                HWLOC_MEMBIND_BIND, 0);
         hwloc_free(topology, m, size);
 
         m = malloc(size);
         hwloc_set_area_membind_nodeset(topology, m, size, obj->nodeset,
-                HWLOC_MEMBIND_DEFAULT, 0);
+                HWLOC_MEMBIND_BIND, 0);
         free(m);
     }
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/examples/nodeset+membind+policy.c b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/examples/nodeset+membind+policy.c
new file mode 100644
index 0000000..93a8bf9
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/examples/nodeset+membind+policy.c
@@ -0,0 +1,148 @@
+/* This example program plays with:
+ * - finding and counting NUMA nodes
+ * - manipulating nodesets
+ * - memory binding and binding policies
+ *
+ * Copyright © 2014 Inria.  All rights reserved.
+ * See COPYING in top-level directory.
+ */
+
+#include <hwloc.h>
+#include <errno.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+int main(void)
+{
+  hwloc_topology_t topology;
+  hwloc_bitmap_t set;
+  hwloc_const_bitmap_t cset;
+  hwloc_membind_policy_t policy;
+  const struct hwloc_topology_support *support;
+  int nbnodes;
+  hwloc_obj_t obj;
+  char *buffer, *s;
+  unsigned i;
+  int err;
+
+  /* create a topology */
+  err = hwloc_topology_init(&topology);
+  if (err < 0) {
+    fprintf(stderr, "failed to initialize the topology\n");
+    return EXIT_FAILURE;
+  }
+  err = hwloc_topology_load(topology);
+  if (err < 0) {
+    fprintf(stderr, "failed to load the topology\n");
+    hwloc_topology_destroy(topology);
+    return EXIT_FAILURE;
+  }
+
+  /* retrieve the entire set of NUMA nodes and count them */
+  cset = hwloc_topology_get_topology_nodeset(topology);
+  nbnodes = hwloc_bitmap_weight(cset);
+  if (nbnodes <= 0) {
+    /* nbnodes may be -1 when there's no NUMA information,
+     * or 0 when the machine is known to be non-NUMA */
+    printf("this machine is not NUMA, nothing to do\n");
+    hwloc_topology_destroy(topology);
+    return EXIT_SUCCESS;
+  }
+  printf("there are %d nodes in the machine\n", nbnodes);
+
+  /* get the process memory binding as a nodeset */
+  set = hwloc_bitmap_alloc();
+  if (!set) {
+    fprintf(stderr, "failed to allocate a bitmap\n");
+    hwloc_topology_destroy(topology);
+    return EXIT_FAILURE;
+  }
+  err = hwloc_get_membind_nodeset(topology, set, &policy, 0);
+  if (err < 0) {
+    fprintf(stderr, "failed to retrieve my memory binding and policy\n");
+    hwloc_topology_destroy(topology);
+    hwloc_bitmap_free(set);
+    return EXIT_FAILURE;
+  }
+
+  /* print the corresponding NUMA nodes */
+  hwloc_bitmap_asprintf(&s, set);
+  printf("bound to nodeset %s with contains:\n", s);
+  free(s);
+  hwloc_bitmap_foreach_begin(i, set) {
+    obj = hwloc_get_numanode_obj_by_os_index(topology, i);
+    printf("  node #%u (OS index %u) with %lld bytes of memory\n",
+	   obj->logical_index, i, (unsigned long long) obj->memory.local_memory);
+  } hwloc_bitmap_foreach_end();
+  hwloc_bitmap_free(set);
+
+  /* allocate replicated memory of all nodes */
+  support = hwloc_topology_get_support(topology);
+  buffer = NULL;
+  if (support->membind->replicate_membind) {
+    printf("replicated memory binding is supported\n");
+    buffer = hwloc_alloc_membind_nodeset(topology, 4096, cset, HWLOC_MEMBIND_REPLICATE, HWLOC_MEMBIND_STRICT);
+  } else {
+    printf("replicated memory binding is NOT supported\n");
+  }
+  if (!buffer) {
+    /* could not allocate replicated memory, manually allocate of each node by iterating over them */
+    printf("manually allocating memory on each node\n");
+    obj = NULL;
+    while ((obj = hwloc_get_next_obj_by_type(topology, HWLOC_OBJ_NUMANODE, obj)) != NULL) {
+      buffer = hwloc_alloc_membind_nodeset(topology, 4096, obj->nodeset, HWLOC_MEMBIND_BIND, HWLOC_MEMBIND_STRICT);
+      if (!buffer) {
+	fprintf(stderr, "failed to manually allocate memory on node %u\n", obj->os_index);
+	hwloc_topology_destroy(topology);
+	return EXIT_SUCCESS;
+      }
+      /* now the application must manually manage these different buffers on different nodes */
+    }
+  }
+
+  /* check where buffer is allocated */
+  set = hwloc_bitmap_alloc();
+  if (!set) {
+    fprintf(stderr, "failed to allocate a bitmap\n");
+    hwloc_topology_destroy(topology);
+    return EXIT_FAILURE;
+  }
+  err = hwloc_get_area_membind_nodeset(topology, buffer, 4096, set, &policy, 0);
+  if (err < 0) {
+    fprintf(stderr, "failed to retrieve the buffer binding and policy\n");
+    hwloc_topology_destroy(topology);
+    hwloc_bitmap_free(set);
+    return EXIT_FAILURE;
+  }
+
+  /* check the binding policy, it should be what we requested above,
+   * but may be different if the implementation of different policies
+   * is identical for the current operating system.
+   */
+  printf("buffer membind policy is %d while we requested %d or %d\n",
+	 policy, HWLOC_MEMBIND_REPLICATE, HWLOC_MEMBIND_BIND);
+
+  /* print the corresponding NUMA nodes */
+  hwloc_bitmap_asprintf(&s, set);
+  printf("buffer bound to nodeset %s with contains:\n", s);
+  free(s);
+  hwloc_bitmap_foreach_begin(i, set) {
+    obj = hwloc_get_numanode_obj_by_os_index(topology, i);
+    printf("  node #%u (OS index %u) with %lld bytes of memory\n",
+	   obj->logical_index, i, (unsigned long long) obj->memory.local_memory);
+  } hwloc_bitmap_foreach_end();
+  hwloc_bitmap_free(set);
+
+  /* try to migrate the buffer to the first node */
+  obj = hwloc_get_obj_by_type(topology, HWLOC_OBJ_NUMANODE, 0);
+  err = hwloc_set_area_membind_nodeset(topology, buffer, 4096, obj->nodeset, HWLOC_MEMBIND_BIND, HWLOC_MEMBIND_MIGRATE);
+  if (err < 0) {
+    fprintf(stderr, "failed to migrate buffer\n");
+    hwloc_topology_destroy(topology);
+    return EXIT_FAILURE;
+  }
+
+  hwloc_topology_destroy(topology);
+  return EXIT_SUCCESS;
+}
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/examples/sharedcaches.c b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/examples/sharedcaches.c
new file mode 100644
index 0000000..b447f07
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/examples/sharedcaches.c
@@ -0,0 +1,98 @@
+/* This example program looks for caches shared between this process
+ * and another one based on their current binding.
+ *
+ * Copyright © 2014 Inria.  All rights reserved.
+ * See COPYING in top-level directory.
+ */
+
+#include <hwloc.h>
+#include <errno.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+int main(int argc, char *argv[])
+{
+  pid_t hispid;
+  hwloc_topology_t topology;
+  hwloc_bitmap_t set, hisset;
+  hwloc_obj_t obj;
+  int err;
+
+  /* find the pid of the other process, otherwise use my own pid */
+  if (argc >= 2) {
+    hispid = atoi(argv[1]);
+  } else {
+    hispid = getpid();
+  }
+
+  /* create a topology with instruction caches enables */
+  err = hwloc_topology_init(&topology);
+  if (err < 0) {
+    fprintf(stderr, "failed to initialize the topology\n");
+    return EXIT_FAILURE;
+  }
+  hwloc_topology_set_flags(topology, HWLOC_TOPOLOGY_FLAG_ICACHES);
+  err = hwloc_topology_load(topology);
+  if (err < 0) {
+    fprintf(stderr, "failed to load the topology\n");
+    hwloc_topology_destroy(topology);
+    return EXIT_FAILURE;
+  }
+
+  /* find where I am running */
+  set = hwloc_bitmap_alloc();
+  if (!set) {
+    fprintf(stderr, "failed to allocate my bitmap\n");
+    hwloc_topology_destroy(topology);
+    return EXIT_FAILURE;
+  }
+  err = hwloc_get_cpubind(topology, set, 0);
+  if (err < 0) {
+    fprintf(stderr, "failed to get my binding\n");
+    hwloc_bitmap_free(set);
+    hwloc_topology_destroy(topology);
+    return EXIT_FAILURE;
+  }
+    
+  /* find where the other process is running */
+  hisset = hwloc_bitmap_alloc();
+  if (!hisset) {
+    fprintf(stderr, "failed to allocate his bitmap\n");
+    hwloc_bitmap_free(set);
+    hwloc_topology_destroy(topology);
+    return EXIT_FAILURE;
+  }
+  err = hwloc_get_proc_cpubind(topology, hispid, hisset, 0);
+  if (err < 0) {
+    fprintf(stderr, "failed to get his binding\n");
+    hwloc_bitmap_free(hisset);
+    hwloc_bitmap_free(set);
+    hwloc_topology_destroy(topology);
+    return EXIT_FAILURE;
+  }
+
+  /* merge both process binding into mine */
+  hwloc_bitmap_or(set, set, hisset);
+
+  /* find the smallest object covering this set */
+  obj = hwloc_get_obj_covering_cpuset(topology, set);
+
+  /* display parents of type cache */
+  while (obj) {
+    if (obj->type == HWLOC_OBJ_CACHE) {
+      char type[64];
+      char attr[64];
+      hwloc_obj_type_snprintf(type, sizeof(type), obj, 0);
+      hwloc_obj_attr_snprintf(attr, sizeof(attr), obj, ", ", 0);
+      printf("Found object %s with attributes %s\n", type, attr);
+    }
+    /* next parent up in the tree */
+    obj = obj->parent;
+  }
+
+  hwloc_bitmap_free(hisset);
+  hwloc_bitmap_free(set);
+  hwloc_topology_destroy(topology);
+  return EXIT_SUCCESS;
+}
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/hwloc.doxy b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/hwloc.doxy
index 8570ff9..5dc4883 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/hwloc.doxy
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/hwloc.doxy
@@ -1,8 +1,8 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2013 Université Bordeaux 1
- * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2013 Université Bordeaux
+ * Copyright © 2009-2014 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -19,7 +19,7 @@
 
 hwloc provides command line tools and a C API to obtain the
 hierarchical map of key computing elements, such as: NUMA memory
-nodes, shared caches, processor sockets, processor cores,
+nodes, shared caches, processor packages, processor cores,
 processing units (logical processors or "threads")
 and even I/O devices.
 hwloc also gathers various attributes such as
@@ -49,7 +49,8 @@ hwloc supports the following operating systems:
 <ul>
 <li>Linux (including old kernels not having sysfs topology
 information, with knowledge of cpusets, offline CPUs, ScaleMP vSMP,
-NumaScale NumaConnect, and Kerrighed support)</li>
+NumaScale NumaConnect, and Kerrighed support) on all supported hardware, including Intel Xeon Phi
+(either standalone or as a coprocessor).</li>
 <li>Solaris</li>
 <li>AIX</li>
 <li>Darwin / OS X</li>
@@ -119,7 +120,7 @@ smaller!) project and code base.  It just happens to be hosted as part
 of the overall Open MPI project.
 
 Nightly development snapshots are available on the web site.
-Additionally, the code can be directly checked out of Subversion:
+Additionally, the code can be directly cloned from Git:
 
 \verbatim
 shell$ git clone https://github.com/open-mpi/hwloc.git
@@ -128,7 +129,7 @@ shell$ ./autogen.sh
 \endverbatim
 
 Note that GNU Autoconf >=2.63, Automake >=1.10 and Libtool >=2.2.6 are
-required when building from a Subversion checkout.
+required when building from a Git clone.
 
 Installation by itself is the fairly common GNU-based process:
 
@@ -150,16 +151,10 @@ The hwloc core may also benefit from the following development packages:
 <li>libnuma for memory binding and migration support on Linux
     (<tt>numactl-devel</tt> or <tt>libnuma-dev</tt> package).
 </li>
-<li>hwloc can use one of two different libraries for full I/O device
-discovery:
-<ol>
-<li>libpciaccess (BSD).  The relevant development package is usually
-<tt>libpciaccess-devel</tt> or <tt>libpciaccess-dev</tt>.  </li>
-<li>libpci, from the pciutils package (GPL). The relevant development
-package is usually <tt>pciutils-devel</tt> or <tt>libpci-dev</tt>.  </li>
-</ol>
-On Linux, PCI discovery may still be performed
-even if none of the above libraries can be used.
+<li>libpciaccess for full I/O device discovery
+    (<tt>libpciaccess-devel</tt> or <tt>libpciaccess-dev</tt> package).
+    On Linux, PCI discovery may still be performed (without vendor/device names)
+    even if libpciaccess cannot be used.
 </li>
 
 <li>the AMD OpenCL implementation for OpenCL device discovery.
@@ -177,6 +172,11 @@ even if none of the above libraries can be used.
     The relevant development package is usually <tt>libxml2-devel</tt>
     or <tt>libxml2-dev</tt>.
 </li>
+<li>libudev on Linux for easier discovery of OS device information
+    (otherwise hwloc will try to manually parse udev raw files).
+    The relevant development package is usually <tt>libudev-devel</tt>
+    or <tt>libudev-dev</tt>.
+</li>
 <li>libtool's ltdl library for dynamic plugin loading.
   The relevant development package is usually <tt>libtool-ltdl-devel</tt>
   or <tt>libltdl-dev</tt>.
@@ -187,12 +187,9 @@ PCI and XML support may be statically built inside the main hwloc
 library, or as separate dynamically-loaded plugins (see the
 \ref plugins section).
 
-Note that because of the possibility of GPL taint (remember that hwloc
-is BSD-licensed), hwloc's <tt>configure</tt> script will prefer
-<tt>libpciaccess</tt> to the <tt>pciutils</tt> package.  Indeed, if
-<tt>libpciaccess</tt> is not found, hwloc will not use
-<tt>pciutils</tt> unless it is specifically requested via the
-<tt>--enable-libpci</tt> flag is provided.
+Note that because of the possibility of GPL taint, the
+<tt>pciutils</tt> library <tt>libpci</tt> will not be used (remember
+that hwloc is BSD-licensed).
 
 Also note that if you install supplemental libraries in non-standard
 locations, hwloc's configure script may not be able to find them
@@ -212,7 +209,7 @@ PKG_CONFIG_PATH to the ./configure command line, like this:
 \endhtmlonly
 \section cli_examples CLI Examples
 
-On a 4-socket 2-core machine with hyperthreading, the \c lstopo tool
+On a 4-package 2-core machine with hyper-threading, the \c lstopo tool
 may show the following graphical output:
 
 \image html dudley.png
@@ -222,28 +219,28 @@ Here's the equivalent output in textual form:
 
 \verbatim
 Machine (16GB)
-  Socket L#0 + L3 L#0 (4096KB)
+  Package L#0 + L3 L#0 (4096KB)
     L2 L#0 (1024KB) + L1 L#0 (16KB) + Core L#0
       PU L#0 (P#0)
       PU L#1 (P#8)
     L2 L#1 (1024KB) + L1 L#1 (16KB) + Core L#1
       PU L#2 (P#4)
       PU L#3 (P#12)
-  Socket L#1 + L3 L#1 (4096KB)
+  Package L#1 + L3 L#1 (4096KB)
     L2 L#2 (1024KB) + L1 L#2 (16KB) + Core L#2
       PU L#4 (P#1)
       PU L#5 (P#9)
     L2 L#3 (1024KB) + L1 L#3 (16KB) + Core L#3
       PU L#6 (P#5)
       PU L#7 (P#13)
-  Socket L#2 + L3 L#2 (4096KB)
+  Package L#2 + L3 L#2 (4096KB)
     L2 L#4 (1024KB) + L1 L#4 (16KB) + Core L#4
       PU L#8 (P#2)
       PU L#9 (P#10)
     L2 L#5 (1024KB) + L1 L#5 (16KB) + Core L#5
       PU L#10 (P#6)
       PU L#11 (P#14)
-  Socket L#3 + L3 L#3 (4096KB)
+  Package L#3 + L3 L#3 (4096KB)
     L2 L#6 (1024KB) + L1 L#6 (16KB) + Core L#6
       PU L#12 (P#3)
       PU L#13 (P#11)
@@ -252,60 +249,11 @@ Machine (16GB)
       PU L#15 (P#15)
 \endverbatim
 
-Finally, here's the equivalent output in XML.  Long lines were
-artificially broken for document clarity (in the real output, each XML
-tag is on a single line), and only socket #0 is shown for brevity:
-
-\verbatim
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE topology SYSTEM "hwloc.dtd">
-<topology>
-  <object type="Machine" os_index="0" cpuset="0x0000ffff" 
-      complete_cpuset="0x0000ffff" online_cpuset="0x0000ffff" 
-      allowed_cpuset="0x0000ffff" 
-      dmi_board_vendor="Dell Computer Corporation" dmi_board_name="0RD318" 
-      local_memory="16648183808">
-    <page_type size="4096" count="4064498"/>
-    <page_type size="2097152" count="0"/>
-    <object type="Socket" os_index="0" cpuset="0x00001111" ... >
-      <object type="Cache" cpuset="0x00001111" ...
-          cache_size="4194304" depth="3" cache_linesize="64">
-        <object type="Cache" cpuset="0x00000101" ...
-            cache_size="1048576" depth="2" cache_linesize="64">
-          <object type="Cache" cpuset="0x00000101" ...
-              cache_size="16384" depth="1" cache_linesize="64">
-            <object type="Core" os_index="0" ... >
-              <object type="PU" os_index="0" cpuset="0x00000001" 
-                  complete_cpuset="0x00000001" online_cpuset="0x00000001" 
-                  allowed_cpuset="0x00000001"/>
-              <object type="PU" os_index="8" cpuset="0x00000100"
-                  complete_cpuset="0x00000100" online_cpuset="0x00000100" 
-                  allowed_cpuset="0x00000100"/>
-            </object>
-          </object>
-        </object>
-        <object type="Cache" cpuset="0x00001010" ...
-            cache_size="1048576" depth="2" cache_linesize="64">
-          <object type="Cache" cpuset="0x00001010" 
-              cache_size="16384" depth="1" cache_linesize="64">
-            <object type="Core" os_index="1" cpuset="0x00001010" ... >
-              <object type="PU" os_index="4" cpuset="0x00000010" 
-                  complete_cpuset="0x00000010" online_cpuset="0x00000010" 
-                  allowed_cpuset="0x00000010"/>
-              <object type="PU" os_index="12" cpuset="0x00001000" 
-                  complete_cpuset="0x00001000" online_cpuset="0x00001000" 
-                  allowed_cpuset="0x00001000"/>
-            </object>
-          </object>
-        </object>
-      </object>
-    </object>
-    <!-- ...other sockets listed here ... -->
-  </object>
-</topology>
-\endverbatim
+Note that there is also an equivalent output in XML that is meant for
+exporting/importing topologies but it is hardly readable to human-beings
+(see \ref xml for details).
 
-On a 4-socket 2-core Opteron NUMA machine, the \c lstopo tool may show
+On a 4-package 2-core Opteron NUMA machine, the \c lstopo tool may show
 the following graphical output:
 
 \image html hagrid.png
@@ -315,57 +263,22 @@ Here's the equivalent output in textual form:
 
 \verbatim
 Machine (32GB)
-  NUMANode L#0 (P#0 8190MB) + Socket L#0
+  NUMANode L#0 (P#0 8190MB) + Package L#0
     L2 L#0 (1024KB) + L1 L#0 (64KB) + Core L#0 + PU L#0 (P#0)
     L2 L#1 (1024KB) + L1 L#1 (64KB) + Core L#1 + PU L#1 (P#1)
-  NUMANode L#1 (P#1 8192MB) + Socket L#1
+  NUMANode L#1 (P#1 8192MB) + Package L#1
     L2 L#2 (1024KB) + L1 L#2 (64KB) + Core L#2 + PU L#2 (P#2)
     L2 L#3 (1024KB) + L1 L#3 (64KB) + Core L#3 + PU L#3 (P#3)
-  NUMANode L#2 (P#2 8192MB) + Socket L#2
+  NUMANode L#2 (P#2 8192MB) + Package L#2
     L2 L#4 (1024KB) + L1 L#4 (64KB) + Core L#4 + PU L#4 (P#4)
     L2 L#5 (1024KB) + L1 L#5 (64KB) + Core L#5 + PU L#5 (P#5)
-  NUMANode L#3 (P#3 8192MB) + Socket L#3
+  NUMANode L#3 (P#3 8192MB) + Package L#3
     L2 L#6 (1024KB) + L1 L#6 (64KB) + Core L#6 + PU L#6 (P#6)
     L2 L#7 (1024KB) + L1 L#7 (64KB) + Core L#7 + PU L#7 (P#7)
 \endverbatim
 
-And here's the equivalent output in XML.  Similar to above, line
-breaks were added and only PU #0 is shown for brevity:
-
-\verbatim
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE topology SYSTEM "hwloc.dtd">
-<topology>
-  <object type="Machine" os_index="0" cpuset="0x000000ff" 
-      complete_cpuset="0x000000ff" online_cpuset="0x000000ff" 
-      allowed_cpuset="0x000000ff" nodeset="0x000000ff" 
-      complete_nodeset="0x000000ff" allowed_nodeset="0x000000ff" 
-      dmi_board_vendor="TYAN Computer Corp" dmi_board_name="S4881 ">
-    <page_type size="4096" count="0"/>
-    <page_type size="2097152" count="0"/>
-    <object type="NUMANode" os_index="0" cpuset="0x00000003" ...
-        nodeset="0x00000001" ... local_memory="7514177536">
-      <page_type size="4096" count="1834516"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="0" cpuset="0x00000003" ... >
-        <object type="Cache" cpuset="0x00000001" ...
-            cache_size="1048576" depth="2" cache_linesize="64">
-          <object type="Cache" cpuset="0x00000001" ...
-              cache_size="65536" depth="1" cache_linesize="64">
-            <object type="Core" os_index="0" ... >
-              <object type="PU" os_index="0" cpuset="0x00000001" 
-                  complete_cpuset="0x00000001" online_cpuset="0x00000001" 
-                  allowed_cpuset="0x00000001" nodeset="0x00000001" 
-                  complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
-            </object>
-          </object>
-        </object>
-  <!-- ...more objects listed here ... -->
-</topology>
-\endverbatim
-
-On a 2-socket quad-core Xeon (pre-Nehalem, with 2 dual-core dies into
-each socket):
+On a 2-package quad-core Xeon (pre-Nehalem, with 2 dual-core dies into
+each package):
 
 \image html emmett.png
 \image latex emmett.png "" width=7cm
@@ -374,14 +287,14 @@ Here's the same output in textual form:
 
 \verbatim
 Machine (16GB)
-  Socket L#0
+  Package L#0
     L2 L#0 (4096KB)
       L1 L#0 (32KB) + Core L#0 + PU L#0 (P#0)
       L1 L#1 (32KB) + Core L#1 + PU L#1 (P#4)
     L2 L#1 (4096KB)
       L1 L#2 (32KB) + Core L#2 + PU L#2 (P#2)
       L1 L#3 (32KB) + Core L#3 + PU L#3 (P#6)
-  Socket L#1
+  Package L#1
     L2 L#2 (4096KB)
       L1 L#4 (32KB) + Core L#4 + PU L#4 (P#1)
       L1 L#5 (32KB) + Core L#5 + PU L#5 (P#5)
@@ -390,42 +303,6 @@ Machine (16GB)
       L1 L#7 (32KB) + Core L#7 + PU L#7 (P#7)
 \endverbatim
 
-And the same output in XML (line breaks added, only PU #0 shown):
-
-\verbatim
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE topology SYSTEM "hwloc.dtd">
-<topology>
-  <object type="Machine" os_index="0" cpuset="0x000000ff" 
-      complete_cpuset="0x000000ff" online_cpuset="0x000000ff" 
-      allowed_cpuset="0x000000ff" dmi_board_vendor="Dell Inc." 
-      dmi_board_name="0NR282" local_memory="16865292288">
-    <page_type size="4096" count="4117503"/>
-    <page_type size="2097152" count="0"/>
-    <object type="Socket" os_index="0" cpuset="0x00000055" ... >
-      <object type="Cache" cpuset="0x00000011" ...
-          cache_size="4194304" depth="2" cache_linesize="64">
-        <object type="Cache" cpuset="0x00000001" ...
-            cache_size="32768" depth="1" cache_linesize="64">
-          <object type="Core" os_index="0" ... >
-            <object type="PU" os_index="0" cpuset="0x00000001" 
-                complete_cpuset="0x00000001" online_cpuset="0x00000001" 
-                allowed_cpuset="0x00000001"/>
-          </object>
-        </object>
-        <object type="Cache" cpuset="0x00000010" ...
-            cache_size="32768" depth="1" cache_linesize="64">
-          <object type="Core" os_index="1" ... >
-            <object type="PU" os_index="4" cpuset="0x00000010" ...
-                complete_cpuset="0x00000010" online_cpuset="0x00000010" 
-                allowed_cpuset="0x00000010"/>
-          </object>
-        </object>
-      </object>
-  <!-- ...more objects listed here ... -->
-</topology>
-\endverbatim
-
 \htmlonly
 </div><div class="section" id="interface">
 \endhtmlonly
@@ -459,7 +336,7 @@ both US letter and A4 formats) in the source tarball in
 doc/doxygen-doc/.  
 
 <strong>NOTE:</strong> If you are building the documentation from a
-Subversion checkout, you will need to have Doxygen and pdflatex
+Git clone, you will need to have Doxygen and pdflatex
 installed -- the documentation will be built during the normal "make"
 process.  The documentation is installed during "make install" to
 $prefix/share/doc/hwloc/ and your systems default man page tree (under
@@ -474,7 +351,7 @@ information.  For example, on an PPC64-based system with 32 cores
 (each with 2 hardware threads) running a default 2.6.18-based kernel
 from RHEL 5.4, hwloc is only able to glean information about NUMA
 nodes and processor units (PUs).  No information about caches,
-sockets, or cores is available.
+packages, or cores is available.
 
 Similarly, Operating System have varying support for CPU and memory binding,
 e.g. while some Operating Systems provide interfaces for all kinds of CPU and
@@ -536,8 +413,10 @@ element may exist between a core and a PU.
 The following small C example (named ``hwloc-hello.c'') prints the
 topology of the machine and bring the process to the first logical processor
 of the second core of the machine.
+More examples are available in the doc/examples/ directory of the source
+tree.
 
-\include hwloc-hello.c
+\include examples/hwloc-hello.c
 
 hwloc provides a \c pkg-config executable to obtain relevant compiler
 and linker flags.  For example, it can be used thusly to compile
@@ -549,7 +428,7 @@ LDLIBS += $(pkg-config --libs hwloc)
 cc hwloc-hello.c $(CFLAGS) -o hwloc-hello $(LDLIBS)
 \endverbatim
 
-On a machine with 4GB of RAM and 2 processor sockets -- each socket of
+On a machine with 4GB of RAM and 2 processor packages -- each package of
 which has two processing cores -- the output from running \c
 hwloc-hello could be something like the following:
 
@@ -558,8 +437,8 @@ shell$ ./hwloc-hello
 *** Objects at level 0
 Index 0: Machine(3938MB)
 *** Objects at level 1
-Index 0: Socket#0
-Index 1: Socket#1
+Index 0: Package#0
+Index 1: Package#1
 *** Objects at level 2
 Index 0: Core#0
 Index 1: Core#1
@@ -572,17 +451,17 @@ Index 2: PU#2
 Index 3: PU#3
 *** Printing overall tree
 Machine(3938MB)
-  Socket#0
+  Package#0
     Core#0
       PU#0
     Core#1
       PU#1
-  Socket#1
+  Package#1
     Core#3
       PU#2
     Core#2
       PU#3
-*** 2 socket(s)
+*** 2 package(s)
 shell$ 
 \endverbatim
 
@@ -645,6 +524,7 @@ The documentation chapters include
 <li> \ref envvar
 <li> \ref cpu_mem_bind
 <li> \ref iodevices
+<li> \ref miscobjs
 <li> \ref multinode
 <li> \ref attributes
 <li> \ref xml
@@ -780,7 +660,7 @@ Make sure to have had a look at those too!
 </dl>
 
 The following diagram can help to understand the vocabulary of the relationships
-by showing the example of a machine with two dual core sockets (with no
+by showing the example of a machine with two dual core packages (with no
 hardware threads); thus, a topology with 4 levels. Each box with rounded corner
 corresponds to one hwloc_obj_t, containing the values of the different integer
 fields (depth, logical_index, etc.), and arrows show to which other hwloc_obj_t
@@ -806,7 +686,7 @@ tools.
 
 lstopo (also known as hwloc-ls) displays the
 hierarchical topology map of the current system.  The output may be
-graphical or textual, and can also be exported to numerous file
+graphical, ascii-art or textual, and can also be exported to numerous file
 formats such as PDF, PNG, XML, and others.
 Advanced graphical outputs require the "Cairo" development package
 (usually <tt>cairo-devel</tt> or <tt>libcairo2-dev</tt>).
@@ -828,7 +708,7 @@ lstopo to read in that XML file and display it on a different system).
 
 hwloc-bind binds processes to specific hardware objects through a
 flexible syntax.  A simple example is binding an executable to
-specific cores (or sockets or bitmaps or ...).  The hwloc-bind(1) man
+specific cores (or packages or bitmaps or ...).  The hwloc-bind(1) man
 page provides much more detail on what is possible.
 
 hwloc-bind can also be used to retrieve the current process' binding.
@@ -891,8 +771,8 @@ of the topology.
 
 \section cli_hwloc_annotate hwloc-annotate
 
-hwloc-annotate may add object attributes such as string
-information (see \ref attributes_info for details).
+hwloc-annotate may add object attributes such as string information
+(see \ref attributes_info for details) or Misc children objects.
 It reads an input topology from a XML file and outputs
 the annotated topology as another XML file.
 
@@ -1009,7 +889,9 @@ following environment variables.
   with a 2% error.
   If set to <tt>try</tt> instead of a numerical value, hwloc will try
   to group with perfect accuracy (0, the default), then with 0.01, 0.02,
-  0.05 and finally 0.1.</dd>
+  0.05 and finally 0.1.
+  Numbers given in this environment variable should always use a dot
+  as a decimal mark (for instance 0.01 instead of 0,01).</dd>
 
 <dt>HWLOC_GROUPING_VERBOSE=0</dt>
   <dd>enables or disables some verbose messages during grouping.
@@ -1024,7 +906,7 @@ following environment variables.
 <dt>HWLOC_<type>_DISTANCES=index,...:distance,...</dt>
   <dd>sets a distance matrix for objects of the given type and physical indexes.
   The type should be given as its case-sensitive stringified value
-  (e.g. <tt>NUMANode</tt>, <tt>Socket</tt>, <tt>Cache</tt>, <tt>Core</tt>, <tt>PU</tt>).
+  (e.g. <tt>NUMANode</tt>, <tt>Package</tt>, <tt>Cache</tt>, <tt>Core</tt>, <tt>PU</tt>).
   If another distance matrix already exists for the given type,
   either because the user specified it or because the OS offers it,
   it will be replaced by the given one.
@@ -1085,8 +967,8 @@ following environment variables.
   this is strictly identical to not specifying any variable.
   The <tt>xml</tt> component name may be followed by a XML file to
   load (<tt>xml=file.xml</tt>).
-  The synthetic component may be followed by a synthetic topology
-  description (<tt>synthetic=node:2 pu:3</tt>).
+  The synthetic component may be followed by a basic synthetic topology
+  description (<tt>synthetic=node:2 pu:3</tt>, see \ref synthetic).
   This variable does not take precedence over the application
   selecting components with functions such as
   hwloc_topology_set_xml().
@@ -1186,6 +1068,7 @@ binding policy.
 
 See \ref hwlocality_cpubinding and \ref hwlocality_membinding for
 hwloc's API functions regarding CPU and memory binding, respectively.
+There are some examples under doc/examples/ in the source tree.
 
 
 
@@ -1205,14 +1088,13 @@ to hwloc_topology_set_flags() before loading the topology.
 
 Note that I/O discovery requires significant help from the operating system.
 The pciaccess library (the development package is usually <tt>libpciaccess-devel</tt>
-or <tt>libpciaccess-dev</tt>) is needed to fully detect PCI devices and bridges
-(libpci/pciutils may be used instead if a GPL dependency is acceptable),
+or <tt>libpciaccess-dev</tt>) is needed to fully detect PCI devices and bridges,
 and the actual locality of these devices is only currently detected
 on Linux. Also, some operating systems require privileges for probing PCI
 devices, see \ref faq_privileged for details.
 
 On Linux, PCI discovery may still be performed even
-if neither <tt>libpciaccess</tt> nor <tt>pciutils</tt> can be used.
+if <tt>libpciaccess</tt> cannot be used.
 But it misses PCI device names.
 
 \section iodevices_hierarchy I/O object hierarchy
@@ -1221,9 +1103,9 @@ When I/O discovery is enabled and supported, some additional objects
 (types <tt>::HWLOC_OBJ_BRIDGE</tt>, <tt>::HWLOC_OBJ_PCI_DEVICE</tt> and
 <tt>::HWLOC_OBJ_OS_DEVICE</tt>)
 are added to the topology as a child of the object they are close to.
-For instance, if a I/O Hub is connected to a socket, the corresponding
+For instance, if a I/O Hub is connected to a package, the corresponding
 hwloc bridge object (and its PCI bridges and devices children) is inserted
-as a child of the corresponding hwloc socket object.
+as a child of the corresponding hwloc package object.
 
 These new objects have neither CPU sets nor node sets (NULL pointers) because
 they are not directly usable by the user applications.
@@ -1364,8 +1246,8 @@ device they use.
 
 \section iodevices_examples Examples
 
-The following picture shows a dual-socket dual-core host whose
-PCI bus is connected to the first socket and NUMA node.
+The following picture shows a dual-package dual-core host whose
+PCI bus is connected to the first package and NUMA node.
 
 \image html devel09-pci.png
 \image latex devel09-pci.pdf "" width=\textwidth
@@ -1395,7 +1277,7 @@ Here is the corresponding textual output:
 \verbatim
 Machine (24GB)
   NUMANode L#0 (P#0 12GB)
-    Socket L#0 + L3 L#0 (8192KB)
+    Package L#0 + L3 L#0 (8192KB)
       L2 L#0 (256KB) + L1 L#0 (32KB) + Core L#0 + PU L#0 (P#0)
       L2 L#1 (256KB) + L1 L#1 (32KB) + Core L#1 + PU L#1 (P#2)
     HostBridge
@@ -1414,7 +1296,7 @@ Machine (24GB)
         Net "ib0"
         Net "ib1"
         Net "mlx4_0"
-  NUMANode L#1 (P#1 12GB) + Socket L#1 + L3 L#1 (8192KB)
+  NUMANode L#1 (P#1 12GB) + Package L#1 + L3 L#1 (8192KB)
     L2 L#2 (256KB) + L1 L#2 (32KB) + Core L#2 + PU L#2 (P#1)
     L2 L#3 (256KB) + L1 L#3 (32KB) + Core L#3 + PU L#3 (P#3)
 \endverbatim
@@ -1422,6 +1304,60 @@ Machine (24GB)
 
 
 
+\page miscobjs Miscellaneous objects
+
+hwloc topologies may be annotated with Misc objects
+(of type <tt>HWLOC_OBJ_MISC</tt>)
+either automatically or by the user.
+This is an flexible way to annotate topologies with
+large sets of information since Misc objects may be inserted
+anywhere in the topology (to annotate specific objects or
+parts of the topology), even below other Misc objects, and each
+of them may contain multiple attributes (ee also \ref faq_annotate).
+
+These Misc objects may have a <tt>Type</tt> info attribute
+to replace <tt>Misc</tt> with something else in the lstopo
+output.
+
+\section miscobjs_auto Misc objects added by hwloc
+
+hwloc only uses Misc objects when other object types are not sufficient.
+This currently includes:
+<ul>
+<li>
+Memory devices (DIMMs), on Linux when privileged, and when I/O discovery is enabled.
+These objects have a <tt>Type</tt> info attribute of value <tt>MemoryDevice</tt>.
+They are currently always attached to the root object.
+Their attributes describe the DIMM vendor, model, etc.
+<tt>lstopo -v</tt> displays them as:
+\code
+Misc(MemoryModule) (P#1 Type=MemoryModule DeviceLocation="Bottom-Slot 2(right)" BankLocation="BANK 2" Vendor=Elpida SerialNumber=21733667 AssetTag=9876543210 PartNumber="EBJ81UG8EFU0-GN-F ")
+\endcode
+</li>
+<li>
+Displaying process binding in <tt>lstopo --top</tt>.
+These objects have a <tt>Type</tt> info attribute of value <tt>Process</tt>
+and a name attribute made of their PID and program name.
+They are attached below the object they are bound to.
+The textual <tt>lstopo</tt> displays them as:
+\code
+  PU L#0 (P#0)
+    Misc(Process) 4445 myprogram
+\endcode
+</li>
+</ul>
+
+\section miscobjs_annotate Annotating topologies with Misc objects
+
+The user may annotate hwloc topologies with its own Misc objects.
+A Misc object may be inserted anywhere in the topology by specifying
+its CPU set (using <tt>hwloc_topology_insert_misc_object_by_cpuset()</tt>).
+Or it may be inserted as a leaf of the topology by specifying its parent
+(with <tt>hwloc_topology_insert_misc_object_by_parent()</tt>).
+
+
+
+
 \page multinode Multi-node Topologies
 
 hwloc is usually used for consulting and manipulating single machine
@@ -1640,23 +1576,23 @@ placed.
 <dd>The description string that was given to hwloc to build this
 synthetic topology.
 </dd>
-<dt>CPUModel (Socket or Machine)</dt>
+<dt>CPUModel (Package or Machine)</dt>
 <dd>The processor model name.
-Usually added to Socket objects, but can be in Machine instead if
-hwloc failed to discover any socket.
+Usually added to Package objects, but can be in Machine instead if
+hwloc failed to discover any package.
 </dd>
-<dt>CPUType (Socket)</dt>
+<dt>CPUType (Package)</dt>
 <dd>
 A Solaris-specific general processor type name, such as "i86pc".
 </dd>
-<dt>CPUVendor, CPUModelNumber, CPUFamilyNumber (Socket or Machine)</dt>
-<dd>The processor vendor name, model number, and family number.
+<dt>CPUVendor, CPUModelNumber, CPUFamilyNumber, CPUStepping (Package or Machine)</dt>
+<dd>The processor vendor name, model number, family number, and stepping number.
 Currently available for x86 and Xeon Phi processors on most systems,
-and for ia64 processors on Linux.
-Usually added to Socket objects, but can be in Machine instead if
-hwloc failed to discover any socket.
+and for ia64 processors on Linux (except CPUStepping).
+Usually added to Package objects, but can be in Machine instead if
+hwloc failed to discover any package.
 </dd>
-<dt>CPURevision (Socket)</dt>
+<dt>CPURevision (Package)</dt>
 <dd>
 A POWER/PowerPC-specific general processor revision number,
 currently only available on Linux.
@@ -1666,12 +1602,21 @@ currently only available on Linux.
 <dd>Some POWER/PowerPC-specific attributes describing the platform
 and processor.
 Currently only available on Linux.
-Usually added to Socket objects, but can be in Machine instead if
-hwloc failed to discover any socket.
+Usually added to Package objects, but can be in Machine instead if
+hwloc failed to discover any package.
 </dd>
 <dt>PCIVendor, PCIDevice (PCI devices and bridges)</dt>
 <dd>The vendor and device names of the PCI device.
 </dd>
+<dt>PCISlot</dt>
+<dd>The name/number of the physical slot where the PCI device is plugged.
+</dd>
+<dt>Vendor, Model, Revision, SerialNumber</dt>
+<dd>The vendor and model names, and revision and serial numbers of a Block OS device.
+</dd>
+<dt>LinuxDeviceID</dt>
+<dd>The major/minor device number such as 8:0 on Linux for a Block OS device.
+</dd>
 <dt>CoProcType (Co-Processor OS devices)</dt>
 <dd>The type of co-processor, for instance <tt>"MIC"</tt>, <tt>"CUDA"</tt>
  or <tt>"OpenCL"</tt>.
@@ -1702,12 +1647,14 @@ hwloc failed to discover any socket.
 <dt>MICSerialNumber</dt>
 <dd>
  The serial number of an Intel Xeon Phi (MIC) coprocessor.
+ hwloc may run either inside the coprocessor itself, or on the host processor.
+ That attribute is set in both cases, so that the exact same coprocessor may be
+ identified from both point of views, even if there are multiple nodes with
+ multiple MICs.
  When running hwloc on the host, each hwloc OS device object that
  corresponds to a Xeon Phi gets such an attribute.
- When running hwloc inside a Xeon Phi, the root object of the topology
+ When running hwloc inside a Xeon Phi coprocessor, the root object of the topology
  gets this attribute.
- It enables easy identification of devices and topologies when multiples
- nodes and MICs are involved.
 </dd>
 <dt>MICFamily, MICSKU, MICActiveCores, MICMemorySize</dt>
 <dd>The family, SKU (model),
@@ -1730,6 +1677,30 @@ the state of a port #1 (value is 4 when active),
 the LID and LID mask count of port #2,
 and GID #1 of port #3.
 </dd>
+<dt>Type</dt>
+<dd>A better type name than the usual one.
+This may be used to specify where Groups come from.
+For instance Linux s390 <em>books</em> appear as Groups of type <em>Book</em>.
+Block OS devices may have a Type of "Disk", "Tape", "Removable Media Device"
+or "Other".
+The Type attribute value is displayed instead of the default object type name in lstopo.
+</dd>
+<dt>Vendor, AssetTag, PartNumber, DeviceLocation, BankLocation (MemoryDevice Misc objects)</dt>
+<dd>
+Information about memory devices (DIMMs) extracted from SMBIOS.
+</dd>
+<dt>hwlocVersion</dt>
+<dd>The version number of the hwloc library that was used to generate
+the topology. If the topology was loaded from XML, this is not the hwloc
+version that loaded it, but rather the first hwloc instance that exported
+the topology to XML earlier.
+</dd>
+<dt>ProcessName</dt>
+<dd>The name of the process that contains the hwloc library that was used
+to generate the topology. If the topology was from XML, this is not the
+hwloc version that loaded it, but rather the first process that exported
+the topology to XML earlier.
+</dd>
 </dl>
 
 Here is a non-exhaustive list of user-provided info attributes
@@ -1774,6 +1745,12 @@ decimal separator. Therefore any exported topology can be
 reloaded on any other machine without requiring to change the
 locale.
 
+\note XML exports contain all details about the platform. It means
+that two very similar nodes still have different XML exports
+(e.g. some serial numbers or MAC addresses are different).
+If a less precise exporting/importing is required, one may want to
+look at \ref synthetic instead.
+
 \section xml_backends libxml2 and minimalistic XML backends
 
 hwloc offers two backends for importing/exporting XML.
@@ -1831,16 +1808,16 @@ Aside from loading XML topologies, hwloc also enables the building of
 listing the arity of each levels.
 
 For instance, lstopo may create a topology made of 2 NUMA nodes,
-containing a single socket each, with one cache above two
+containing a single package each, with one cache above two
 single-threaded cores:
 
 \verbatim
-$ lstopo -i "node:2 sock:1 cache:1 core:2 pu:1" -
+$ lstopo -i "node:2 pack:1 cache:1 core:2 pu:1" -
 Machine (2048MB)
-  NUMANode L#0 (P#0 1024MB) + Socket L#0 + L2 L#0 (4096KB)
+  NUMANode L#0 (P#0 1024MB) + Package L#0 + L2 L#0 (4096KB)
     Core L#0 + PU L#0 (P#0)
     Core L#1 + PU L#1 (P#1)
-  NUMANode L#1 (P#1 1024MB) + Socket L#1 + L2 L#1 (4096KB)
+  NUMANode L#1 (P#1 1024MB) + Package L#1 + L2 L#1 (4096KB)
     Core L#2 + PU L#2 (P#2)
     Core L#3 + PU L#3 (P#3)
 \endverbatim
@@ -1848,6 +1825,11 @@ Machine (2048MB)
 Replacing <tt>-</tt> with <tt>file.xml</tt> in this command line
 will export this topology to XML as usual.
 
+\note Synthetic topologies offer a very basic way to export a
+topology and reimport it on another machine. It is a lot less
+precise than XML but may still be enough when only the hierarchy
+of resources matters.
+
 \section synthetic_string Synthetic description string
 
 Each item in the description string gives the type of the level and
@@ -1855,25 +1837,52 @@ the number of such children under each object of the previous level.
 That is why the above topology contains 4 cores (2 cores times 2 nodes).
 
 These type names must be written as
-<tt>machine</tt>, <tt>node</tt>, <tt>socket</tt>, <tt>core</tt>,
-<tt>cache</tt>, <tt>pu</tt>, <tt>misc</tt>, <tt>group</tt>.
+<tt>machine</tt>, <tt>node</tt>, <tt>package</tt>, <tt>core</tt>,
+<tt>cache</tt>, <tt>pu</tt>, <tt>group</tt>.
 They do not need to be written case-sensitively, nor entirely
 (as long as there is no ambiguity, 2 characters such as <tt>ma</tt>
  select a Machine level).
 Type-specific attributes may also be given such as <tt>L2iCache</tt>
 (hwloc_obj_type_sscanf() is used for parsing the type names).
-Note that I/O objects are not available.
+Note that I/O and Misc objects are not available.
 
 The root object does not appear in the string.
 A Machine object is used by default, and a System object replaces it
 if a Machine level is specified in the string.
 
 Cache level depths are automatically chosen by hwloc (only a L2 first,
-then a L1 under it, then L3 above, then L4 etc.).
+then a L1 under it, then L3 above, then L4 etc.) unless they are specified.
 Memory and cache sizes are also automatically chosen.
 The only way to modifying them is to export to XML and manually modify
 the file.
 
+Each item may be followed parentheses containing a list of
+space-separated attributes. For instance:
+<ul>
+<li>
+ <tt>L2iCache:2(size=32kB)</tt> specifies 2 children
+ of 32kB level-2 instruction caches.
+ The size may be specified in bytes (without any unit suffix) or as TB, GB, MB or kB.
+</li>
+<li>
+ <tt>NUMANode:3(memory=16MB)</tt> specifies 3 NUMA nodes with 16MB each.
+ The size may be specified in bytes (without any unit suffix) or as TB, GB, MB or kB.
+</li>
+<li>
+ <tt>PU:2(indexes=0,2,1,3)</tt> specifies 2 PU children and the
+ full list of OS indexes among the entire set of 4 PU objects.
+</li>
+<li>
+ <tt>PU:2(indexes=numa:core)</tt> specifies 2 PU children whose
+ OS indexes are interleaved by NUMA node first and then by package.
+</li>
+<li>
+ Attributes in parentheses at the very beginning of the description
+ apply to the root object.
+</li>
+</ul>
+
+
 \section synthetic_use Loading a synthetic topology
 
 Aside from lstopo, the hwloc programming interface offers the same
@@ -1893,29 +1902,29 @@ topology flag.
 
 \section synthetic_export Exporting a topology as a synthetic string
 
-lstopo may export a topology as a synthetic string by forcing its
-output format. 
-It offers a convenient way to quickly describe the contents of a
-machine.
+The function ::hwloc_topology_export_synthetic() may export
+a topology as a synthetic string.
+It offers a convenient way to quickly describe the contents of a machine.
+The lstopo tool may also perform such an export by forcing the output format.
 
 \verbatim
 $ lstopo --of synthetic --no-io
-Socket:1 Cache:1 Cache:2 Cache:1 Cache:1 Core:1 PU:2 
+Package:1 Cache:1 Cache:2 Cache:1 Cache:1 Core:1 PU:2 
 \endverbatim
 
 The exported string may be passed back to hwloc for recreating
 another similar topology.
-The entire tree will be similar, but cache types and memory sizes
-may be different from the originals.
+The entire tree will be similar, but some special attributes such
+processort types may be missing.
 
 Such an export is only possible if the topology is totally symmetric,
 which means the <tt>symmetric_subtree</tt> field of the root object
 is set.
 This usually implies that I/O objects are disabled since attaching I/O
-busses often cause the topology to become assymetric.
+busses often cause the topology to become asymmetric.
 Passing <tt>--no-io</tt> to lstopo is therefore often useful to make
 synthetic export work (as well as not passing any I/O topology flag
-when using ::hwloc_topology_set_synthetic() manually).
+before exporting with ::hwloc_topology_export_synthetic()).
 
 
 
@@ -2136,14 +2145,14 @@ Usually the native operating system component
 is enabled first.
 Then hwloc looks for an architecture specific component
 (e.g. <tt>x86</tt>).
-Finally these also exist a basic component (<tt>no_os</tt>)
+Finally there also exist a basic component (<tt>no_os</tt>)
 that just tries to discover the number of PUs in the system.
 
 Each component discovers as much topology information as possible.
 Most of them, including most native OS components, do nothing
 unless the topology is still empty.
 Some others, such as <tt>x86</tt> and <tt>pci</tt>,
-can complete and annotate what other backends still earlier.
+can complete and annotate what other backends found earlier.
 
 Default priorities ensure that clever components are invoked first.
 Native operating system components have higher priorities,
@@ -2205,7 +2214,7 @@ or <tt>hwloc_topology_set_synthetic()</tt>.
 
 Components may optionally be built as plugins so that the hwloc core
 library does not directly depend on their dependencies (for instance
-the <tt>libpci</tt> library).
+the <tt>libpciaccess</tt> library).
 Plugin support may be enabled with the <tt>--enable-plugins</tt>
 configure option.
 All components buildable as plugins will then be built as plugins.
@@ -2313,8 +2322,7 @@ environment variable (see \ref envvar).
 </dd>
 <dt>pci</dt>
 <dd>
- PCI object discovery uses the external pciaccess library (aka libpciaccess),
- or optionally the pciutils library (libpci),
+ PCI object discovery uses the external pciaccess library (aka libpciaccess);
  see \ref iodevices.
  <b>It may be built as a plugin</b>.
 </dd>
@@ -2588,10 +2596,25 @@ Loading a XML topology is usually much faster than querying multiple
 files or calling multiple functions of the operating system.
 It is also possible to manipulate such XML files with the C programming
 interface, and the import/export may also be directed to memory buffer
-(that may for instance be transmitted between applications through a socket).
+(that may for instance be transmitted between applications through a package).
 See also \ref xml.
 
 
+\section faq_multitopo How many topologies may I use in my program?
+
+hwloc lets you manipulate multiple topologies at the same time.
+However these topologies consume memory and system resources
+(for instance file descriptors) until they are destroyed.
+It is therefore discouraged to open the same topology multiple
+times.
+
+Sharing a single topology between threads is easy (see \ref threadsafety)
+since the vast majority of accesses are read-only.
+
+If multiple topologies of different (but similar) nodes are needed
+in your program, have a look at \ref faq_diff.
+
+
 \section faq_diff How to avoid memory waste when manipulating multiple similar topologies?
 
 hwloc does not share information between topologies.
@@ -2636,12 +2659,56 @@ If loading topologies is slow because the machine contains tons of
 processors, one should also consider using XML (see \ref faq_xml).
 
 
+\section faq_os_error What should I do when hwloc reports "operating system" warnings?
+
+When the operating system reports invalid locality information (because
+of either software or hardware bugs), hwloc may fail to insert some objects
+in the topology because they cannot fit in the already built tree of resources.
+If so, hwloc will report a warning like the following.
+The object causing this error is ignored, the discovery continues but the
+resulting topology will miss some objects and may be asymmetric
+(see also \ref faq_asymmetric).
+
+\verbatim
+****************************************************************************
+* hwloc has encountered what looks like an error from the operating system.
+*
+* L3 (cpuset 0x000003f0) intersects with NUMANode (P#0 cpuset 0x0000003f) without inclusion!
+* Error occurred in topology.c line 940
+*
+* Please report this error message to the hwloc user's mailing list,
+* along with the output from the hwloc-gather-topology script.
+****************************************************************************
+\endverbatim
+
+As explained in the message, reporting this issue to the hwloc developers
+(by sending the tarball that is generated by the hwloc-gather-topology script
+ on this platform) is a good way to make sure that this is a software
+(operating system) or hardware bug (BIOS, etc).
+
+These errors are common on large AMD platforms because several BIOS releases
+fail to properly report L3 caches. In the above example, the hardware reports
+a L3 cache that is shared by 2 cores in the first NUMA node and 4 cores
+in the second NUMA node. That's wrong, it should actually be shared by all 6
+cores in a single NUMA node.
+The resulting topology will miss some L3 caches.
+If your application not care about cache sharing, or if you do not plan to
+request cache-aware binding in your process launcher, you may likely ignore
+this error.
+
+Some platforms report similar warnings about conflicting Packages and NUMANodes.
+Upgrading the BIOS and/or the operating system may help.
+Otherwise, the warning may be hidden by setting HWLOC_HIDE_ERRORS=1
+in your environment.
+
+
 \section faq_privileged Does hwloc require privileged access?
 
 hwloc discovers the topology by querying the operating system.
 Some minor features may require privileged access to the operation
 system.
-For instance PCI link speed discovery on Linux is reserved to root,
+For instance memory device and PCI link speed discovery on Linux
+is reserved to root,
 and the entire PCI discovery on FreeBSD requires access to the
 /dev/pci special file.
 
@@ -2677,29 +2744,57 @@ the latencies between any pairs of NUMA nodes if the BIOS and/or operating
 system reports them.
 
 
-\section faq_smt How may I ignore symmetric multithreading, hyper-threading, ... ?
+\section faq_nosmt What happens to my topology if I disable symmetric multithreading, hyper-threading, etc. ?
 
 hwloc creates one PU (processing unit) object per hardware thread.
 If your machine supports symmetric multithreading, for instance Hyper-Threading,
-each Core object may contain multiple PU objects.
+each Core object may contain multiple PU objects:
 \verbatim
 $ lstopo -
 ...
+  Core L#0
+    PU L#0 (P#0)
+    PU L#1 (P#2)
   Core L#1
     PU L#2 (P#1)
     PU L#3 (P#3)
 \endverbatim
 
-If you need to ignore symmetric multithreading, you should likely manipulate
-hwloc Core objects directly:
+x86 machines usually offer the ability to disable hyper-threading in the BIOS.
+Or it can be disabled on the Linux kernel command-line at boot time,
+or later by writing in sysfs virtual files.
+
+If you do so, the hwloc topology structure does not significantly change,
+but some PU objects will not appear anymore.
+No level will disappear, you will see the same number of Core objects,
+but each of them will contain a single PU now.
+The PU level does not disappear either
+(remember that hwloc topologies always contain a PU level at the bottom of the topology)
+even if there is a single PU object per Core parent.
+\verbatim
+$ lstopo -
+...
+  Core L#0
+    PU L#0 (P#0)
+  Core L#1
+    PU L#1 (P#1)
+\endverbatim
+
+
+\section faq_smt How may I ignore symmetric multithreading, hyper-threading, etc. ?
+
+First, see \ref faq_nosmt for more information about multithreading.
+
+If you need to ignore symmetric multithreading in software,
+you should likely manipulate hwloc Core objects directly:
 \verbatim
 /* get the number of cores */
 unsigned nbcores = hwloc_get_nbobjs_by_type(topology, HWLOC_OBJ_CORE);
 ...
-/* get the third core below the first socket */
-hwloc_obj_t socket, core;
-socket = hwloc_get_obj_by_type(topology, HWLOC_OBJ_SOCKET, 0);
-core = hwloc_get_obj_inside_cpuset_by_type(topology, socket->cpuset,
+/* get the third core below the first package */
+hwloc_obj_t package, core;
+package = hwloc_get_obj_by_type(topology, HWLOC_OBJ_PACKAGE, 0);
+core = hwloc_get_obj_inside_cpuset_by_type(topology, package->cpuset,
                                            HWLOC_OBJ_CORE, 2);
 \endverbatim
 
@@ -2794,9 +2889,18 @@ attributes may exist for each object, even with the same name.
 These attributes are always exported to XML.
 However only character strings may be used as key names and values.
 
-It is also possible to insert Misc objects with custom names anywhere
-in the topology (<tt>hwloc_topology_insert_misc_object_by_cpuset()</tt>)
-or as a leaf of the topology (<tt>hwloc_topology_insert_misc_object_by_parent()</tt>).
+It is also possible to insert Misc objects with a custom name
+anywhere as a leaf of the topology (see \ref miscobjs).
+And Misc objects may have their own userdata and info attributes
+just like any other object.
+
+The hwloc-annotate command-line tool may be used for adding
+Misc objects and info attributes.
+
+There is also a topology-specific userdata pointer that can be used
+to recognize different topologies by storing a custom pointer.
+It may be manipulated with <tt>hwloc_topology_set_userdata()</tt>
+and <tt>hwloc_topology_get_userdata()</tt>.
 
 
 \section faq_valgrind Why does Valgrind complain about hwloc memory leaks?
@@ -2822,35 +2926,45 @@ You should pass the following command-line option to Valgrind to use it:
 \endverbatim
 
 
-\section faq_upgrade How do I handle API upgrades?
+\section faq_upgrade How do I handle ABI breaks and API upgrades?
 
 The hwloc interface is extended with every new major release.
 Any application using the hwloc API should be prepared to check at
 compile-time whether some features are available in the currently
 installed hwloc distribution.
 
-To check whether the hwloc version is at least 1.5, you should use:
+For instance, to check whether the hwloc version is at least 1.10, you should use:
 \verbatim
 #include <hwloc.h>
-#if HWLOC_API_VERSION >= 0x00010500
+#if HWLOC_API_VERSION >= 0x00010a00
 ...
 #endif
 \endverbatim
 
-One important change in hwloc 1.5 is the removal of the deprecated
-cpuset API, which was superseded by the new bitmap API since hwloc 1.1.
-If your code must work with very old hwloc releases, you should use
-the latest bitmap API anyway. Then, use something similar to the
-following code to support old cpuset-only hwloc versions:
+The hwloc interface will be deeply modified in release 2.0
+to fix several issues of the 1.x interface.
+The ABI will be broken, which means
+<b>applications must be recompiled against the new 2.0 interface</b>.
+
+To check that you are not mixing old/recent headers with a recent/old runtime library:
 \verbatim
 #include <hwloc.h>
-#if HWLOC_API_VERSION < 0x00010100
-#define hwloc_bitmap_alloc hwloc_cpuset_alloc
+#if HWLOC_API_VERSION >= 0x00020000
+  /* headers are recent */
+  if (hwloc_get_api_version() < 0x20000)
+    ... error out, the hwloc runtime library is older than 2.0 ...
+#else
+  /* headers are pre-2.0 */
+  if (hwloc_get_api_version() >= 0x20000)
+    ... error out, the hwloc runtime library is more recent than 2.0 ...
 #endif
 \endverbatim
 
-hwloc 0.9 did not define any <tt>HWLOC_API_VERSION</tt> but this very old
-release probably does not deserve support from your application anymore.
+You should not try to remain compatible with very old releases such as
+1.1.x or earlier because <tt>HWLOC_API_VERSION</tt> was added in 1.0.0
+and <tt>hwloc_get_api_version()</tt> came only in 1.1.1.
+Also do not use the old cpuset API since it was deprecated and superseded
+by the bitmap API in 1.1, and later removed in 1.5.
 
 
 \section faq_bgq How do I build hwloc for BlueGene/Q?
@@ -2880,4 +2994,24 @@ The <tt>security.models.extensions.user_set_cpu_affinity</tt>
 sysctl variable must be set to 1 to do so.
 Otherwise, only the number of logical processors will be detected.
 
+
+\section faq_phi How do I build for Intel Xeon Phi coprocessor?
+
+Intel Xeon Phi coprocessors usually runs a Linux environment but cross-compiling from the host is required.
+hwloc uses standard autotools options for cross-compiling.
+For instance, to build for a <em>Knights Corner (KNC)</em> coprocessor:
+
+If building with <tt>icc</tt>:
+\verbatim
+./configure CC="icc -mmic" --host=x86_64-k1om-linux --build=x86_64-unknown-linux-gnu
+\endverbatim
+
+If building with the Xeon Phi-specific GCC that comes with the MPSS environment\n
+for instance <tt>/usr/linux-k1om-4.7/bin/x86_64-k1om-linux-gcc</tt>:
+\verbatim
+export PATH=$PATH:/usr/linux-k1om-4.7/bin/
+./configure --host=x86_64-k1om-linux --build=x86_64-unknown-linux-gnu
+\endverbatim
+
+
 */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/devel09-pci.pdf b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/devel09-pci.pdf
index 95e7b35..d30afba 100644
Binary files a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/devel09-pci.pdf and b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/devel09-pci.pdf differ
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/devel09-pci.png b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/devel09-pci.png
index fdbf891..a7d6dde 100644
Binary files a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/devel09-pci.png and b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/devel09-pci.png differ
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/devel09-pci.xml b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/devel09-pci.xml
index 330cb7f..7d5ad83 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/devel09-pci.xml
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/devel09-pci.xml
@@ -27,7 +27,7 @@
     <object type="NUMANode" os_level="-1" os_index="0" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="12884901888">
       <page_type size="4096" count="3145728"/>
       <page_type size="2097152" count="0"/>
-      <object type="Socket" os_level="-1" os_index="1" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+      <object type="Package" os_level="-1" os_index="1" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
         <object type="Cache" os_level="-1" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="8388608" depth="3" cache_linesize="64" cache_associativity="16">
           <object type="Cache" os_level="-1" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8">
             <object type="Cache" os_level="-1" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8">
@@ -97,7 +97,7 @@
     <object type="NUMANode" os_level="-1" os_index="1" cpuset="0x0000000a" complete_cpuset="0x0000000a" online_cpuset="0x0000000a" allowed_cpuset="0x0000000a" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="12874317824">
       <page_type size="4096" count="3143144"/>
       <page_type size="2097152" count="0"/>
-      <object type="Socket" os_level="-1" os_index="0" cpuset="0x0000000a" complete_cpuset="0x0000000a" online_cpuset="0x0000000a" allowed_cpuset="0x0000000a" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+      <object type="Package" os_level="-1" os_index="0" cpuset="0x0000000a" complete_cpuset="0x0000000a" online_cpuset="0x0000000a" allowed_cpuset="0x0000000a" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <object type="Cache" os_level="-1" cpuset="0x0000000a" complete_cpuset="0x0000000a" online_cpuset="0x0000000a" allowed_cpuset="0x0000000a" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="8388608" depth="3" cache_linesize="64" cache_associativity="16">
           <object type="Cache" os_level="-1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8">
             <object type="Cache" os_level="-1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/diagram.fig b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/diagram.fig
index ec0f05d..4ac9daf 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/diagram.fig
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/diagram.fig
@@ -12,7 +12,7 @@ Single
 	 3060 3330 4500 3330
 2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
 	 4500 4500 4500 3060 3060 3060 3060 4500 4500 4500
-4 0 0 50 -1 0 14 0.0000 4 165 645 3150 3285 Socket\001
+4 0 0 50 -1 0 14 0.0000 4 165 645 3150 3285 Package\001
 4 0 0 50 -1 0 12 0.0000 4 180 810 3150 3510 .depth = 1\001
 4 0 0 50 -1 0 12 0.0000 4 180 1440 3150 3735 .logical_index =0\001
 4 0 0 50 -1 0 12 0.0000 4 165 1095 3150 3960 .os_index = 0\001
@@ -55,7 +55,7 @@ Single
 4 0 4 50 -1 0 12 0.0000 4 180 675 4770 1395 depth=0\001
 -6
 6 2115 3150 2790 3780
-4 0 4 50 -1 0 12 0.0000 4 135 555 2115 3285 Socket\001
+4 0 4 50 -1 0 12 0.0000 4 135 555 2115 3285 Package\001
 4 0 4 50 -1 0 12 0.0000 4 135 405 2115 3510 level\001
 4 0 4 50 -1 0 12 0.0000 4 180 675 2115 3735 depth=1\001
 -6
@@ -375,7 +375,7 @@ Single
 4 0 0 50 -1 0 12 0.0000 4 180 1485 8505 3735 .logical_index = 1\001
 4 0 0 50 -1 0 12 0.0000 4 165 1095 8505 3960 .os_index = 1\001
 4 0 0 50 -1 0 12 0.0000 4 180 810 8505 3510 .depth = 1\001
-4 0 0 50 -1 0 14 0.0000 4 165 645 8505 3285 Socket\001
+4 0 0 50 -1 0 14 0.0000 4 165 645 8505 3285 Package\001
 4 0 0 50 -1 0 12 0.0000 4 180 1290 8505 4185 .sibling_rank=1\001
 4 0 0 50 -1 0 12 0.0000 4 165 510 4455 2970 parent\001
 4 0 0 50 -1 0 12 0.0000 4 165 1005 4545 3960 next_cousin\001
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/dudley.png b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/dudley.png
index 639f918..1423d39 100644
Binary files a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/dudley.png and b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/dudley.png differ
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/dudley.xml b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/dudley.xml
index e329ce2..3b83965 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/dudley.xml
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/dudley.xml
@@ -3,7 +3,7 @@
 <topology>
   <object type="Machine" os_level="-1" os_index="0" cpuset="0x0000ffff" complete_cpuset="0x0000ffff" online_cpuset="0x0000ffff" allowed_cpuset="0x0000ffff">
     <info name="Backend" value="Linux"/>
-    <object type="Socket" os_level="-1" os_index="0" cpuset="0x00001111" complete_cpuset="0x00001111" online_cpuset="0x00001111" allowed_cpuset="0x00001111">
+    <object type="Package" os_level="-1" os_index="0" cpuset="0x00001111" complete_cpuset="0x00001111" online_cpuset="0x00001111" allowed_cpuset="0x00001111">
       <object type="Cache" os_level="-1" cpuset="0x00001111" complete_cpuset="0x00001111" online_cpuset="0x00001111" allowed_cpuset="0x00001111" cache_size="4194304" depth="3" cache_linesize="64">
         <object type="Cache" os_level="-1" cpuset="0x00000101" complete_cpuset="0x00000101" online_cpuset="0x00000101" allowed_cpuset="0x00000101" cache_size="1048576" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" cpuset="0x00000101" complete_cpuset="0x00000101" online_cpuset="0x00000101" allowed_cpuset="0x00000101" cache_size="16384" depth="1" cache_linesize="64">
@@ -23,7 +23,7 @@
         </object>
       </object>
     </object>
-    <object type="Socket" os_level="-1" os_index="1" cpuset="0x00002222" complete_cpuset="0x00002222" online_cpuset="0x00002222" allowed_cpuset="0x00002222">
+    <object type="Package" os_level="-1" os_index="1" cpuset="0x00002222" complete_cpuset="0x00002222" online_cpuset="0x00002222" allowed_cpuset="0x00002222">
       <object type="Cache" os_level="-1" cpuset="0x00002222" complete_cpuset="0x00002222" online_cpuset="0x00002222" allowed_cpuset="0x00002222" cache_size="4194304" depth="3" cache_linesize="64">
         <object type="Cache" os_level="-1" cpuset="0x00000202" complete_cpuset="0x00000202" online_cpuset="0x00000202" allowed_cpuset="0x00000202" cache_size="1048576" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" cpuset="0x00000202" complete_cpuset="0x00000202" online_cpuset="0x00000202" allowed_cpuset="0x00000202" cache_size="16384" depth="1" cache_linesize="64">
@@ -43,7 +43,7 @@
         </object>
       </object>
     </object>
-    <object type="Socket" os_level="-1" os_index="2" cpuset="0x00004444" complete_cpuset="0x00004444" online_cpuset="0x00004444" allowed_cpuset="0x00004444">
+    <object type="Package" os_level="-1" os_index="2" cpuset="0x00004444" complete_cpuset="0x00004444" online_cpuset="0x00004444" allowed_cpuset="0x00004444">
       <object type="Cache" os_level="-1" cpuset="0x00004444" complete_cpuset="0x00004444" online_cpuset="0x00004444" allowed_cpuset="0x00004444" cache_size="4194304" depth="3" cache_linesize="64">
         <object type="Cache" os_level="-1" cpuset="0x00000404" complete_cpuset="0x00000404" online_cpuset="0x00000404" allowed_cpuset="0x00000404" cache_size="1048576" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" cpuset="0x00000404" complete_cpuset="0x00000404" online_cpuset="0x00000404" allowed_cpuset="0x00000404" cache_size="16384" depth="1" cache_linesize="64">
@@ -63,7 +63,7 @@
         </object>
       </object>
     </object>
-    <object type="Socket" os_level="-1" os_index="3" cpuset="0x00008888" complete_cpuset="0x00008888" online_cpuset="0x00008888" allowed_cpuset="0x00008888">
+    <object type="Package" os_level="-1" os_index="3" cpuset="0x00008888" complete_cpuset="0x00008888" online_cpuset="0x00008888" allowed_cpuset="0x00008888">
       <object type="Cache" os_level="-1" cpuset="0x00008888" complete_cpuset="0x00008888" online_cpuset="0x00008888" allowed_cpuset="0x00008888" cache_size="4194304" depth="3" cache_linesize="64">
         <object type="Cache" os_level="-1" cpuset="0x00000808" complete_cpuset="0x00000808" online_cpuset="0x00000808" allowed_cpuset="0x00000808" cache_size="1048576" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" cpuset="0x00000808" complete_cpuset="0x00000808" online_cpuset="0x00000808" allowed_cpuset="0x00000808" cache_size="16384" depth="1" cache_linesize="64">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/emmett.png b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/emmett.png
index 0d35bfe..0e5c4cc 100644
Binary files a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/emmett.png and b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/emmett.png differ
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/emmett.xml b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/emmett.xml
index c37d4b0..b8d2715 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/emmett.xml
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/emmett.xml
@@ -24,7 +24,7 @@
     <info name="OSVersion" value="#1 SMP Fri Sep 17 21:50:19 UTC 2010"/>
     <info name="HostName" value="emmett"/>
     <info name="Architecture" value="x86_64"/>
-    <object type="Socket" os_level="-1" os_index="0" cpuset="0x00000055" complete_cpuset="0x00000055" online_cpuset="0x00000055" allowed_cpuset="0x00000055">
+    <object type="Package" os_level="-1" os_index="0" cpuset="0x00000055" complete_cpuset="0x00000055" online_cpuset="0x00000055" allowed_cpuset="0x00000055">
       <object type="Cache" os_level="-1" cpuset="0x00000011" complete_cpuset="0x00000011" online_cpuset="0x00000011" allowed_cpuset="0x00000011" cache_size="4194304" depth="2" cache_linesize="64">
         <object type="Cache" os_level="-1" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" cache_size="32768" depth="1" cache_linesize="64">
           <object type="Core" os_level="-1" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001">
@@ -50,7 +50,7 @@
         </object>
       </object>
     </object>
-    <object type="Socket" os_level="-1" os_index="1" cpuset="0x000000aa" complete_cpuset="0x000000aa" online_cpuset="0x000000aa" allowed_cpuset="0x000000aa">
+    <object type="Package" os_level="-1" os_index="1" cpuset="0x000000aa" complete_cpuset="0x000000aa" online_cpuset="0x000000aa" allowed_cpuset="0x000000aa">
       <object type="Cache" os_level="-1" cpuset="0x00000022" complete_cpuset="0x00000022" online_cpuset="0x00000022" allowed_cpuset="0x00000022" cache_size="4194304" depth="2" cache_linesize="64">
         <object type="Cache" os_level="-1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" cache_size="32768" depth="1" cache_linesize="64">
           <object type="Core" os_level="-1" os_index="0" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/hagrid.png b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/hagrid.png
index a015f73..833018c 100644
Binary files a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/hagrid.png and b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/hagrid.png differ
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/hagrid.xml b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/hagrid.xml
index f9b7c05..3a4950f 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/hagrid.xml
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/hagrid.xml
@@ -8,7 +8,7 @@
     <info name="DMIBoardAssetTag" value=""/>
     <info name="Backend" value="Linux"/>
     <object type="NUMANode" os_level="-1" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="8587984896">
-      <object type="Socket" os_level="-1" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+      <object type="Package" os_level="-1" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
         <object type="Cache" os_level="-1" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="1048576" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="65536" depth="1" cache_linesize="64">
             <object type="Core" os_level="-1" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
@@ -26,7 +26,7 @@
       </object>
     </object>
     <object type="NUMANode" os_level="-1" os_index="1" cpuset="0x0000000c" complete_cpuset="0x0000000c" online_cpuset="0x0000000c" allowed_cpuset="0x0000000c" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="8589934592">
-      <object type="Socket" os_level="-1" os_index="1" cpuset="0x0000000c" complete_cpuset="0x0000000c" online_cpuset="0x0000000c" allowed_cpuset="0x0000000c" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+      <object type="Package" os_level="-1" os_index="1" cpuset="0x0000000c" complete_cpuset="0x0000000c" online_cpuset="0x0000000c" allowed_cpuset="0x0000000c" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <object type="Cache" os_level="-1" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="1048576" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="65536" depth="1" cache_linesize="64">
             <object type="Core" os_level="-1" os_index="0" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
@@ -44,7 +44,7 @@
       </object>
     </object>
     <object type="NUMANode" os_level="-1" os_index="2" cpuset="0x00000030" complete_cpuset="0x00000030" online_cpuset="0x00000030" allowed_cpuset="0x00000030" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" local_memory="8589934592">
-      <object type="Socket" os_level="-1" os_index="2" cpuset="0x00000030" complete_cpuset="0x00000030" online_cpuset="0x00000030" allowed_cpuset="0x00000030" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+      <object type="Package" os_level="-1" os_index="2" cpuset="0x00000030" complete_cpuset="0x00000030" online_cpuset="0x00000030" allowed_cpuset="0x00000030" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
         <object type="Cache" os_level="-1" cpuset="0x00000010" complete_cpuset="0x00000010" online_cpuset="0x00000010" allowed_cpuset="0x00000010" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="1048576" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" cpuset="0x00000010" complete_cpuset="0x00000010" online_cpuset="0x00000010" allowed_cpuset="0x00000010" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="65536" depth="1" cache_linesize="64">
             <object type="Core" os_level="-1" os_index="0" cpuset="0x00000010" complete_cpuset="0x00000010" online_cpuset="0x00000010" allowed_cpuset="0x00000010" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
@@ -62,7 +62,7 @@
       </object>
     </object>
     <object type="NUMANode" os_level="-1" os_index="3" cpuset="0x000000c0" complete_cpuset="0x000000c0" online_cpuset="0x000000c0" allowed_cpuset="0x000000c0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" local_memory="8589934592">
-      <object type="Socket" os_level="-1" os_index="3" cpuset="0x000000c0" complete_cpuset="0x000000c0" online_cpuset="0x000000c0" allowed_cpuset="0x000000c0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+      <object type="Package" os_level="-1" os_index="3" cpuset="0x000000c0" complete_cpuset="0x000000c0" online_cpuset="0x000000c0" allowed_cpuset="0x000000c0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
         <object type="Cache" os_level="-1" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="1048576" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="65536" depth="1" cache_linesize="64">
             <object type="Core" os_level="-1" os_index="0" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-full-with-smt.pdf b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-full-with-smt.pdf
index 84810a5..431c469 100644
Binary files a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-full-with-smt.pdf and b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-full-with-smt.pdf differ
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-full-with-smt.png b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-full-with-smt.png
index 5caeb6a..ca58fb8 100644
Binary files a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-full-with-smt.png and b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-full-with-smt.png differ
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-full-with-smt.xml b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-full-with-smt.xml
index 2f42025..413af3c 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-full-with-smt.xml
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-full-with-smt.xml
@@ -4,7 +4,7 @@
   <object type="Machine" os_level="-1" os_index="0" cpuset="0xffffffff,0xffffffff" complete_cpuset="0xffffffff,0xffffffff" online_cpuset="0xffffffff,0xffffffff" allowed_cpuset="0xffffffff,0xffffffff" nodeset="0x0000000f" complete_nodeset="0x0000000f" allowed_nodeset="0x0000000f">
     <info name="Backend" value="Synthetic"/>
     <object type="NUMANode" os_level="-1" os_index="0" cpuset="0x0000ffff" complete_cpuset="0x0000ffff" online_cpuset="0x0000ffff" allowed_cpuset="0x0000ffff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="31943819264">
-      <object type="Socket" os_level="-1" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+      <object type="Package" os_level="-1" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
         <object type="Cache" os_level="-1" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="33554432" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="4194304" depth="3" cache_linesize="64">
             <object type="Cache" os_level="-1" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="65536" depth="1" cache_linesize="64">
@@ -22,7 +22,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_level="-1" os_index="1" cpuset="0x000000f0" complete_cpuset="0x000000f0" online_cpuset="0x000000f0" allowed_cpuset="0x000000f0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+      <object type="Package" os_level="-1" os_index="1" cpuset="0x000000f0" complete_cpuset="0x000000f0" online_cpuset="0x000000f0" allowed_cpuset="0x000000f0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
         <object type="Cache" os_level="-1" os_index="1" cpuset="0x000000f0" complete_cpuset="0x000000f0" online_cpuset="0x000000f0" allowed_cpuset="0x000000f0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="33554432" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" os_index="1" cpuset="0x000000f0" complete_cpuset="0x000000f0" online_cpuset="0x000000f0" allowed_cpuset="0x000000f0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="4194304" depth="3" cache_linesize="64">
             <object type="Cache" os_level="-1" os_index="2" cpuset="0x00000030" complete_cpuset="0x00000030" online_cpuset="0x00000030" allowed_cpuset="0x00000030" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="65536" depth="1" cache_linesize="64">
@@ -40,7 +40,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_level="-1" os_index="2" cpuset="0x00000f00" complete_cpuset="0x00000f00" online_cpuset="0x00000f00" allowed_cpuset="0x00000f00" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+      <object type="Package" os_level="-1" os_index="2" cpuset="0x00000f00" complete_cpuset="0x00000f00" online_cpuset="0x00000f00" allowed_cpuset="0x00000f00" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
         <object type="Cache" os_level="-1" os_index="2" cpuset="0x00000f00" complete_cpuset="0x00000f00" online_cpuset="0x00000f00" allowed_cpuset="0x00000f00" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="33554432" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" os_index="2" cpuset="0x00000f00" complete_cpuset="0x00000f00" online_cpuset="0x00000f00" allowed_cpuset="0x00000f00" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="4194304" depth="3" cache_linesize="64">
             <object type="Cache" os_level="-1" os_index="4" cpuset="0x00000300" complete_cpuset="0x00000300" online_cpuset="0x00000300" allowed_cpuset="0x00000300" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="65536" depth="1" cache_linesize="64">
@@ -58,7 +58,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_level="-1" os_index="3" cpuset="0x0000f000" complete_cpuset="0x0000f000" online_cpuset="0x0000f000" allowed_cpuset="0x0000f000" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+      <object type="Package" os_level="-1" os_index="3" cpuset="0x0000f000" complete_cpuset="0x0000f000" online_cpuset="0x0000f000" allowed_cpuset="0x0000f000" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
         <object type="Cache" os_level="-1" os_index="3" cpuset="0x0000f000" complete_cpuset="0x0000f000" online_cpuset="0x0000f000" allowed_cpuset="0x0000f000" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="33554432" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" os_index="3" cpuset="0x0000f000" complete_cpuset="0x0000f000" online_cpuset="0x0000f000" allowed_cpuset="0x0000f000" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="4194304" depth="3" cache_linesize="64">
             <object type="Cache" os_level="-1" os_index="6" cpuset="0x00003000" complete_cpuset="0x00003000" online_cpuset="0x00003000" allowed_cpuset="0x00003000" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="65536" depth="1" cache_linesize="64">
@@ -78,7 +78,7 @@
       </object>
     </object>
     <object type="NUMANode" os_level="-1" os_index="1" cpuset="0xffff0000" complete_cpuset="0xffff0000" online_cpuset="0xffff0000" allowed_cpuset="0xffff0000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="33554432000">
-      <object type="Socket" os_level="-1" os_index="4" cpuset="0x000f0000" complete_cpuset="0x000f0000" online_cpuset="0x000f0000" allowed_cpuset="0x000f0000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+      <object type="Package" os_level="-1" os_index="4" cpuset="0x000f0000" complete_cpuset="0x000f0000" online_cpuset="0x000f0000" allowed_cpuset="0x000f0000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <object type="Cache" os_level="-1" os_index="4" cpuset="0x000f0000" complete_cpuset="0x000f0000" online_cpuset="0x000f0000" allowed_cpuset="0x000f0000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="33554432" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" os_index="4" cpuset="0x000f0000" complete_cpuset="0x000f0000" online_cpuset="0x000f0000" allowed_cpuset="0x000f0000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="4194304" depth="3" cache_linesize="64">
             <object type="Cache" os_level="-1" os_index="8" cpuset="0x00030000" complete_cpuset="0x00030000" online_cpuset="0x00030000" allowed_cpuset="0x00030000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="65536" depth="1" cache_linesize="64">
@@ -96,7 +96,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_level="-1" os_index="5" cpuset="0x00f00000" complete_cpuset="0x00f00000" online_cpuset="0x00f00000" allowed_cpuset="0x00f00000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+      <object type="Package" os_level="-1" os_index="5" cpuset="0x00f00000" complete_cpuset="0x00f00000" online_cpuset="0x00f00000" allowed_cpuset="0x00f00000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <object type="Cache" os_level="-1" os_index="5" cpuset="0x00f00000" complete_cpuset="0x00f00000" online_cpuset="0x00f00000" allowed_cpuset="0x00f00000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="33554432" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" os_index="5" cpuset="0x00f00000" complete_cpuset="0x00f00000" online_cpuset="0x00f00000" allowed_cpuset="0x00f00000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="4194304" depth="3" cache_linesize="64">
             <object type="Cache" os_level="-1" os_index="10" cpuset="0x00300000" complete_cpuset="0x00300000" online_cpuset="0x00300000" allowed_cpuset="0x00300000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="65536" depth="1" cache_linesize="64">
@@ -114,7 +114,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_level="-1" os_index="6" cpuset="0x0f000000" complete_cpuset="0x0f000000" online_cpuset="0x0f000000" allowed_cpuset="0x0f000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+      <object type="Package" os_level="-1" os_index="6" cpuset="0x0f000000" complete_cpuset="0x0f000000" online_cpuset="0x0f000000" allowed_cpuset="0x0f000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <object type="Cache" os_level="-1" os_index="6" cpuset="0x0f000000" complete_cpuset="0x0f000000" online_cpuset="0x0f000000" allowed_cpuset="0x0f000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="33554432" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" os_index="6" cpuset="0x0f000000" complete_cpuset="0x0f000000" online_cpuset="0x0f000000" allowed_cpuset="0x0f000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="4194304" depth="3" cache_linesize="64">
             <object type="Cache" os_level="-1" os_index="12" cpuset="0x03000000" complete_cpuset="0x03000000" online_cpuset="0x03000000" allowed_cpuset="0x03000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="65536" depth="1" cache_linesize="64">
@@ -132,7 +132,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_level="-1" os_index="7" cpuset="0xf0000000" complete_cpuset="0xf0000000" online_cpuset="0xf0000000" allowed_cpuset="0xf0000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+      <object type="Package" os_level="-1" os_index="7" cpuset="0xf0000000" complete_cpuset="0xf0000000" online_cpuset="0xf0000000" allowed_cpuset="0xf0000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <object type="Cache" os_level="-1" os_index="7" cpuset="0xf0000000" complete_cpuset="0xf0000000" online_cpuset="0xf0000000" allowed_cpuset="0xf0000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="33554432" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" os_index="7" cpuset="0xf0000000" complete_cpuset="0xf0000000" online_cpuset="0xf0000000" allowed_cpuset="0xf0000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="4194304" depth="3" cache_linesize="64">
             <object type="Cache" os_level="-1" os_index="14" cpuset="0x30000000" complete_cpuset="0x30000000" online_cpuset="0x30000000" allowed_cpuset="0x30000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="65536" depth="1" cache_linesize="64">
@@ -152,7 +152,7 @@
       </object>
     </object>
     <object type="NUMANode" os_level="-1" os_index="2" cpuset="0x0000ffff,0x0" complete_cpuset="0x0000ffff,0x0" online_cpuset="0x0000ffff,0x0" allowed_cpuset="0x0000ffff,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" local_memory="33554432000">
-      <object type="Socket" os_level="-1" os_index="8" cpuset="0x0000000f,0x0" complete_cpuset="0x0000000f,0x0" online_cpuset="0x0000000f,0x0" allowed_cpuset="0x0000000f,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+      <object type="Package" os_level="-1" os_index="8" cpuset="0x0000000f,0x0" complete_cpuset="0x0000000f,0x0" online_cpuset="0x0000000f,0x0" allowed_cpuset="0x0000000f,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
         <object type="Cache" os_level="-1" os_index="8" cpuset="0x0000000f,0x0" complete_cpuset="0x0000000f,0x0" online_cpuset="0x0000000f,0x0" allowed_cpuset="0x0000000f,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="33554432" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" os_index="8" cpuset="0x0000000f,0x0" complete_cpuset="0x0000000f,0x0" online_cpuset="0x0000000f,0x0" allowed_cpuset="0x0000000f,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="4194304" depth="3" cache_linesize="64">
             <object type="Cache" os_level="-1" os_index="16" cpuset="0x00000003,0x0" complete_cpuset="0x00000003,0x0" online_cpuset="0x00000003,0x0" allowed_cpuset="0x00000003,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="65536" depth="1" cache_linesize="64">
@@ -170,7 +170,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_level="-1" os_index="9" cpuset="0x000000f0,0x0" complete_cpuset="0x000000f0,0x0" online_cpuset="0x000000f0,0x0" allowed_cpuset="0x000000f0,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+      <object type="Package" os_level="-1" os_index="9" cpuset="0x000000f0,0x0" complete_cpuset="0x000000f0,0x0" online_cpuset="0x000000f0,0x0" allowed_cpuset="0x000000f0,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
         <object type="Cache" os_level="-1" os_index="9" cpuset="0x000000f0,0x0" complete_cpuset="0x000000f0,0x0" online_cpuset="0x000000f0,0x0" allowed_cpuset="0x000000f0,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="33554432" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" os_index="9" cpuset="0x000000f0,0x0" complete_cpuset="0x000000f0,0x0" online_cpuset="0x000000f0,0x0" allowed_cpuset="0x000000f0,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="4194304" depth="3" cache_linesize="64">
             <object type="Cache" os_level="-1" os_index="18" cpuset="0x00000030,0x0" complete_cpuset="0x00000030,0x0" online_cpuset="0x00000030,0x0" allowed_cpuset="0x00000030,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="65536" depth="1" cache_linesize="64">
@@ -188,7 +188,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_level="-1" os_index="10" cpuset="0x00000f00,0x0" complete_cpuset="0x00000f00,0x0" online_cpuset="0x00000f00,0x0" allowed_cpuset="0x00000f00,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+      <object type="Package" os_level="-1" os_index="10" cpuset="0x00000f00,0x0" complete_cpuset="0x00000f00,0x0" online_cpuset="0x00000f00,0x0" allowed_cpuset="0x00000f00,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
         <object type="Cache" os_level="-1" os_index="10" cpuset="0x00000f00,0x0" complete_cpuset="0x00000f00,0x0" online_cpuset="0x00000f00,0x0" allowed_cpuset="0x00000f00,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="33554432" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" os_index="10" cpuset="0x00000f00,0x0" complete_cpuset="0x00000f00,0x0" online_cpuset="0x00000f00,0x0" allowed_cpuset="0x00000f00,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="4194304" depth="3" cache_linesize="64">
             <object type="Cache" os_level="-1" os_index="20" cpuset="0x00000300,0x0" complete_cpuset="0x00000300,0x0" online_cpuset="0x00000300,0x0" allowed_cpuset="0x00000300,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="65536" depth="1" cache_linesize="64">
@@ -206,7 +206,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_level="-1" os_index="11" cpuset="0x0000f000,0x0" complete_cpuset="0x0000f000,0x0" online_cpuset="0x0000f000,0x0" allowed_cpuset="0x0000f000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+      <object type="Package" os_level="-1" os_index="11" cpuset="0x0000f000,0x0" complete_cpuset="0x0000f000,0x0" online_cpuset="0x0000f000,0x0" allowed_cpuset="0x0000f000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
         <object type="Cache" os_level="-1" os_index="11" cpuset="0x0000f000,0x0" complete_cpuset="0x0000f000,0x0" online_cpuset="0x0000f000,0x0" allowed_cpuset="0x0000f000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="33554432" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" os_index="11" cpuset="0x0000f000,0x0" complete_cpuset="0x0000f000,0x0" online_cpuset="0x0000f000,0x0" allowed_cpuset="0x0000f000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="4194304" depth="3" cache_linesize="64">
             <object type="Cache" os_level="-1" os_index="22" cpuset="0x00003000,0x0" complete_cpuset="0x00003000,0x0" online_cpuset="0x00003000,0x0" allowed_cpuset="0x00003000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="65536" depth="1" cache_linesize="64">
@@ -226,7 +226,7 @@
       </object>
     </object>
     <object type="NUMANode" os_level="-1" os_index="3" cpuset="0xffff0000,0x0" complete_cpuset="0xffff0000,0x0" online_cpuset="0xffff0000,0x0" allowed_cpuset="0xffff0000,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" local_memory="33554432000">
-      <object type="Socket" os_level="-1" os_index="12" cpuset="0x000f0000,0x0" complete_cpuset="0x000f0000,0x0" online_cpuset="0x000f0000,0x0" allowed_cpuset="0x000f0000,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+      <object type="Package" os_level="-1" os_index="12" cpuset="0x000f0000,0x0" complete_cpuset="0x000f0000,0x0" online_cpuset="0x000f0000,0x0" allowed_cpuset="0x000f0000,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
         <object type="Cache" os_level="-1" os_index="12" cpuset="0x000f0000,0x0" complete_cpuset="0x000f0000,0x0" online_cpuset="0x000f0000,0x0" allowed_cpuset="0x000f0000,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="33554432" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" os_index="12" cpuset="0x000f0000,0x0" complete_cpuset="0x000f0000,0x0" online_cpuset="0x000f0000,0x0" allowed_cpuset="0x000f0000,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="4194304" depth="3" cache_linesize="64">
             <object type="Cache" os_level="-1" os_index="24" cpuset="0x00030000,0x0" complete_cpuset="0x00030000,0x0" online_cpuset="0x00030000,0x0" allowed_cpuset="0x00030000,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="65536" depth="1" cache_linesize="64">
@@ -244,7 +244,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_level="-1" os_index="13" cpuset="0x00f00000,0x0" complete_cpuset="0x00f00000,0x0" online_cpuset="0x00f00000,0x0" allowed_cpuset="0x00f00000,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+      <object type="Package" os_level="-1" os_index="13" cpuset="0x00f00000,0x0" complete_cpuset="0x00f00000,0x0" online_cpuset="0x00f00000,0x0" allowed_cpuset="0x00f00000,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
         <object type="Cache" os_level="-1" os_index="13" cpuset="0x00f00000,0x0" complete_cpuset="0x00f00000,0x0" online_cpuset="0x00f00000,0x0" allowed_cpuset="0x00f00000,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="33554432" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" os_index="13" cpuset="0x00f00000,0x0" complete_cpuset="0x00f00000,0x0" online_cpuset="0x00f00000,0x0" allowed_cpuset="0x00f00000,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="4194304" depth="3" cache_linesize="64">
             <object type="Cache" os_level="-1" os_index="26" cpuset="0x00300000,0x0" complete_cpuset="0x00300000,0x0" online_cpuset="0x00300000,0x0" allowed_cpuset="0x00300000,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="65536" depth="1" cache_linesize="64">
@@ -262,7 +262,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_level="-1" os_index="14" cpuset="0x0f000000,0x0" complete_cpuset="0x0f000000,0x0" online_cpuset="0x0f000000,0x0" allowed_cpuset="0x0f000000,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+      <object type="Package" os_level="-1" os_index="14" cpuset="0x0f000000,0x0" complete_cpuset="0x0f000000,0x0" online_cpuset="0x0f000000,0x0" allowed_cpuset="0x0f000000,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
         <object type="Cache" os_level="-1" os_index="14" cpuset="0x0f000000,0x0" complete_cpuset="0x0f000000,0x0" online_cpuset="0x0f000000,0x0" allowed_cpuset="0x0f000000,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="33554432" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" os_index="14" cpuset="0x0f000000,0x0" complete_cpuset="0x0f000000,0x0" online_cpuset="0x0f000000,0x0" allowed_cpuset="0x0f000000,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="4194304" depth="3" cache_linesize="64">
             <object type="Cache" os_level="-1" os_index="28" cpuset="0x03000000,0x0" complete_cpuset="0x03000000,0x0" online_cpuset="0x03000000,0x0" allowed_cpuset="0x03000000,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="65536" depth="1" cache_linesize="64">
@@ -280,7 +280,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_level="-1" os_index="15" cpuset="0xf0000000,0x0" complete_cpuset="0xf0000000,0x0" online_cpuset="0xf0000000,0x0" allowed_cpuset="0xf0000000,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+      <object type="Package" os_level="-1" os_index="15" cpuset="0xf0000000,0x0" complete_cpuset="0xf0000000,0x0" online_cpuset="0xf0000000,0x0" allowed_cpuset="0xf0000000,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
         <object type="Cache" os_level="-1" os_index="15" cpuset="0xf0000000,0x0" complete_cpuset="0xf0000000,0x0" online_cpuset="0xf0000000,0x0" allowed_cpuset="0xf0000000,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="33554432" depth="2" cache_linesize="64">
           <object type="Cache" os_level="-1" os_index="15" cpuset="0xf0000000,0x0" complete_cpuset="0xf0000000,0x0" online_cpuset="0xf0000000,0x0" allowed_cpuset="0xf0000000,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="4194304" depth="3" cache_linesize="64">
             <object type="Cache" os_level="-1" os_index="30" cpuset="0x30000000,0x0" complete_cpuset="0x30000000,0x0" online_cpuset="0x30000000,0x0" allowed_cpuset="0x30000000,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="65536" depth="1" cache_linesize="64">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-with-smt.pdf b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-with-smt.pdf
index 21dbb93..3830036 100644
Binary files a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-with-smt.pdf and b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-with-smt.pdf differ
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-with-smt.png b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-with-smt.png
index 8d65bdd..4d2cc9a 100644
Binary files a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-with-smt.png and b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-with-smt.png differ
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-without-smt.pdf b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-without-smt.pdf
index e7bdd5b..ea7f0da 100644
Binary files a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-without-smt.pdf and b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-without-smt.pdf differ
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-without-smt.png b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-without-smt.png
index dd006fa..20bb346 100644
Binary files a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-without-smt.png and b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/images/ppc64-without-smt.png differ
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/www.open-mpi.org.cfg b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/www.open-mpi.org.cfg
index 0b43fa4..f4d8a5a 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/doc/www.open-mpi.org.cfg
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/doc/www.open-mpi.org.cfg
@@ -1,4 +1,4 @@
-# Copyright © 2010-2011 inria.  All rights reserved.
+# Copyright © 2010-2015 Inria.  All rights reserved.
 # Copyright © 2009 Cisco Systems, Inc.  All rights reserved.
 # See COPYING in top-level directory.
 
@@ -8,7 +8,7 @@
 
 @INCLUDE = doxygen.cfg
 
-#PROJECT_NUMBER     = @VERSION@
+#PROJECT_NUMBER     = @HWLOC_VERSION@
 OUTPUT_DIRECTORY    = www.open-mpi.org
 #EXAMPLE_PATH       = @top_srcdir@/doc
 #IMAGE_PATH         = @top_srcdir@/doc/images images
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/hwloc.pc.in b/src/pm/hydra/tools/topo/hwloc/hwloc/hwloc.pc.in
index 23327a8..266319b 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/hwloc.pc.in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/hwloc.pc.in
@@ -5,7 +5,7 @@ includedir=@includedir@
 
 Name: hwloc
 Description: Hardware locality detection and management library
-Version: @VERSION@
+Version: @HWLOC_VERSION@
 Requires.private: @HWLOC_REQUIRES@
 Cflags: -I${includedir}
 Libs: -L${libdir} -lhwloc
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/Makefile.am b/src/pm/hydra/tools/topo/hwloc/hwloc/include/Makefile.am
index bac3d23..e74fe44 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/Makefile.am
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/Makefile.am
@@ -1,5 +1,5 @@
 # Copyright © 2009-2014 Inria.  All rights reserved.
-# Copyright © 2009-2010 Université Bordeaux 1
+# Copyright © 2009-2010 Université Bordeaux
 # Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
 # Copyright © 2011      Oracle and/or its affiliates.  All rights reserved.
 # See COPYING in top-level directory.
@@ -27,7 +27,7 @@ include_hwloc_HEADERS = \
         hwloc/rename.h \
         hwloc/deprecated.h
 include_hwloc_autogendir = $(includedir)/hwloc/autogen
-nodist_include_hwloc_autogen_HEADERS = hwloc/autogen/config.h 
+nodist_include_hwloc_autogen_HEADERS = hwloc/autogen/config.h
 
 noinst_HEADERS = \
         private/private.h \
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc.h b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc.h
index 10c9672..66e1220 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc.h
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2012 Université Bordeaux 1
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2012 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -10,7 +10,7 @@
  *                 PLEASE GO READ THE DOCUMENTATION!
  *         ------------------------------------------------
  *               $tarball_directory/doc/doxygen-doc/
- *                                or                            
+ *                                or
  *           http://www.open-mpi.org/projects/hwloc/doc/
  *=====================================================================
  *
@@ -34,6 +34,9 @@
  *
  * Please, go read the documentation.  :-)
  *
+ * Moreover there are several examples of hwloc use under doc/examples
+ * in the source tree.
+ *
  *=====================================================================*/
 
 /** \file
@@ -75,13 +78,13 @@ extern "C" {
  */
 
 /** \brief Indicate at build time which hwloc API version is being used. */
-#define HWLOC_API_VERSION 0x00010900
+#define HWLOC_API_VERSION 0x00010b00
 
 /** \brief Indicate at runtime which hwloc API version was used at build time. */
 HWLOC_DECLSPEC unsigned hwloc_get_api_version(void);
 
 /** \brief Current component and plugin ABI version (see hwloc/plugins.h) */
-#define HWLOC_COMPONENT_ABI 3
+#define HWLOC_COMPONENT_ABI 4
 
 /** @} */
 
@@ -112,6 +115,9 @@ HWLOC_DECLSPEC unsigned hwloc_get_api_version(void);
  *
  * It may be consulted and modified with the bitmap API as any
  * ::hwloc_bitmap_t (see hwloc/bitmap.h).
+ *
+ * Each bit may be converted into a PU object using
+ * hwloc_get_pu_obj_by_os_index().
  */
 typedef hwloc_bitmap_t hwloc_cpuset_t;
 /** \brief A non-modifiable ::hwloc_cpuset_t. */
@@ -122,6 +128,8 @@ typedef hwloc_const_bitmap_t hwloc_const_cpuset_t;
  *
  * It may be consulted and modified with the bitmap API as any
  * ::hwloc_bitmap_t (see hwloc/bitmap.h).
+ * Each bit may be converted into a NUMA node object using
+ * hwloc_get_numanode_obj_by_os_index().
  *
  * When binding memory on a system without any NUMA node
  * (when the whole memory is considered as a single memory bank),
@@ -169,11 +177,11 @@ typedef enum {
 			  * A set of processors and memory with cache
 			  * coherency.
 			  */
-  HWLOC_OBJ_NODE,	/**< \brief NUMA node.
+  HWLOC_OBJ_NUMANODE,	/**< \brief NUMA node.
 			  * A set of processors around memory which the
 			  * processors can directly access.
 			  */
-  HWLOC_OBJ_SOCKET,	/**< \brief Socket, physical package, or chip.
+  HWLOC_OBJ_PACKAGE,	/**< \brief Physical package, what goes into a socket.
 			  * In the physical meaning, i.e. that you can add
 			  * or remove physically.
 			  */
@@ -207,7 +215,8 @@ typedef enum {
 
   HWLOC_OBJ_MISC,	/**< \brief Miscellaneous objects.
 			  * Objects without particular meaning, that can e.g. be
-			  * added by the application for its own use.
+			  * added by the application for its own use, or by hwloc
+			  * for miscellaneous objects such as MemoryDevice.
 			  */
 
   HWLOC_OBJ_BRIDGE,	/**< \brief Bridge.
@@ -282,12 +291,12 @@ typedef enum hwloc_obj_osdev_type_e {
  * can not be compared (because neither is usually contained in the other),
  * HWLOC_TYPE_UNORDERED is returned.  Object types containing CPUs can always
  * be compared (usually, a system contains machines which contain nodes which
- * contain sockets which contain caches, which contain cores, which contain
+ * contain packages which contain caches, which contain cores, which contain
  * processors).
  *
  * \note HWLOC_OBJ_PU will always be the deepest.
  * \note This does not mean that the actual topology will respect that order:
- * e.g. as of today cores may also contain caches, and sockets may also contain
+ * e.g. as of today cores may also contain caches, and packages may also contain
  * nodes. This is thus just to be seen as a fallback comparison method.
  */
 HWLOC_DECLSPEC int hwloc_compare_types (hwloc_obj_type_t type1, hwloc_obj_type_t type2) __hwloc_attribute_const;
@@ -331,7 +340,10 @@ struct hwloc_obj_memory_s {
 struct hwloc_obj {
   /* physical information */
   hwloc_obj_type_t type;		/**< \brief Type of object */
-  unsigned os_index;			/**< \brief OS-provided physical index number */
+  unsigned os_index;			/**< \brief OS-provided physical index number.
+					 * It is not guaranteed unique across the entire machine,
+					 * except for PUs and NUMA nodes.
+					 */
   char *name;				/**< \brief Object description if any */
 
   struct hwloc_obj_memory_s memory;	/**< \brief Memory attributes */
@@ -346,7 +358,9 @@ struct hwloc_obj {
 					 * of parent/child links from the root object to here.
 					 */
   unsigned logical_index;		/**< \brief Horizontal index in the whole list of similar objects,
-					 * could be a "cousin_rank" since it's the rank within the "cousin" list below */
+					 * hence guaranteed unique across the entire machine.
+					 * Could be a "cousin_rank" since it's the rank within the "cousin" list below
+					 */
   signed os_level;			/**< \brief OS-provided physical level, -1 if unknown or meaningless */
 
   /* cousins are all objects of the same type (and depth) across the entire topology */
@@ -529,8 +543,7 @@ union hwloc_obj_attr_u {
  * distances are available for all objects in the machine.
  *
  * If the \p latency pointer is not \c NULL, the pointed array contains
- * memory latencies (non-zero values), as defined by the ACPI SLIT
- * specification.
+ * memory latencies (non-zero values), see below.
  *
  * In the future, some other types of distances may be considered.
  * In these cases, \p latency may be \c NULL.
@@ -541,10 +554,17 @@ struct hwloc_distances_s {
   unsigned nbobjs;		/**< \brief Number of objects considered in the matrix.
 				 * It is the number of descendant objects at \p relative_depth
 				 * below the containing object.
-				 * It corresponds to the result of hwloc_get_nbobjs_inside_cpuset_by_depth. */
+				 * It corresponds to the result of hwloc_get_nbobjs_inside_cpuset_by_depth(). */
 
   float *latency;		/**< \brief Matrix of latencies between objects, stored as a one-dimension array.
 				 * May be \c NULL if the distances considered here are not latencies.
+				 *
+				 * Unless defined by the user, this currently contains latencies
+				 * between NUMA nodes (as reported in the System Locality Distance Information Table
+				 * (SLIT) in the ACPI specification), which may or may not be accurate.
+				 * It corresponds to the latency for accessing the memory of one node
+				 * from a core in another node.
+				 *
 				 * Values are normalized to get 1.0 as the minimal value in the matrix.
 				 * Latency from i-th to j-th object is stored in slot i*nbobjs+j.
 				 */
@@ -609,6 +629,15 @@ HWLOC_DECLSPEC int hwloc_topology_load(hwloc_topology_t topology);
  */
 HWLOC_DECLSPEC void hwloc_topology_destroy (hwloc_topology_t topology);
 
+/** \brief Duplicate a topology.
+ *
+ * The entire topology structure as well as its objects
+ * are duplicated into a new one.
+ *
+ * This is useful for keeping a backup while modifying a topology.
+ */
+HWLOC_DECLSPEC int hwloc_topology_dup(hwloc_topology_t *newtopology, hwloc_topology_t oldtopology);
+
 /** \brief Run internal checks on a topology structure
  *
  * The program aborts if an inconsistency is detected in the given topology.
@@ -653,6 +682,8 @@ HWLOC_DECLSPEC void hwloc_topology_check(hwloc_topology_t topology);
  * The bottom-level type HWLOC_OBJ_PU may not be ignored.
  * The top-level object of the hierarchy will never be ignored, even if this function
  * succeeds.
+ * Group objects are always ignored if they do not bring any structure
+ * since they are designed to add structure to the topology.
  * I/O objects may not be ignored, topology flags should be used to configure
  * their discovery instead.
  */
@@ -686,7 +717,7 @@ enum hwloc_topology_flags_e {
  /** \brief Detect the whole system, ignore reservations and offline settings.
    *
    * Gather all resources, even if some were disabled by the administrator.
-   * For instance, ignore Linux Cpusets and gather all processors and memory nodes,
+   * For instance, ignore Linux Cgroup/Cpusets and gather all processors and memory nodes,
    * and ignore the fact that some resources may be offline.
    * \hideinitializer
    */
@@ -718,6 +749,7 @@ enum hwloc_topology_flags_e {
    * detection using the pci backend. Only the common PCI devices (GPUs,
    * NICs, block devices, ...) and host bridges (objects that connect the host
    * objects to an I/O subsystem) will be added to the topology.
+   * Additionally it also enables MemoryDevice misc objects.
    * Uncommon devices and other bridges (such as PCI-to-PCI bridges) will be
    * ignored.
    * \hideinitializer
@@ -738,6 +770,7 @@ enum hwloc_topology_flags_e {
    * This flag enables detection of all I/O devices (even the uncommon ones)
    * and bridges (even those that have no device behind them) using the pci
    * backend.
+   * This implies HWLOC_TOPOLOGY_FLAG_IO_DEVICES.
    * \hideinitializer
    */
   HWLOC_TOPOLOGY_FLAG_WHOLE_IO = (1UL<<4),
@@ -858,7 +891,7 @@ HWLOC_DECLSPEC int hwloc_topology_set_synthetic(hwloc_topology_t __hwloc_restric
  * \return -1 with errno set to EINVAL on failure to read the XML file.
  *
  * \note See also hwloc_topology_set_userdata_import_callback()
- * for importing application-specific userdata.
+ * for importing application-specific object userdata.
  *
  * \note For convenience, this backend provides empty binding hooks which just
  * return success.  To have hwloc still actually call OS-specific hooks, the
@@ -886,7 +919,7 @@ HWLOC_DECLSPEC int hwloc_topology_set_xml(hwloc_topology_t __hwloc_restrict topo
  * \return -1 with errno set to EINVAL on failure to read the XML buffer.
  *
  * \note See also hwloc_topology_set_userdata_import_callback()
- * for importing application-specific userdata.
+ * for importing application-specific object userdata.
  *
  * \note For convenience, this backend provides empty binding hooks which just
  * return success.  To have hwloc still actually call OS-specific hooks, the
@@ -1032,6 +1065,25 @@ struct hwloc_topology_support {
 /** \brief Retrieve the topology support. */
 HWLOC_DECLSPEC const struct hwloc_topology_support *hwloc_topology_get_support(hwloc_topology_t __hwloc_restrict topology);
 
+/** \brief Set the topology-specific userdata pointer.
+ *
+ * Each topology may store one application-given private data pointer.
+ * It is initialized to \c NULL.
+ * hwloc will never modify it.
+ *
+ * Use it as you wish, after hwloc_topology_init() and until hwloc_topolog_destroy().
+ *
+ * This pointer is not exported to XML.
+ */
+HWLOC_DECLSPEC void hwloc_topology_set_userdata(hwloc_topology_t topology, const void *userdata);
+
+/** \brief Retrieve the topology-specific userdata pointer.
+ *
+ * Retrieve the application-given private data pointer that was
+ * previously set with hwloc_topology_set_userdata().
+ */
+HWLOC_DECLSPEC void * hwloc_topology_get_userdata(hwloc_topology_t topology);
+
 /** @} */
 
 
@@ -1042,7 +1094,7 @@ HWLOC_DECLSPEC const struct hwloc_topology_support *hwloc_topology_get_support(h
  * Be sure to see the figure in \ref termsanddefs that shows a
  * complete topology tree, including depths, child/sibling/cousin
  * relationships, and an example of an asymmetric topology where one
- * socket has fewer caches than its peers.
+ * package has fewer caches than its peers.
  */
 
 /** \brief Get the depth of the hierarchical tree of objects.
@@ -1175,7 +1227,7 @@ HWLOC_DECLSPEC const char * hwloc_obj_type_string (hwloc_obj_type_t type) __hwlo
 
 /** \brief Return an object type and attributes from a type string.
  *
- * Convert strings such as "socket" or "cache" into the corresponding types.
+ * Convert strings such as "Package" or "Cache" into the corresponding types.
  * Matching is case-insensitive, and only the first letters are actually
  * required to match.
  *
@@ -1273,31 +1325,42 @@ HWLOC_DECLSPEC void hwloc_obj_add_info(hwloc_obj_t obj, const char *name, const
  *
  * It is often useful to call hwloc_bitmap_singlify() first so that a single CPU
  * remains in the set. This way, the process will not even migrate between
- * different CPUs. Some operating systems also only support that kind of binding.
- *
- * \note Some operating systems do not provide all hwloc-supported
- * mechanisms to bind processes, threads, etc. and the corresponding
- * binding functions may fail. -1 is returned and errno is set to
- * ENOSYS when it is not possible to bind the requested kind of object
- * processes/threads. errno is set to EXDEV when the requested cpuset
+ * different CPUs inside the given set.
+ * Some operating systems also only support that kind of binding.
+ *
+ * Some operating systems do not provide all hwloc-supported
+ * mechanisms to bind processes, threads, etc.
+ * hwloc_topology_get_support() may be used to query about the actual CPU
+ * binding support in the currently used operating system.
+ *
+ * When the requested binding operation is not available and the
+ * ::HWLOC_CPUBIND_STRICT flag was passed, the function returns -1.
+ * \p errno is set to \c ENOSYS when it is not possible to bind the requested kind of object
+ * processes/threads. errno is set to \c EXDEV when the requested cpuset
  * can not be enforced (e.g. some systems only allow one CPU, and some
  * other systems only allow one NUMA node).
  *
- * The most portable version that should be preferred over the others, whenever
- * possible, is
+ * If ::HWLOC_CPUBIND_STRICT was not passed, the function may fail as well,
+ * or the operating system may use a slightly different operation
+ * (with side-effects, smaller binding set, etc.)
+ * when the requested operation is not exactly supported.
+ *
+ * The most portable version that should be preferred over the others,
+ * whenever possible, is the following one which just binds the current program,
+ * assuming it is single-threaded:
  *
  * \code
  * hwloc_set_cpubind(topology, set, 0),
  * \endcode
  *
- * as it just binds the current program, assuming it is single-threaded, or
+ * If the program may be multithreaded, the following one should be preferred
+ * to only bind the current thread:
  *
  * \code
  * hwloc_set_cpubind(topology, set, HWLOC_CPUBIND_THREAD),
  * \endcode
  *
- * which binds the current thread of the current program (which may be
- * multithreaded).
+ * \sa Some example codes are available under doc/examples/ in the source tree.
  *
  * \note To unbind, just call the binding function with either a full cpuset or
  * a cpuset equal to the system cpuset.
@@ -1305,8 +1368,8 @@ HWLOC_DECLSPEC void hwloc_obj_add_info(hwloc_obj_t obj, const char *name, const
  * \note On some operating systems, CPU binding may have effects on memory binding, see
  * ::HWLOC_CPUBIND_NOMEMBIND
  *
- * Running lstopo --top can be a very convenient tool to check how binding
- * actually happened.
+ * \note Running lstopo --top or hwloc-ps can be a very convenient tool to check
+ * how binding actually happened.
  * @{
  */
 
@@ -1477,42 +1540,47 @@ HWLOC_DECLSPEC int hwloc_get_proc_last_cpu_location(hwloc_topology_t topology, h
  *
  * Memory binding can be done three ways:
  *
- * - explicit memory allocation thanks to hwloc_alloc_membind and friends: the
- *   binding will have effect on the memory allocated by these functions.
- * - implicit memory binding through binding policy: hwloc_set_membind and
+ * - explicit memory allocation thanks to hwloc_alloc_membind() and friends:
+ *   the binding will have effect on the memory allocated by these functions.
+ * - implicit memory binding through binding policy: hwloc_set_membind() and
  *   friends only define the current policy of the process, which will be
  *   applied to the subsequent calls to malloc() and friends.
  * - migration of existing memory ranges, thanks to hwloc_set_area_membind()
  *   and friends, which move already-allocated data.
  *
- * \note Not all operating systems support all three ways Using a binding flag
- * or policy that is not supported by the underlying OS will cause hwloc's
- * binding functions to fail and return -1.  errno will be set to
- * ENOSYS when the system does support the specified action or policy
+ * Not all operating systems support all three ways.
+ * hwloc_topology_get_support() may be used to query about the actual memory
+ * binding support in the currently used operating system.
+ *
+ * When the requested binding operation is not available and the
+ * ::HWLOC_MEMBIND_STRICT flag was passed, the function returns -1.
+ * \p errno will be set to \c ENOSYS when the system does support
+ * the specified action or policy
  * (e.g., some systems only allow binding memory on a per-thread
  * basis, whereas other systems only allow binding memory for all
- * threads in a process).  errno will be set to EXDEV when the
- * requested cpuset can not be enforced (e.g., some systems only allow
- * binding memory to a single NUMA node).
- *
- * The most portable form that should be preferred over the others
- * whenever possible is as follows:
+ * threads in a process).
+ * \p errno will be set to EXDEV when the requested cpuset can not be enforced
+ * (e.g., some systems only allow binding memory to a single NUMA node).
  *
- * \code
- * hwloc_alloc_membind_policy(topology, size, set, 
- *                            HWLOC_MEMBIND_DEFAULT, 0);
- * \endcode
+ * If ::HWLOC_MEMBIND_STRICT was not passed, the function may fail as well,
+ * or the operating system may use a slightly different operation
+ * (with side-effects, smaller binding set, etc.)
+ * when the requested operation is not exactly supported.
  *
- * This will allocate some memory hopefully bound to the specified set.
+ * The most portable form that should be preferred over the others
+ * whenever possible is as follows.
+ * It allocates some memory hopefully bound to the specified set.
  * To do so, hwloc will possibly have to change the current memory
  * binding policy in order to actually get the memory bound, if the OS
  * does not provide any other way to simply allocate bound memory
  * without changing the policy for all allocations. That is the
  * difference with hwloc_alloc_membind(), which will never change the
- * current memory binding policy. Note that since HWLOC_MEMBIND_STRICT
- * was not specified, failures to bind will not be reported --
- * generally, only memory allocation failures will be reported (e.g.,
- * even a plain malloc() would have failed with ENOMEM).
+ * current memory binding policy.
+ *
+ * \code
+ * hwloc_alloc_membind_policy(topology, size, set,
+ *                            HWLOC_MEMBIND_BIND, 0);
+ * \endcode
  *
  * Each hwloc memory binding function is available in two forms: one
  * that takes a CPU set argument and another that takes a NUMA memory
@@ -1522,8 +1590,10 @@ HWLOC_DECLSPEC int hwloc_get_proc_last_cpu_location(hwloc_topology_t topology, h
  * possible to convert between CPU set and node set using
  * hwloc_cpuset_to_nodeset() or hwloc_cpuset_from_nodeset().
  *
+ * \sa Some example codes are available under doc/examples/ in the source tree.
+ *
  * \note On some operating systems, memory binding affects the CPU
- * binding; see ::HWLOC_MEMBIND_NOCPUBIND 
+ * binding; see ::HWLOC_MEMBIND_NOCPUBIND
  * @{
  */
 
@@ -1532,12 +1602,17 @@ HWLOC_DECLSPEC int hwloc_get_proc_last_cpu_location(hwloc_topology_t topology, h
  * These constants can be used to choose the binding policy.  Only one policy can
  * be used at a time (i.e., the values cannot be OR'ed together).
  *
- * \note Not all systems support all kinds of binding.  See the
- * "Detailed Description" section of \ref hwlocality_membinding for a
- * description of errors that can occur.
+ * Not all systems support all kinds of binding.
+ * hwloc_topology_get_support() may be used to query about the actual memory
+ * binding policy support in the currently used operating system.
+ * See the "Detailed Description" section of \ref hwlocality_membinding
+ * for a description of errors that can occur.
  */
 typedef enum {
   /** \brief Reset the memory allocation policy to the system default.
+   * Depending on the operating system, this may correspond to
+   * HWLOC_MEMBIND_FIRSTTOUCH (Linux),
+   * or HWLOC_MEMBIND_BIND (AIX, HP-UX, OSF, Solaris, Windows).
    * \hideinitializer */
   HWLOC_MEMBIND_DEFAULT =	0,
 
@@ -1584,33 +1659,35 @@ typedef enum {
    * \hideinitializer */
   HWLOC_MEMBIND_NEXTTOUCH =	5,
 
-  /** \brief Returned by hwloc_get_membind*() functions when multiple
+  /** \brief Returned by get_membind() functions when multiple
    * threads or parts of a memory area have differing memory binding
    * policies.
    * \hideinitializer */
-  HWLOC_MEMBIND_MIXED = -1             
+  HWLOC_MEMBIND_MIXED = -1
 } hwloc_membind_policy_t;
 
 /** \brief Memory binding flags.
  *
- * These flags can be used to refine the binding policy.  All flags
- * can be logically OR'ed together with the exception of
- * HWLOC_MEMBIND_PROCESS and HWLOC_MEMBIND_THREAD; these two flags are
- * mutually exclusive.
+ * These flags can be used to refine the binding policy.
+ * All flags can be logically OR'ed together with the exception of
+ * ::HWLOC_MEMBIND_PROCESS and ::HWLOC_MEMBIND_THREAD;
+ * these two flags are mutually exclusive.
  *
- * \note Not all systems support all kinds of binding.  See the
- * "Detailed Description" section of \ref hwlocality_membinding for a
- * description of errors that can occur.
+ * Not all systems support all kinds of binding.
+ * hwloc_topology_get_support() may be used to query about the actual memory
+ * binding support in the currently used operating system.
+ * See the "Detailed Description" section of \ref hwlocality_membinding
+ * for a description of errors that can occur.
  */
 typedef enum {
   /** \brief Set policy for all threads of the specified (possibly
    * multithreaded) process.  This flag is mutually exclusive with
-   * HWLOC_MEMBIND_THREAD.
+   * ::HWLOC_MEMBIND_THREAD.
    * \hideinitializer */
   HWLOC_MEMBIND_PROCESS =       (1<<0),
 
  /** \brief Set policy for a specific thread of the current process.
-  * This flag is mutually exclusive with HWLOC_MEMBIND_PROCESS.
+  * This flag is mutually exclusive with ::HWLOC_MEMBIND_PROCESS.
   * \hideinitializer */
   HWLOC_MEMBIND_THREAD =        (1<<1),
 
@@ -1618,12 +1695,12 @@ typedef enum {
   * the binding can not be guaranteed / completely enforced.
   *
   * This flag has slightly different meanings depending on which
-  * function it is used with.  
+  * function it is used with.
   * \hideinitializer  */
   HWLOC_MEMBIND_STRICT =        (1<<2),
 
  /** \brief Migrate existing allocated memory.  If the memory cannot
-  * be migrated and the HWLOC_MEMBIND_STRICT flag is passed, an error
+  * be migrated and the ::HWLOC_MEMBIND_STRICT flag is passed, an error
   * will be returned.
   * \hideinitializer  */
   HWLOC_MEMBIND_MIGRATE =       (1<<3),
@@ -1645,7 +1722,7 @@ typedef enum {
 /** \brief Set the default memory binding policy of the current
  * process or thread to prefer the NUMA node(s) specified by physical \p nodeset
  *
- * If neither HWLOC_MEMBIND_PROCESS nor HWLOC_MEMBIND_THREAD is
+ * If neither ::HWLOC_MEMBIND_PROCESS nor ::HWLOC_MEMBIND_THREAD is
  * specified, the current process is assumed to be single-threaded.
  * This is the most portable form as it permits hwloc to use either
  * process-based OS functions or thread-based OS functions, depending
@@ -1660,7 +1737,7 @@ HWLOC_DECLSPEC int hwloc_set_membind_nodeset(hwloc_topology_t topology, hwloc_co
  * process or thread to prefer the NUMA node(s) near the specified physical \p
  * cpuset
  *
- * If neither HWLOC_MEMBIND_PROCESS nor HWLOC_MEMBIND_THREAD is
+ * If neither ::HWLOC_MEMBIND_PROCESS nor ::HWLOC_MEMBIND_THREAD is
  * specified, the current process is assumed to be single-threaded.
  * This is the most portable form as it permits hwloc to use either
  * process-based OS functions or thread-based OS functions, depending
@@ -1679,9 +1756,9 @@ HWLOC_DECLSPEC int hwloc_set_membind(hwloc_topology_t topology, hwloc_const_cpus
  * passed in and the current memory binding policies and nodesets in
  * the queried target.
  *
- * Passing the HWLOC_MEMBIND_PROCESS flag specifies that the query
+ * Passing the ::HWLOC_MEMBIND_PROCESS flag specifies that the query
  * target is the current policies and nodesets for all the threads in
- * the current process.  Passing HWLOC_MEMBIND_THREAD specifies that
+ * the current process.  Passing ::HWLOC_MEMBIND_THREAD specifies that
  * the query target is the current policy and nodeset for only the
  * thread invoking this function.
  *
@@ -1690,21 +1767,21 @@ HWLOC_DECLSPEC int hwloc_set_membind(hwloc_topology_t topology, hwloc_const_cpus
  * hwloc to use either process-based OS functions or thread-based OS
  * functions, depending on which are available.
  *
- * HWLOC_MEMBIND_STRICT is only meaningful when HWLOC_MEMBIND_PROCESS
+ * ::HWLOC_MEMBIND_STRICT is only meaningful when ::HWLOC_MEMBIND_PROCESS
  * is also specified.  In this case, hwloc will check the default
  * memory policies and nodesets for all threads in the process.  If
  * they are not identical, -1 is returned and errno is set to EXDEV.
  * If they are identical, the values are returned in \p nodeset and \p
  * policy.
  *
- * Otherwise, if HWLOC_MEMBIND_PROCESS is specified (and
- * HWLOC_MEMBIND_STRICT is \em not specified), \p nodeset is set to
+ * Otherwise, if ::HWLOC_MEMBIND_PROCESS is specified (and
+ * ::HWLOC_MEMBIND_STRICT is \em not specified), \p nodeset is set to
  * the logical OR of all threads' default nodeset.  If all threads'
  * default policies are the same, \p policy is set to that policy.  If
- * they are different, \p policy is set to HWLOC_MEMBIND_MIXED.
+ * they are different, \p policy is set to ::HWLOC_MEMBIND_MIXED.
  *
- * In the HWLOC_MEMBIND_THREAD case (or when neither
- * HWLOC_MEMBIND_PROCESS or HWLOC_MEMBIND_THREAD is specified), there
+ * In the ::HWLOC_MEMBIND_THREAD case (or when neither
+ * ::HWLOC_MEMBIND_PROCESS or ::HWLOC_MEMBIND_THREAD is specified), there
  * is only one nodeset and policy; they are returned in \p nodeset and
  * \p policy, respectively.
  *
@@ -1722,9 +1799,9 @@ HWLOC_DECLSPEC int hwloc_get_membind_nodeset(hwloc_topology_t topology, hwloc_no
  * passed in and the current memory binding policies and nodesets in
  * the queried target.
  *
- * Passing the HWLOC_MEMBIND_PROCESS flag specifies that the query
+ * Passing the ::HWLOC_MEMBIND_PROCESS flag specifies that the query
  * target is the current policies and nodesets for all the threads in
- * the current process.  Passing HWLOC_MEMBIND_THREAD specifies that
+ * the current process.  Passing ::HWLOC_MEMBIND_THREAD specifies that
  * the query target is the current policy and nodeset for only the
  * thread invoking this function.
  *
@@ -1733,7 +1810,7 @@ HWLOC_DECLSPEC int hwloc_get_membind_nodeset(hwloc_topology_t topology, hwloc_no
  * hwloc to use either process-based OS functions or thread-based OS
  * functions, depending on which are available.
  *
- * HWLOC_MEMBIND_STRICT is only meaningful when HWLOC_MEMBIND_PROCESS
+ * ::HWLOC_MEMBIND_STRICT is only meaningful when ::HWLOC_MEMBIND_PROCESS
  * is also specified.  In this case, hwloc will check the default
  * memory policies and nodesets for all threads in the process.  If
  * they are not identical, -1 is returned and errno is set to EXDEV.
@@ -1741,16 +1818,16 @@ HWLOC_DECLSPEC int hwloc_get_membind_nodeset(hwloc_topology_t topology, hwloc_no
  * cpuset is set to the union of CPUs near the NUMA node(s) in the
  * nodeset.
  *
- * Otherwise, if HWLOC_MEMBIND_PROCESS is specified (and
- * HWLOC_MEMBIND_STRICT is \em not specified), the default nodeset
+ * Otherwise, if ::HWLOC_MEMBIND_PROCESS is specified (and
+ * ::HWLOC_MEMBIND_STRICT is \em not specified), the default nodeset
  * from each thread is logically OR'ed together.  \p cpuset is set to
  * the union of CPUs near the NUMA node(s) in the resulting nodeset.
  * If all threads' default policies are the same, \p policy is set to
  * that policy.  If they are different, \p policy is set to
- * HWLOC_MEMBIND_MIXED.
+ * ::HWLOC_MEMBIND_MIXED.
  *
- * In the HWLOC_MEMBIND_THREAD case (or when neither
- * HWLOC_MEMBIND_PROCESS or HWLOC_MEMBIND_THREAD is specified), there
+ * In the ::HWLOC_MEMBIND_THREAD case (or when neither
+ * ::HWLOC_MEMBIND_PROCESS or ::HWLOC_MEMBIND_THREAD is specified), there
  * is only one nodeset and policy.  The policy is returned in \p
  * policy; \p cpuset is set to the union of CPUs near the NUMA node(s)
  * in the \p nodeset.
@@ -1790,18 +1867,18 @@ HWLOC_DECLSPEC int hwloc_set_proc_membind(hwloc_topology_t topology, hwloc_pid_t
  * passed in and the current memory binding policies and nodesets in
  * the queried target.
  *
- * Passing the HWLOC_MEMBIND_PROCESS flag specifies that the query
+ * Passing the ::HWLOC_MEMBIND_PROCESS flag specifies that the query
  * target is the current policies and nodesets for all the threads in
- * the specified process.  If HWLOC_MEMBIND_PROCESS is not specified
+ * the specified process.  If ::HWLOC_MEMBIND_PROCESS is not specified
  * (which is the most portable method), the process is assumed to be
  * single threaded.  This allows hwloc to use either process-based OS
  * functions or thread-based OS functions, depending on which are
  * available.
  *
- * Note that it does not make sense to pass HWLOC_MEMBIND_THREAD to
+ * Note that it does not make sense to pass ::HWLOC_MEMBIND_THREAD to
  * this function.
  *
- * If HWLOC_MEMBIND_STRICT is specified, hwloc will check the default
+ * If ::HWLOC_MEMBIND_STRICT is specified, hwloc will check the default
  * memory policies and nodesets for all threads in the specified
  * process.  If they are not identical, -1 is returned and errno is
  * set to EXDEV.  If they are identical, the values are returned in \p
@@ -1810,7 +1887,7 @@ HWLOC_DECLSPEC int hwloc_set_proc_membind(hwloc_topology_t topology, hwloc_pid_t
  * Otherwise, \p nodeset is set to the logical OR of all threads'
  * default nodeset.  If all threads' default policies are the same, \p
  * policy is set to that policy.  If they are different, \p policy is
- * set to HWLOC_MEMBIND_MIXED.
+ * set to ::HWLOC_MEMBIND_MIXED.
  *
  * If any other flags are specified, -1 is returned and errno is set
  * to EINVAL.
@@ -1829,18 +1906,18 @@ HWLOC_DECLSPEC int hwloc_get_proc_membind_nodeset(hwloc_topology_t topology, hwl
  * passed in and the current memory binding policies and nodesets in
  * the queried target.
  *
- * Passing the HWLOC_MEMBIND_PROCESS flag specifies that the query
+ * Passing the ::HWLOC_MEMBIND_PROCESS flag specifies that the query
  * target is the current policies and nodesets for all the threads in
- * the specified process.  If HWLOC_MEMBIND_PROCESS is not specified
+ * the specified process.  If ::HWLOC_MEMBIND_PROCESS is not specified
  * (which is the most portable method), the process is assumed to be
  * single threaded.  This allows hwloc to use either process-based OS
  * functions or thread-based OS functions, depending on which are
  * available.
  *
- * Note that it does not make sense to pass HWLOC_MEMBIND_THREAD to
+ * Note that it does not make sense to pass ::HWLOC_MEMBIND_THREAD to
  * this function.
  *
- * If HWLOC_MEMBIND_STRICT is specified, hwloc will check the default
+ * If ::HWLOC_MEMBIND_STRICT is specified, hwloc will check the default
  * memory policies and nodesets for all threads in the specified
  * process.  If they are not identical, -1 is returned and errno is
  * set to EXDEV.  If they are identical, the policy is returned in \p
@@ -1851,7 +1928,7 @@ HWLOC_DECLSPEC int hwloc_get_proc_membind_nodeset(hwloc_topology_t topology, hwl
  * together.  \p cpuset is set to the union of CPUs near the NUMA
  * node(s) in the resulting nodeset.  If all threads' default policies
  * are the same, \p policy is set to that policy.  If they are
- * different, \p policy is set to HWLOC_MEMBIND_MIXED.
+ * different, \p policy is set to ::HWLOC_MEMBIND_MIXED.
  *
  * If any other flags are specified, -1 is returned and errno is set
  * to EINVAL.
@@ -1885,16 +1962,16 @@ HWLOC_DECLSPEC int hwloc_set_area_membind(hwloc_topology_t topology, const void
  * passed in and the memory binding policies and nodesets of the pages
  * in the address range.
  *
- * If HWLOC_MEMBIND_STRICT is specified, the target pages are first
+ * If ::HWLOC_MEMBIND_STRICT is specified, the target pages are first
  * checked to see if they all have the same memory binding policy and
  * nodeset.  If they do not, -1 is returned and errno is set to EXDEV.
  * If they are identical across all pages, the nodeset and policy are
  * returned in \p nodeset and \p policy, respectively.
  *
- * If HWLOC_MEMBIND_STRICT is not specified, \p nodeset is set to the
+ * If ::HWLOC_MEMBIND_STRICT is not specified, \p nodeset is set to the
  * union of all NUMA node(s) containing pages in the address range.
  * If all pages in the target have the same policy, it is returned in
- * \p policy.  Otherwise, \p policy is set to HWLOC_MEMBIND_MIXED.
+ * \p policy.  Otherwise, \p policy is set to ::HWLOC_MEMBIND_MIXED.
  *
  * If any other flags are specified, -1 is returned and errno is set
  * to EINVAL.
@@ -1909,18 +1986,18 @@ HWLOC_DECLSPEC int hwloc_get_area_membind_nodeset(hwloc_topology_t topology, con
  * passed in and the memory binding policies and nodesets of the pages
  * in the address range.
  *
- * If HWLOC_MEMBIND_STRICT is specified, the target pages are first
+ * If ::HWLOC_MEMBIND_STRICT is specified, the target pages are first
  * checked to see if they all have the same memory binding policy and
  * nodeset.  If they do not, -1 is returned and errno is set to EXDEV.
  * If they are identical across all pages, the policy is returned in
  * \p policy.  \p cpuset is set to the union of CPUs near the NUMA
  * node(s) in the nodeset.
  *
- * If HWLOC_MEMBIND_STRICT is not specified, the union of all NUMA
+ * If ::HWLOC_MEMBIND_STRICT is not specified, the union of all NUMA
  * node(s) containing pages in the address range is calculated.  \p
  * cpuset is then set to the CPUs near the NUMA node(s) in this union.
  * If all pages in the target have the same policy, it is returned in
- * \p policy.  Otherwise, \p policy is set to HWLOC_MEMBIND_MIXED.
+ * \p policy.  Otherwise, \p policy is set to ::HWLOC_MEMBIND_MIXED.
  *
  * If any other flags are specified, -1 is returned and errno is set
  * to EINVAL.
@@ -1939,9 +2016,11 @@ HWLOC_DECLSPEC void *hwloc_alloc(hwloc_topology_t topology, size_t len);
 /** \brief Allocate some memory on the given physical nodeset \p nodeset
  *
  * \return NULL with errno set to ENOSYS if the action is not supported
- * and HWLOC_MEMBIND_STRICT is given
+ * and ::HWLOC_MEMBIND_STRICT is given
  * \return NULL with errno set to EXDEV if the binding cannot be enforced
- * and HWLOC_MEMBIND_STRICT is given
+ * and ::HWLOC_MEMBIND_STRICT is given
+ * \return NULL with errno set to ENOMEM if the memory allocation failed
+ * even before trying to bind.
  *
  * \note The allocated memory should be freed with hwloc_free().
  */
@@ -1950,9 +2029,11 @@ HWLOC_DECLSPEC void *hwloc_alloc_membind_nodeset(hwloc_topology_t topology, size
 /** \brief Allocate some memory on memory nodes near the given physical cpuset \p cpuset
  *
  * \return NULL with errno set to ENOSYS if the action is not supported
- * and HWLOC_MEMBIND_STRICT is given
+ * and ::HWLOC_MEMBIND_STRICT is given
  * \return NULL with errno set to EXDEV if the binding cannot be enforced
- * and HWLOC_MEMBIND_STRICT is given
+ * and ::HWLOC_MEMBIND_STRICT is given
+ * \return NULL with errno set to ENOMEM if the memory allocation failed
+ * even before trying to bind.
  *
  * \note The allocated memory should be freed with hwloc_free().
  */
@@ -2064,15 +2145,6 @@ enum hwloc_restrict_flags_e {
  */
 HWLOC_DECLSPEC int hwloc_topology_restrict(hwloc_topology_t __hwloc_restrict topology, hwloc_const_cpuset_t cpuset, unsigned long flags);
 
-/** \brief Duplicate a topology.
- *
- * The entire topology structure as well as its objects
- * are duplicated into a new one.
- *
- * This is useful for keeping a backup while modifying a topology.
- */
-HWLOC_DECLSPEC int hwloc_topology_dup(hwloc_topology_t *newtopology, hwloc_topology_t oldtopology);
-
 /** @} */
 
 
@@ -2146,7 +2218,9 @@ HWLOC_DECLSPEC hwloc_obj_t hwloc_custom_insert_group_object_by_parent(hwloc_topo
  * \return -1 if a failure occured.
  *
  * \note See also hwloc_topology_set_userdata_export_callback()
- * for exporting application-specific userdata.
+ * for exporting application-specific object userdata.
+ *
+ * \note The topology-specific userdata pointer is ignored when exporting to XML.
  *
  * \note Only printable characters may be exported to XML string attributes.
  * Any other character, especially any non-ASCII character, will be silently
@@ -2166,7 +2240,9 @@ HWLOC_DECLSPEC int hwloc_topology_export_xml(hwloc_topology_t topology, const ch
  * \return -1 if a failure occured.
  *
  * \note See also hwloc_topology_set_userdata_export_callback()
- * for exporting application-specific userdata.
+ * for exporting application-specific object userdata.
+ *
+ * \note The topology-specific userdata pointer is ignored when exporting to XML.
  *
  * \note Only printable characters may be exported to XML string attributes.
  * Any other character, especially any non-ASCII character, will be silently
@@ -2177,7 +2253,7 @@ HWLOC_DECLSPEC int hwloc_topology_export_xmlbuffer(hwloc_topology_t topology, ch
 /** \brief Free a buffer allocated by hwloc_topology_export_xmlbuffer() */
 HWLOC_DECLSPEC void hwloc_free_xmlbuffer(hwloc_topology_t topology, char *xmlbuffer);
 
-/** \brief Set the application-specific callback for exporting userdata
+/** \brief Set the application-specific callback for exporting object userdata
  *
  * The object userdata pointer is not exported to XML by default because hwloc
  * does not know what it contains.
@@ -2192,6 +2268,8 @@ HWLOC_DECLSPEC void hwloc_free_xmlbuffer(hwloc_topology_t topology, char *xmlbuf
  * something to XML (possibly multiple times per object).
  *
  * \p export_cb may be set to \c NULL if userdata should not be exported to XML.
+ *
+ * \note The topology-specific userdata pointer is ignored when exporting to XML.
  */
 HWLOC_DECLSPEC void hwloc_topology_set_userdata_export_callback(hwloc_topology_t topology,
 								void (*export_cb)(void *reserved, hwloc_topology_t topology, hwloc_obj_t obj));
@@ -2257,6 +2335,8 @@ HWLOC_DECLSPEC int hwloc_export_obj_userdata_base64(void *reserved, hwloc_topolo
  * \note \p buffer contains \p length characters followed by a null byte ('\0').
  *
  * \note This function should be called before hwloc_topology_load().
+ *
+ * \note The topology-specific userdata pointer is ignored when importing from XML.
  */
 HWLOC_DECLSPEC void hwloc_topology_set_userdata_import_callback(hwloc_topology_t topology,
 								void (*import_cb)(hwloc_topology_t topology, hwloc_obj_t obj, const char *name, const void *buffer, size_t length));
@@ -2264,6 +2344,54 @@ HWLOC_DECLSPEC void hwloc_topology_set_userdata_import_callback(hwloc_topology_t
 /** @} */
 
 
+/** \defgroup hwlocality_syntheticexport Exporting Topologies to Synthetic
+ * @{
+ */
+
+/** \brief Flags for exporting synthetic topologies.
+ *
+ * Flags to be given as a OR'ed set to hwloc_topology_export_synthetic().
+ */
+enum hwloc_topology_export_synthetic_flags_e {
+ /** \brief Export extended types such as L2dcache as basic types such as Cache.
+  *
+  * This is required if loading the synthetic description with hwloc < 1.9.
+  * \hideinitializer
+  */
+ HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_EXTENDED_TYPES = (1UL<<0),
+
+ /** \brief Do not export level attributes.
+  *
+  * Ignore level attributes such as memory/cache sizes or PU indexes.
+  * This is required if loading the synthetic description with hwloc < 1.10.
+  * \hideinitializer
+  */
+ HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_ATTRS = (1UL<<1)
+};
+
+/** \brief Export the topology as a synthetic string.
+ *
+ * At most \p buflen characters will be written in \p buffer,
+ * including the terminating \0.
+ *
+ * This exported string may be given back to hwloc_topology_set_synthetic().
+ *
+ * \p flags is a OR'ed set of hwloc_topology_export_synthetic_flags_e.
+ *
+ * \return The number of characters that were written,
+ * not including the terminating \0.
+ *
+ * \return -1 if the topology could not be exported,
+ * for instance if it is not symmetric.
+ *
+ * \note A 1024-byte buffer should be large enough for exporting
+ * topologies in the vast majority of cases.
+ */
+  HWLOC_DECLSPEC int hwloc_topology_export_synthetic(hwloc_topology_t topology, char *buffer, size_t buflen, unsigned long flags);
+
+/** @} */
+
+
 
 #ifdef __cplusplus
 } /* extern "C" */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/autogen/config.h.in b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/autogen/config.h.in
index a30af0c..e101b0a 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/autogen/config.h.in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/autogen/config.h.in
@@ -1,7 +1,7 @@
 /* -*- c -*-
  * Copyright © 2009 CNRS
- * Copyright © 2009-2010 inria.  All rights reserved.
- * Copyright © 2009-2012 Université Bordeaux 1
+ * Copyright © 2009-2014 Inria.  All rights reserved.
+ * Copyright © 2009-2012 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -133,6 +133,19 @@
 # define __hwloc_attribute_deprecated
 #endif
 
+#ifdef HWLOC_HAVE_ATTRIBUTE_MAY_ALIAS
+#define __HWLOC_HAVE_ATTRIBUTE_MAY_ALIAS HWLOC_HAVE_ATTRIBUTE_MAY_ALIAS
+#elif defined(__GNUC__)
+# define __HWLOC_HAVE_ATTRIBUTE_MAY_ALIAS (GXX_ABOVE_3_4 || GCC_ABOVE_3_3)
+#else
+# define __HWLOC_HAVE_ATTRIBUTE_MAY_ALIAS 0
+#endif
+#if __HWLOC_HAVE_ATTRIBUTE_MAY_ALIAS
+# define __hwloc_attribute_may_alias __attribute__((__may_alias__))
+#else
+# define __hwloc_attribute_may_alias
+#endif
+
 #ifdef HWLOC_C_HAVE_VISIBILITY
 # if HWLOC_C_HAVE_VISIBILITY
 #  define HWLOC_DECLSPEC __attribute__((__visibility__("default")))
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/bitmap.h b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/bitmap.h
index adf589b..bb18f65 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/bitmap.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/bitmap.h
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2011 inria.  All rights reserved.
- * Copyright © 2009-2012 Université Bordeaux 1
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2012 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -28,13 +28,18 @@ extern "C" {
  * processors -- which may actually be hardware threads (represented
  * by ::hwloc_cpuset_t, which is a typedef for ::hwloc_bitmap_t) -- or
  * memory nodes (represented by ::hwloc_nodeset_t, which is also a
- * typedef for ::hwloc_bitmap_t).  
+ * typedef for ::hwloc_bitmap_t).
  *
  * <em>Both CPU and node sets are always indexed by OS physical number.</em>
  *
  * \note CPU sets and nodesets are described in \ref hwlocality_object_sets.
  *
  * A bitmap may be of infinite size.
+ *
+ * \note Several examples of using the bitmap API are available under the
+ * doc/examples/ directory in the source tree.
+ * Regression tests such as tests/hwloc_bitmap*.c also make intensive use
+ * of this API.
  * @{
  */
 
@@ -332,10 +337,14 @@ HWLOC_DECLSPEC int hwloc_bitmap_isequal (hwloc_const_bitmap_t bitmap1, hwloc_con
  */
 HWLOC_DECLSPEC int hwloc_bitmap_compare_first(hwloc_const_bitmap_t bitmap1, hwloc_const_bitmap_t bitmap2) __hwloc_attribute_pure;
 
-/** \brief Compare bitmaps \p bitmap1 and \p bitmap2 using their highest index.
+/** \brief Compare bitmaps \p bitmap1 and \p bitmap2 in lexicographic order.
  *
- * Higher most significant bit is higher.
+ * Lexicographic comparison of bitmaps, starting for their highest indexes.
+ * Compare last indexes first, then second, etc.
  * The empty bitmap is considered lower than anything.
+ *
+ * \note This is different from the non-existing hwloc_bitmap_compare_last()
+ * which would only compare the highest index of each bitmap.
  */
 HWLOC_DECLSPEC int hwloc_bitmap_compare(hwloc_const_bitmap_t bitmap1, hwloc_const_bitmap_t bitmap2) __hwloc_attribute_pure;
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/cuda.h b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/cuda.h
index 2520168..a02d677 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/cuda.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/cuda.h
@@ -1,6 +1,6 @@
 /*
- * Copyright © 2010-2013 Inria.  All rights reserved.
- * Copyright © 2010-2011 Université Bordeaux 1
+ * Copyright © 2010-2015 Inria.  All rights reserved.
+ * Copyright © 2010-2011 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -49,7 +49,7 @@ hwloc_cuda_get_device_pci_ids(hwloc_topology_t topology __hwloc_attribute_unused
 {
   CUresult cres;
 
-#ifdef CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID
+#if CUDA_VERSION >= 4000
   cres = cuDeviceGetAttribute(domain, CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID, cudevice);
   if (cres != CUDA_SUCCESS) {
     errno = ENOSYS;
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/cudart.h b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/cudart.h
index 606d2d0..759c3cf 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/cudart.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/cudart.h
@@ -1,6 +1,6 @@
 /*
- * Copyright © 2010-2013 Inria.  All rights reserved.
- * Copyright © 2010-2011 Université Bordeaux 1
+ * Copyright © 2010-2015 Inria.  All rights reserved.
+ * Copyright © 2010-2011 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -23,6 +23,7 @@
 #include <hwloc/linux.h>
 #endif
 
+#include <cuda.h> /* for CUDA_VERSION */
 #include <cuda_runtime_api.h>
 
 
@@ -56,7 +57,7 @@ hwloc_cudart_get_device_pci_ids(hwloc_topology_t topology __hwloc_attribute_unus
     return -1;
   }
 
-#ifdef CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID
+#if CUDA_VERSION >= 4000
   *domain = prop.pciDomainID;
 #else
   *domain = 0;
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/deprecated.h b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/deprecated.h
index 06ca2a8..3d09203 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/deprecated.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/deprecated.h
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2012 Université Bordeaux 1
+ * Copyright © 2009-2012 Université Bordeaux
  * Copyright © 2009-2010 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -21,11 +21,16 @@
 extern "C" {
 #endif
 
+/* backward compat with v1.10 before Socket->Package renaming */
+#define HWLOC_OBJ_SOCKET HWLOC_OBJ_PACKAGE
+/* backward compat with v1.10 before Node->NUMANode clarification */
+#define HWLOC_OBJ_NODE HWLOC_OBJ_NUMANODE
+
 /** \brief Return an object type from the string
  *
  * \return -1 if unrecognized.
  */
-HWLOC_DECLSPEC hwloc_obj_type_t hwloc_obj_type_of_string (const char * string) __hwloc_attribute_pure;
+HWLOC_DECLSPEC hwloc_obj_type_t hwloc_obj_type_of_string (const char * string) __hwloc_attribute_pure __hwloc_attribute_deprecated;
 
 /** \brief Stringify a given topology object into a human-readable form.
  *
@@ -49,7 +54,7 @@ HWLOC_DECLSPEC hwloc_obj_type_t hwloc_obj_type_of_string (const char * string) _
  */
 HWLOC_DECLSPEC int hwloc_obj_snprintf(char * __hwloc_restrict string, size_t size,
 				      hwloc_topology_t topology, hwloc_obj_t obj,
-				      const char * __hwloc_restrict indexprefix, int verbose);
+				      const char * __hwloc_restrict indexprefix, int verbose) __hwloc_attribute_deprecated;
 
 /** \brief Distribute \p n items over the topology under \p root
  *
@@ -67,6 +72,8 @@ HWLOC_DECLSPEC int hwloc_obj_snprintf(char * __hwloc_restrict string, size_t siz
  * \note This function requires the \p root object to have a CPU set.
  */
 static __hwloc_inline void
+hwloc_distribute(hwloc_topology_t topology, hwloc_obj_t root, hwloc_cpuset_t *set, unsigned n, unsigned until) __hwloc_attribute_deprecated;
+static __hwloc_inline void
 hwloc_distribute(hwloc_topology_t topology, hwloc_obj_t root, hwloc_cpuset_t *set, unsigned n, unsigned until)
 {
   hwloc_distrib(topology, &root, 1, set, n, until, 0);
@@ -80,6 +87,8 @@ hwloc_distribute(hwloc_topology_t topology, hwloc_obj_t root, hwloc_cpuset_t *se
  * \note This function requires the \p roots objects to have a CPU set.
  */
 static __hwloc_inline void
+hwloc_distributev(hwloc_topology_t topology, hwloc_obj_t *roots, unsigned n_roots, hwloc_cpuset_t *set, unsigned n, unsigned until) __hwloc_attribute_deprecated;
+static __hwloc_inline void
 hwloc_distributev(hwloc_topology_t topology, hwloc_obj_t *roots, unsigned n_roots, hwloc_cpuset_t *set, unsigned n, unsigned until)
 {
   hwloc_distrib(topology, roots, n_roots, set, n, until, 0);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/diff.h b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/diff.h
index a6046ff..3f1beb1 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/diff.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/diff.h
@@ -184,7 +184,7 @@ typedef union hwloc_topology_diff_u {
  * \note The output diff can only be exported to XML or passed to
  * hwloc_topology_diff_apply() if 0 was returned, i.e. if no entry of type
  * HWLOC_TOPOLOGY_DIFF_TOO_COMPLEX is listed.
- * 
+ *
  * \note The output diff may be modified by removing some entries from
  * the list. The removed entries should be freed by passing them to
  * to hwloc_topology_diff_destroy() (possible as another list).
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/glibc-sched.h b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/glibc-sched.h
index 58926ff..1f9ba7c 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/glibc-sched.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/glibc-sched.h
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2013 inria.  All rights reserved.
- * Copyright © 2009-2011 Université Bordeaux 1
+ * Copyright © 2009-2011 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/helper.h b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/helper.h
index 750f404..70d7d17 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/helper.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/helper.h
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2012 Université Bordeaux 1
+ * Copyright © 2009-2012 Université Bordeaux
  * Copyright © 2009-2010 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -350,7 +350,7 @@ hwloc_get_next_obj_covering_cpuset_by_type(hwloc_topology_t topology, hwloc_cons
  * Be sure to see the figure in \ref termsanddefs that shows a
  * complete topology tree, including depths, child/sibling/cousin
  * relationships, and an example of an asymmetric topology where one
- * socket has fewer caches than its peers.
+ * package has fewer caches than its peers.
  */
 
 /** \brief Returns the ancestor object of \p obj at depth \p depth. */
@@ -538,16 +538,17 @@ hwloc_get_shared_cache_covering_obj (hwloc_topology_t topology __hwloc_attribute
  * Be sure to see the figure in \ref termsanddefs that shows a
  * complete topology tree, including depths, child/sibling/cousin
  * relationships, and an example of an asymmetric topology where one
- * socket has fewer caches than its peers.
+ * package has fewer caches than its peers.
  */
 
 /** \brief Returns the object of type ::HWLOC_OBJ_PU with \p os_index.
  *
- * \note The \p os_index field of object should most of the times only be
- * used for pretty-printing purpose. Type ::HWLOC_OBJ_PU is the only case
- * where \p os_index could actually be useful, when manually binding to
- * processors.
- * However, using CPU sets to hide this complexity should often be preferred.
+ * This function is useful for converting a CPU set into the PU
+ * objects it contains.
+ * When retrieving the current binding (e.g. with hwloc_get_cpubind()),
+ * one may iterate over the bits of the resulting CPU set with
+ * hwloc_bitmap_foreach_begin(), and find the corresponding PUs
+ * with this function.
  */
 static __hwloc_inline hwloc_obj_t
 hwloc_get_pu_obj_by_os_index(hwloc_topology_t topology, unsigned os_index) __hwloc_attribute_pure;
@@ -561,6 +562,27 @@ hwloc_get_pu_obj_by_os_index(hwloc_topology_t topology, unsigned os_index)
   return NULL;
 }
 
+/** \brief Returns the object of type ::HWLOC_OBJ_NUMANODE with \p os_index.
+ *
+ * This function is useful for converting a nodeset into the NUMA node
+ * objects it contains.
+ * When retrieving the current binding (e.g. with hwloc_get_membind_nodeset()),
+ * one may iterate over the bits of the resulting nodeset with
+ * hwloc_bitmap_foreach_begin(), and find the corresponding NUMA nodes
+ * with this function.
+ */
+static __hwloc_inline hwloc_obj_t
+hwloc_get_numanode_obj_by_os_index(hwloc_topology_t topology, unsigned os_index) __hwloc_attribute_pure;
+static __hwloc_inline hwloc_obj_t
+hwloc_get_numanode_obj_by_os_index(hwloc_topology_t topology, unsigned os_index)
+{
+  hwloc_obj_t obj = NULL;
+  while ((obj = hwloc_get_next_obj_by_type(topology, HWLOC_OBJ_NUMANODE, obj)) != NULL)
+    if (obj->os_index == os_index)
+      return obj;
+  return NULL;
+}
+
 /** \brief Do a depth-first traversal of the topology to find and sort
  *
  * all objects that are at the same depth than \p src.
@@ -582,8 +604,8 @@ HWLOC_DECLSPEC unsigned hwloc_get_closest_objs (hwloc_topology_t topology, hwloc
  * object of type \p type2 and logical index \p idx2.  Indexes are specified
  * within the parent, not withing the entire system.
  *
- * For instance, if type1 is SOCKET, idx1 is 2, type2 is CORE and idx2
- * is 3, return the fourth core object below the third socket.
+ * For instance, if type1 is PACKAGE, idx1 is 2, type2 is CORE and idx2
+ * is 3, return the fourth core object below the third package.
  *
  * \note This function requires these objects to have a CPU set.
  */
@@ -614,9 +636,9 @@ hwloc_get_obj_below_by_type (hwloc_topology_t topology,
  * object to find the index-th object of the given type.
  * Indexes are specified within the parent, not withing the entire system.
  *
- * For instance, if nr is 3, typev contains NODE, SOCKET and CORE,
+ * For instance, if nr is 3, typev contains NODE, PACKAGE and CORE,
  * and idxv contains 0, 1 and 2, return the third core object below
- * the second socket below the first NUMA node.
+ * the second package below the first NUMA node.
  *
  * \note This function requires all these objects and the root object
  * to have a CPU set.
@@ -685,6 +707,7 @@ hwloc_distrib(hwloc_topology_t topology,
 {
   unsigned i;
   unsigned tot_weight;
+  unsigned given, givenweight;
   hwloc_cpuset_t *cpusetp = set;
 
   if (flags & ~HWLOC_DISTRIB_FLAG_REVERSE) {
@@ -697,23 +720,41 @@ hwloc_distrib(hwloc_topology_t topology,
     if (roots[i]->cpuset)
       tot_weight += hwloc_bitmap_weight(roots[i]->cpuset);
 
-  for (i = 0; i < n_roots && tot_weight; i++) {
-    /* Give to roots[] a portion proportional to its weight */
+  for (i = 0, given = 0, givenweight = 0; i < n_roots; i++) {
+    unsigned chunk, weight;
     hwloc_obj_t root = roots[flags & HWLOC_DISTRIB_FLAG_REVERSE ? n_roots-1-i : i];
-    unsigned weight = root->cpuset ? hwloc_bitmap_weight(root->cpuset) : 0;
-    unsigned chunk = (n * weight + tot_weight-1) / tot_weight;
-    if (!root->arity || chunk == 1 || root->depth >= until) {
-      /* Got to the bottom, we can't split any more, put everything there.  */
-      unsigned j;
-      for (j=0; j<n; j++)
-	cpusetp[j] = hwloc_bitmap_dup(root->cpuset);
+    hwloc_cpuset_t cpuset = root->cpuset;
+    if (!cpuset)
+      continue;
+    weight = hwloc_bitmap_weight(cpuset);
+    if (!weight)
+      continue;
+    /* Give to root a chunk proportional to its weight.
+     * If previous chunks got rounded-up, we may get a bit less. */
+    chunk = (( (givenweight+weight) * n  + tot_weight-1) / tot_weight)
+          - ((  givenweight         * n  + tot_weight-1) / tot_weight);
+    if (!root->arity || chunk <= 1 || root->depth >= until) {
+      /* We can't split any more, put everything there.  */
+      if (chunk) {
+	/* Fill cpusets with ours */
+	unsigned j;
+	for (j=0; j < chunk; j++)
+	  cpusetp[j] = hwloc_bitmap_dup(cpuset);
+      } else {
+	/* We got no chunk, just merge our cpuset to a previous one
+	 * (the first chunk cannot be empty)
+	 * so that this root doesn't get ignored.
+	 */
+	assert(given);
+	hwloc_bitmap_or(cpusetp[-1], cpusetp[-1], cpuset);
+      }
     } else {
       /* Still more to distribute, recurse into children */
       hwloc_distrib(topology, root->children, root->arity, cpusetp, chunk, until, flags);
     }
     cpusetp += chunk;
-    tot_weight -= weight;
-    n -= chunk;
+    given += chunk;
+    givenweight += weight;
   }
 
   return 0;
@@ -733,7 +774,7 @@ hwloc_distrib(hwloc_topology_t topology,
  * returned.
  *
  * \note The returned cpuset is not newly allocated and should thus not be
- * changed or freed; hwloc_cpuset_dup must be used to obtain a local copy.
+ * changed or freed; hwloc_bitmap_dup() must be used to obtain a local copy.
  */
 static __hwloc_inline hwloc_const_cpuset_t
 hwloc_topology_get_complete_cpuset(hwloc_topology_t topology) __hwloc_attribute_pure;
@@ -751,7 +792,7 @@ hwloc_topology_get_complete_cpuset(hwloc_topology_t topology)
  * systems, NULL is returned.
  *
  * \note The returned cpuset is not newly allocated and should thus not be
- * changed or freed; hwloc_cpuset_dup must be used to obtain a local copy.
+ * changed or freed; hwloc_bitmap_dup() must be used to obtain a local copy.
  */
 static __hwloc_inline hwloc_const_cpuset_t
 hwloc_topology_get_topology_cpuset(hwloc_topology_t topology) __hwloc_attribute_pure;
@@ -768,7 +809,7 @@ hwloc_topology_get_topology_cpuset(hwloc_topology_t topology)
  * returned.
  *
  * \note The returned cpuset is not newly allocated and should thus not be
- * changed or freed; hwloc_cpuset_dup must be used to obtain a local copy.
+ * changed or freed; hwloc_bitmap_dup() must be used to obtain a local copy.
  */
 static __hwloc_inline hwloc_const_cpuset_t
 hwloc_topology_get_online_cpuset(hwloc_topology_t topology) __hwloc_attribute_pure;
@@ -785,7 +826,7 @@ hwloc_topology_get_online_cpuset(hwloc_topology_t topology)
  * returned.
  *
  * \note The returned cpuset is not newly allocated and should thus not be
- * changed or freed, hwloc_cpuset_dup must be used to obtain a local copy.
+ * changed or freed, hwloc_bitmap_dup() must be used to obtain a local copy.
  */
 static __hwloc_inline hwloc_const_cpuset_t
 hwloc_topology_get_allowed_cpuset(hwloc_topology_t topology) __hwloc_attribute_pure;
@@ -802,7 +843,7 @@ hwloc_topology_get_allowed_cpuset(hwloc_topology_t topology)
  * returned.
  *
  * \note The returned nodeset is not newly allocated and should thus not be
- * changed or freed; hwloc_nodeset_dup must be used to obtain a local copy.
+ * changed or freed; hwloc_bitmap_dup() must be used to obtain a local copy.
  */
 static __hwloc_inline hwloc_const_nodeset_t
 hwloc_topology_get_complete_nodeset(hwloc_topology_t topology) __hwloc_attribute_pure;
@@ -820,7 +861,7 @@ hwloc_topology_get_complete_nodeset(hwloc_topology_t topology)
  * systems, NULL is returned.
  *
  * \note The returned nodeset is not newly allocated and should thus not be
- * changed or freed; hwloc_nodeset_dup must be used to obtain a local copy.
+ * changed or freed; hwloc_bitmap_dup() must be used to obtain a local copy.
  */
 static __hwloc_inline hwloc_const_nodeset_t
 hwloc_topology_get_topology_nodeset(hwloc_topology_t topology) __hwloc_attribute_pure;
@@ -837,7 +878,7 @@ hwloc_topology_get_topology_nodeset(hwloc_topology_t topology)
  * returned.
  *
  * \note The returned nodeset is not newly allocated and should thus not be
- * changed or freed, hwloc_nodeset_dup must be used to obtain a local copy.
+ * changed or freed, hwloc_bitmap_dup() must be used to obtain a local copy.
  */
 static __hwloc_inline hwloc_const_nodeset_t
 hwloc_topology_get_allowed_nodeset(hwloc_topology_t topology) __hwloc_attribute_pure;
@@ -880,7 +921,7 @@ hwloc_topology_get_allowed_nodeset(hwloc_topology_t topology)
 static __hwloc_inline void
 hwloc_cpuset_to_nodeset(hwloc_topology_t topology, hwloc_const_cpuset_t _cpuset, hwloc_nodeset_t nodeset)
 {
-	int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NODE);
+	int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
 	hwloc_obj_t obj;
 
 	if (depth == HWLOC_TYPE_DEPTH_UNKNOWN) {
@@ -908,7 +949,7 @@ hwloc_cpuset_to_nodeset(hwloc_topology_t topology, hwloc_const_cpuset_t _cpuset,
 static __hwloc_inline void
 hwloc_cpuset_to_nodeset_strict(struct hwloc_topology *topology, hwloc_const_cpuset_t _cpuset, hwloc_nodeset_t nodeset)
 {
-	int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NODE);
+	int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
 	hwloc_obj_t obj;
 	if (depth == HWLOC_TYPE_DEPTH_UNKNOWN )
 		return;
@@ -929,7 +970,7 @@ hwloc_cpuset_to_nodeset_strict(struct hwloc_topology *topology, hwloc_const_cpus
 static __hwloc_inline void
 hwloc_cpuset_from_nodeset(hwloc_topology_t topology, hwloc_cpuset_t _cpuset, hwloc_const_nodeset_t nodeset)
 {
-	int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NODE);
+	int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
 	hwloc_obj_t obj;
 
 	if (depth == HWLOC_TYPE_DEPTH_UNKNOWN ) {
@@ -960,7 +1001,7 @@ hwloc_cpuset_from_nodeset(hwloc_topology_t topology, hwloc_cpuset_t _cpuset, hwl
 static __hwloc_inline void
 hwloc_cpuset_from_nodeset_strict(struct hwloc_topology *topology, hwloc_cpuset_t _cpuset, hwloc_const_nodeset_t nodeset)
 {
-	int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NODE);
+	int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
 	hwloc_obj_t obj;
 	if (depth == HWLOC_TYPE_DEPTH_UNKNOWN )
 		return;
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/inlines.h b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/inlines.h
index 34d845c..7281750 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/inlines.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/inlines.h
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2013 Inria.  All rights reserved.
- * Copyright © 2009-2012 Université Bordeaux 1
+ * Copyright © 2009-2012 Université Bordeaux
  * Copyright © 2009-2010 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/linux-libnuma.h b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/linux-libnuma.h
index f749504..74dbfd0 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/linux-libnuma.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/linux-libnuma.h
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2013 Inria.  All rights reserved.
- * Copyright © 2009-2010, 2012 Université Bordeaux 1
+ * Copyright © 2009-2014 Inria.  All rights reserved.
+ * Copyright © 2009-2010, 2012 Université Bordeaux
  * See COPYING in top-level directory.
  */
 
@@ -27,7 +27,7 @@ extern "C" {
 /** \defgroup hwlocality_linux_libnuma_ulongs Interoperability with Linux libnuma unsigned long masks
  *
  * This interface helps converting between Linux libnuma unsigned long masks
- * and hwloc cpusets and nodesets. 
+ * and hwloc cpusets and nodesets.
  *
  * It also offers a consistent behavior on non-NUMA machines
  * or non-NUMA-aware kernels by assuming that the machines have a single
@@ -58,7 +58,7 @@ static __hwloc_inline int
 hwloc_cpuset_to_linux_libnuma_ulongs(hwloc_topology_t topology, hwloc_const_cpuset_t cpuset,
 				    unsigned long *mask, unsigned long *maxnode)
 {
-  int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NODE);
+  int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
   unsigned long outmaxnode = -1;
 
   /* round-up to the next ulong and clear all bytes */
@@ -101,7 +101,7 @@ static __hwloc_inline int
 hwloc_nodeset_to_linux_libnuma_ulongs(hwloc_topology_t topology, hwloc_const_nodeset_t nodeset,
 				      unsigned long *mask, unsigned long *maxnode)
 {
-  int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NODE);
+  int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
   unsigned long outmaxnode = -1;
 
   /* round-up to the next ulong and clear all bytes */
@@ -145,7 +145,7 @@ static __hwloc_inline int
 hwloc_cpuset_from_linux_libnuma_ulongs(hwloc_topology_t topology, hwloc_cpuset_t cpuset,
 				      const unsigned long *mask, unsigned long maxnode)
 {
-  int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NODE);
+  int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
 
   if (depth != HWLOC_TYPE_DEPTH_UNKNOWN) {
     hwloc_obj_t node = NULL;
@@ -178,7 +178,7 @@ static __hwloc_inline int
 hwloc_nodeset_from_linux_libnuma_ulongs(hwloc_topology_t topology, hwloc_nodeset_t nodeset,
 					const unsigned long *mask, unsigned long maxnode)
 {
-  int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NODE);
+  int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
 
   if (depth != HWLOC_TYPE_DEPTH_UNKNOWN) {
     hwloc_obj_t node = NULL;
@@ -205,7 +205,7 @@ hwloc_nodeset_from_linux_libnuma_ulongs(hwloc_topology_t topology, hwloc_nodeset
 /** \defgroup hwlocality_linux_libnuma_bitmask Interoperability with Linux libnuma bitmask
  *
  * This interface helps converting between Linux libnuma bitmasks
- * and hwloc cpusets and nodesets. 
+ * and hwloc cpusets and nodesets.
  *
  * It also offers a consistent behavior on non-NUMA machines
  * or non-NUMA-aware kernels by assuming that the machines have a single
@@ -236,7 +236,7 @@ hwloc_cpuset_to_linux_libnuma_bitmask(hwloc_topology_t topology, hwloc_const_cpu
 static __hwloc_inline struct bitmask *
 hwloc_cpuset_to_linux_libnuma_bitmask(hwloc_topology_t topology, hwloc_const_cpuset_t cpuset)
 {
-  int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NODE);
+  int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
   struct bitmask *bitmask = numa_allocate_cpumask();
   if (!bitmask)
     return NULL;
@@ -269,7 +269,7 @@ hwloc_nodeset_to_linux_libnuma_bitmask(hwloc_topology_t topology, hwloc_const_no
 static __hwloc_inline struct bitmask *
 hwloc_nodeset_to_linux_libnuma_bitmask(hwloc_topology_t topology, hwloc_const_nodeset_t nodeset)
 {
-  int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NODE);
+  int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
   struct bitmask *bitmask = numa_allocate_cpumask();
   if (!bitmask)
     return NULL;
@@ -297,7 +297,7 @@ static __hwloc_inline int
 hwloc_cpuset_from_linux_libnuma_bitmask(hwloc_topology_t topology, hwloc_cpuset_t cpuset,
 					const struct bitmask *bitmask)
 {
-  int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NODE);
+  int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
 
   if (depth != HWLOC_TYPE_DEPTH_UNKNOWN) {
     hwloc_obj_t node = NULL;
@@ -325,7 +325,7 @@ static __hwloc_inline int
 hwloc_nodeset_from_linux_libnuma_bitmask(hwloc_topology_t topology, hwloc_nodeset_t nodeset,
 					 const struct bitmask *bitmask)
 {
-  int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NODE);
+  int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
 
   if (depth != HWLOC_TYPE_DEPTH_UNKNOWN) {
     hwloc_obj_t node = NULL;
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/linux.h b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/linux.h
index 10769f0..4ddc900 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/linux.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/linux.h
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2013 Inria.  All rights reserved.
- * Copyright © 2009-2011 Université Bordeaux 1
+ * Copyright © 2009-2011 Université Bordeaux
  * See COPYING in top-level directory.
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/myriexpress.h b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/myriexpress.h
index ac751bc..68ff88f 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/myriexpress.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/myriexpress.h
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2010-2013 Inria.  All rights reserved.
+ * Copyright © 2010-2014 Inria.  All rights reserved.
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -65,7 +65,7 @@ hwloc_mx_board_get_device_cpuset(hwloc_topology_t topology,
 
   if (out != (uint32_t) -1) {
     hwloc_obj_t obj = NULL;
-    while ((obj = hwloc_get_next_obj_by_type(topology, HWLOC_OBJ_NODE, obj)) != NULL)
+    while ((obj = hwloc_get_next_obj_by_type(topology, HWLOC_OBJ_NUMANODE, obj)) != NULL)
       if (obj->os_index == out) {
 	hwloc_bitmap_copy(set, obj->cpuset);
 	goto out;
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/opencl.h b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/opencl.h
index 00c9758..0301ad9 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/opencl.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/opencl.h
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2012-2013 Inria.  All rights reserved.
- * Copyright © 2013 Université Bordeaux 1.  All right reserved.
+ * Copyright © 2013 Université Bordeaux.  All right reserved.
  * See COPYING in top-level directory.
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/openfabrics-verbs.h b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/openfabrics-verbs.h
index 69f86fe..c6b8533 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/openfabrics-verbs.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/openfabrics-verbs.h
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2013 Inria.  All rights reserved.
- * Copyright © 2009-2010 Université Bordeaux 1
+ * Copyright © 2009-2010 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/plugins.h b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/plugins.h
index 8efd219..238a689 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/plugins.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/plugins.h
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2013-2014 Inria.  All rights reserved.
+ * Copyright © 2013-2015 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -216,6 +216,38 @@ struct hwloc_component {
   /** \brief Component ABI version, set to HWLOC_COMPONENT_ABI */
   unsigned abi;
 
+  /** \brief Process-wide component initialization callback.
+   *
+   * This optional callback is called when the component is registered
+   * to the hwloc core (after loading the plugin).
+   *
+   * When the component is built as a plugin, this callback
+   * should call hwloc_check_plugin_namespace()
+   * and return an negative error code on error.
+   *
+   * \p flags is always 0 for now.
+   *
+   * \return 0 on success, or a negative code on error.
+   *
+   * \note If the component uses ltdl for loading its own plugins,
+   * it should load/unload them only in init() and finalize(),
+   * to avoid race conditions with hwloc's use of ltdl.
+   */
+  int (*init)(unsigned long flags);
+
+  /** \brief Process-wide component termination callback.
+   *
+   * This optional callback is called after unregistering the component
+   * from the hwloc core (before unloading the plugin).
+   *
+   * \p flags is always 0 for now.
+   *
+   * \note If the component uses ltdl for loading its own plugins,
+   * it should load/unload them only in init() and finalize(),
+   * to avoid race conditions with hwloc's use of ltdl.
+   */
+  void (*finalize)(unsigned long flags);
+
   /** \brief Component type */
   hwloc_component_type_t type;
 
@@ -276,6 +308,10 @@ HWLOC_DECLSPEC struct hwloc_obj *hwloc__insert_object_by_cpuset(struct hwloc_top
  * The cpuset is completely ignored, so strange objects such as I/O devices should
  * preferably be inserted with this.
  *
+ * When used for "normal" children with cpusets (when importing from XML
+ * when duplicating a topology), the caller should make sure children are inserted
+ * in order.
+ *
  * The given object may have children.
  *
  * Remember to call topology_connect() afterwards to fix handy pointers.
@@ -312,12 +348,19 @@ HWLOC_DECLSPEC int hwloc_fill_object_sets(hwloc_obj_t obj);
  * This may fail (and abort the program) if libhwloc symbols are in a
  * private namespace.
  *
- * Plugins should call this function as an early sanity check to avoid
+ * \return 0 on success.
+ * \return -1 if the plugin cannot be successfully loaded. The caller
+ * plugin init() callback should return a negative error code as well.
+ *
+ * Plugins should call this function in their init() callback to avoid
  * later crashes if lazy symbol resolution is used by the upper layer that
  * loaded hwloc (e.g. OpenCL implementations using dlopen with RTLD_LAZY).
  *
  * \note The build system must define HWLOC_INSIDE_PLUGIN if and only if
  * building the caller as a plugin.
+ *
+ * \note This function should remain inline so plugins can call it even
+ * when they cannot find libhwloc symbols.
  */
 static __hwloc_inline int
 hwloc_plugin_check_namespace(const char *pluginname __hwloc_attribute_unused, const char *symbol __hwloc_attribute_unused)
@@ -335,7 +378,7 @@ hwloc_plugin_check_namespace(const char *pluginname __hwloc_attribute_unused, co
     static int verboseenv_checked = 0;
     static int verboseenv_value = 0;
     if (!verboseenv_checked) {
-      char *verboseenv = getenv("HWLOC_PLUGINS_VERBOSE");
+      const char *verboseenv = getenv("HWLOC_PLUGINS_VERBOSE");
       verboseenv_value = atoi(verboseenv);
       verboseenv_checked = 1;
     }
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/rename.h b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/rename.h
index 56d4aa5..7b4b8a3 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/rename.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/hwloc/rename.h
@@ -49,8 +49,8 @@ extern "C" {
 
 #define HWLOC_OBJ_SYSTEM HWLOC_NAME_CAPS(OBJ_SYSTEM)
 #define HWLOC_OBJ_MACHINE HWLOC_NAME_CAPS(OBJ_MACHINE)
-#define HWLOC_OBJ_NODE HWLOC_NAME_CAPS(OBJ_NODE)
-#define HWLOC_OBJ_SOCKET HWLOC_NAME_CAPS(OBJ_SOCKET)
+#define HWLOC_OBJ_NUMANODE HWLOC_NAME_CAPS(OBJ_NUMANODE)
+#define HWLOC_OBJ_PACKAGE HWLOC_NAME_CAPS(OBJ_PACKAGE)
 #define HWLOC_OBJ_CACHE HWLOC_NAME_CAPS(OBJ_CACHE)
 #define HWLOC_OBJ_CORE HWLOC_NAME_CAPS(OBJ_CORE)
 #define HWLOC_OBJ_PU HWLOC_NAME_CAPS(OBJ_PU)
@@ -106,6 +106,7 @@ extern "C" {
 #define hwloc_topology_init HWLOC_NAME(topology_init)
 #define hwloc_topology_load HWLOC_NAME(topology_load)
 #define hwloc_topology_destroy HWLOC_NAME(topology_destroy)
+#define hwloc_topology_dup HWLOC_NAME(topology_dup)
 #define hwloc_topology_check HWLOC_NAME(topology_check)
 #define hwloc_topology_ignore_type HWLOC_NAME(topology_ignore_type)
 #define hwloc_topology_ignore_type_keep_structure HWLOC_NAME(topology_ignore_type_keep_structure)
@@ -134,6 +135,9 @@ extern "C" {
 #define hwloc_topology_membind_support HWLOC_NAME(topology_membind_support)
 #define hwloc_topology_support HWLOC_NAME(topology_support)
 #define hwloc_topology_get_support HWLOC_NAME(topology_get_support)
+#define hwloc_topology_set_userdata HWLOC_NAME(topology_set_userdata)
+#define hwloc_topology_get_userdata HWLOC_NAME(topology_get_userdata)
+
 #define hwloc_topology_export_xml HWLOC_NAME(topology_export_xml)
 #define hwloc_topology_export_xmlbuffer HWLOC_NAME(topology_export_xmlbuffer)
 #define hwloc_free_xmlbuffer HWLOC_NAME(free_xmlbuffer)
@@ -142,6 +146,11 @@ extern "C" {
 #define hwloc_export_obj_userdata_base64 HWLOC_NAME(export_obj_userdata_base64)
 #define hwloc_topology_set_userdata_import_callback HWLOC_NAME(topology_set_userdata_import_callback)
 
+#define hwloc_topology_export_synthetic_flags_e HWLOC_NAME(topology_export_synthetic_flags_e)
+#define HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_EXTENDED_TYPES HWLOC_NAME_CAPS(TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_EXTENDED_TYPES)
+#define HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_ATTRS HWLOC_NAME_CAPS(TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_ATTRS)
+#define hwloc_topology_export_synthetic HWLOC_NAME(topology_export_synthetic)
+
 #define hwloc_topology_insert_misc_object_by_cpuset HWLOC_NAME(topology_insert_misc_object_by_cpuset)
 #define hwloc_topology_insert_misc_object_by_parent HWLOC_NAME(topology_insert_misc_object_by_parent)
 
@@ -153,7 +162,6 @@ extern "C" {
 #define HWLOC_RESTRICT_FLAG_ADAPT_MISC HWLOC_NAME_CAPS(RESTRICT_FLAG_ADAPT_MISC)
 #define HWLOC_RESTRICT_FLAG_ADAPT_IO HWLOC_NAME_CAPS(RESTRICT_FLAG_ADAPT_IO)
 #define hwloc_topology_restrict HWLOC_NAME(topology_restrict)
-#define hwloc_topology_dup HWLOC_NAME(topology_dup)
 
 #define hwloc_topology_get_depth HWLOC_NAME(topology_get_depth)
 #define hwloc_get_type_depth HWLOC_NAME(get_type_depth)
@@ -307,6 +315,7 @@ extern "C" {
 #define hwloc_get_next_obj_by_depth HWLOC_NAME(get_next_obj_by_depth)
 #define hwloc_get_next_obj_by_type HWLOC_NAME(get_next_obj_by_type)
 #define hwloc_get_pu_obj_by_os_index HWLOC_NAME(get_pu_obj_by_os_index)
+#define hwloc_get_numanode_obj_by_os_index HWLOC_NAME(get_numanode_obj_by_os_index)
 #define hwloc_get_next_child HWLOC_NAME(get_next_child)
 #define hwloc_get_common_ancestor_obj HWLOC_NAME(get_common_ancestor_obj)
 #define hwloc_obj_is_in_subtree HWLOC_NAME(obj_is_in_subtree)
@@ -514,6 +523,7 @@ extern "C" {
 #define hwloc_fls32 HWLOC_NAME(fls32)
 #define hwloc_flsl_from_fls32 HWLOC_NAME(flsl_from_fls32)
 #define hwloc_weight_long HWLOC_NAME(weight_long)
+#define hwloc_strncasecmp HWLOC_NAME(strncasecmp)
 
 /* private/cpuid-x86.h */
 
@@ -569,6 +579,8 @@ extern "C" {
 #define hwloc_connect_children HWLOC_NAME(connect_children)
 #define hwloc_connect_levels HWLOC_NAME(connect_levels)
 
+#define hwloc__object_cpusets_compare_first HWLOC_NAME(_object_cpusets_compare_first)
+
 #define hwloc_topology_setup_defaults HWLOC_NAME(topology_setup_defaults)
 #define hwloc_topology_clear HWLOC_NAME(topology_clear)
 
@@ -619,6 +631,10 @@ extern "C" {
 
 #define hwloc_obj_add_info_nodup HWLOC_NAME(obj_add_info_nodup)
 
+#define hwloc_progname HWLOC_NAME(progname)
+
+#define hwloc_bitmap_compare_inclusion HWLOC_NAME(bitmap_compare_inclusion)
+
 /* private/solaris-chiptype.h */
 
 #define hwloc_solaris_get_chip_type HWLOC_NAME(solaris_get_chip_type)
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/cpuid-x86.h b/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/cpuid-x86.h
index f00a97f..8a8c48e 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/cpuid-x86.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/cpuid-x86.h
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2010-2012 Université Bordeaux 1
+ * Copyright © 2010-2012, 2014 Université Bordeaux
  * Copyright © 2010 Cisco Systems, Inc.  All rights reserved.
  * Copyright © 2014 Inria.  All rights reserved.
  *
@@ -16,7 +16,7 @@ static __hwloc_inline int hwloc_have_x86_cpuid(void)
 {
   int ret;
   unsigned tmp, tmp2;
-  asm(
+  __asm__(
       "mov $0,%0\n\t"   /* Not supported a priori */
 
       "pushfl   \n\t"   /* Save flags */
@@ -32,14 +32,14 @@ static __hwloc_inline int hwloc_have_x86_cpuid(void)
       "pushfl   \n\t"                                           \
       "pop %1   \n\t"                                           \
       "cmp %1,%2\n\t"   /* Compare with expected value */       \
-      "jnz Lhwloc1\n\t"   /* Unexpected, failure */               \
+      "jnz 0f\n\t"   /* Unexpected, failure */               \
 
       TRY_TOGGLE        /* Try to set/clear */
       TRY_TOGGLE        /* Try to clear/set */
 
       "mov $1,%0\n\t"   /* Passed the test! */
 
-      "Lhwloc1: \n\t"
+      "0: \n\t"
       "popfl    \n\t"   /* Restore flags */
 
       : "=r" (ret), "=&r" (tmp), "=&r" (tmp2));
@@ -64,7 +64,7 @@ static __hwloc_inline void hwloc_x86_cpuid(unsigned *eax, unsigned *ebx, unsigne
    * use them :/ */
 #ifdef HWLOC_X86_64_ARCH
   hwloc_uint64_t sav_rbx;
-  asm(
+  __asm__(
   "mov %%rbx,%2\n\t"
   "cpuid\n\t"
   "xchg %2,%%rbx\n\t"
@@ -73,7 +73,7 @@ static __hwloc_inline void hwloc_x86_cpuid(unsigned *eax, unsigned *ebx, unsigne
     "+c" (*ecx), "=&d" (*edx));
 #elif defined(HWLOC_X86_32_ARCH)
   unsigned long sav_ebx;
-  asm(
+  __asm__(
   "mov %%ebx,%2\n\t"
   "cpuid\n\t"
   "xchg %2,%%ebx\n\t"
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/debug.h b/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/debug.h
index b327bf2..4de91bf 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/debug.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/debug.h
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2012 Inria.  All rights reserved.
- * Copyright © 2009, 2011 Université Bordeaux 1
+ * Copyright © 2009, 2011 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/misc.h b/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/misc.h
index 3f4c95c..d0e6a46 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/misc.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/misc.h
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2010 inria.  All rights reserved.
- * Copyright © 2009-2012 Université Bordeaux 1
+ * Copyright © 2009-2014 Inria.  All rights reserved.
+ * Copyright © 2009-2012 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -14,6 +14,16 @@
 #include <hwloc/autogen/config.h>
 #include <private/autogen/config.h>
 
+#ifdef HWLOC_HAVE_DECL_STRNCASECMP
+#ifdef HAVE_STRINGS_H
+#include <strings.h>
+#endif
+#else
+#ifdef HAVE_CTYPE_H
+#include <ctype.h>
+#endif
+#endif
+
 /* Compile-time assertion */
 #define HWLOC_BUILD_ASSERT(condition) ((void)sizeof(char[1 - 2*!(condition)]))
 
@@ -354,4 +364,19 @@ hwloc_weight_long(unsigned long w)
 unsigned long long int strtoull(const char *nptr, char **endptr, int base);
 #endif
 
+static __hwloc_inline int hwloc_strncasecmp(const char *s1, const char *s2, size_t n)
+{
+#ifdef HWLOC_HAVE_DECL_STRNCASECMP
+  return strncasecmp(s1, s2, n);
+#else
+  while (n) {
+    char c1 = tolower(*s1), c2 = tolower(*s2);
+    if (!c1 || !c2 || c1 != c2)
+      return c1-c2;
+    n--; s1++; s2++;
+  }
+  return 0;
+#endif
+}
+
 #endif /* HWLOC_PRIVATE_MISC_H */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/private.h b/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/private.h
index 8d8e6f5..0d59298 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/private.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/private.h
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009      CNRS
- * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2012 Université Bordeaux 1
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2012 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  *
  * See COPYING in top-level directory.
@@ -58,6 +58,7 @@ struct hwloc_topology {
   int is_thissystem;
   int is_loaded;
   hwloc_pid_t pid;                                      /* Process ID the topology is view from, 0 for self */
+  void *userdata;
 
   unsigned bridge_nbobjects;
   struct hwloc_obj **bridge_level;
@@ -136,6 +137,8 @@ extern unsigned hwloc_fallback_nbprocessors(struct hwloc_topology *topology);
 extern void hwloc_connect_children(hwloc_obj_t obj);
 extern int hwloc_connect_levels(hwloc_topology_t topology);
 
+extern int hwloc__object_cpusets_compare_first(hwloc_obj_t obj1, hwloc_obj_t obj2);
+
 extern void hwloc_topology_setup_defaults(struct hwloc_topology *topology);
 extern void hwloc_topology_clear(struct hwloc_topology *topology);
 
@@ -299,10 +302,29 @@ extern int hwloc_namecoloncmp(const char *haystack, const char *needle, size_t n
 # define __hwloc_attribute_format(type, str, arg)
 #endif
 
+#define hwloc_memory_size_printf_value(_size, _verbose) \
+  ((_size) < (10ULL<<20) || _verbose ? (((_size)>>9)+1)>>1 : (_size) < (10ULL<<30) ? (((_size)>>19)+1)>>1 : (_size) < (10ULL<<40) ? (((_size)>>29)+1)>>1 : (((_size)>>39)+1)>>1)
+#define hwloc_memory_size_printf_unit(_size, _verbose) \
+  ((_size) < (10ULL<<20) || _verbose ? "KB" : (_size) < (10ULL<<30) ? "MB" : (_size) < (10ULL<<40) ? "GB" : "TB")
+
 /* On some systems, snprintf returns the size of written data, not the actually
  * required size.  hwloc_snprintf always report the actually required size. */
 extern int hwloc_snprintf(char *str, size_t size, const char *format, ...) __hwloc_attribute_format(printf, 3, 4);
 
 extern void hwloc_obj_add_info_nodup(hwloc_obj_t obj, const char *name, const char *value, int nodup);
 
+/* Return the name of the currently running program, if supported.
+ * If not NULL, must be freed by the caller.
+ */
+extern char * hwloc_progname(struct hwloc_topology *topology);
+
+#define HWLOC_BITMAP_EQUAL 0       /* Bitmaps are equal */
+#define HWLOC_BITMAP_INCLUDED 1    /* First bitmap included in second */
+#define HWLOC_BITMAP_CONTAINS 2    /* First bitmap contains second */
+#define HWLOC_BITMAP_INTERSECTS 3  /* Bitmaps intersect without any inclusion */
+#define HWLOC_BITMAP_DIFFERENT  4  /* Bitmaps do not intersect */
+
+/** \brief Compare bitmaps \p bitmap1 and \p bitmap2 from an inclusion point of view.
+ */
+HWLOC_DECLSPEC int hwloc_bitmap_compare_inclusion(hwloc_const_bitmap_t bitmap1, hwloc_const_bitmap_t bitmap2) __hwloc_attribute_pure;
 #endif /* HWLOC_PRIVATE_H */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/solaris-chiptype.h b/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/solaris-chiptype.h
index b84555b..4af80d8 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/solaris-chiptype.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/solaris-chiptype.h
@@ -1,10 +1,10 @@
 /*
- * Copyright (c) 2009-2010 Oracle and/or its affiliates.  All rights reserved. 
+ * Copyright © 2009-2010 Oracle and/or its affiliates.  All rights reserved.
  *
  * $COPYRIGHT$
- * 
+ *
  * Additional copyrights may follow
- * 
+ *
  * $HEADER$
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/xml.h b/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/xml.h
index fa59050..c009cb5 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/xml.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/include/private/xml.h
@@ -12,15 +12,15 @@
 
 HWLOC_DECLSPEC int hwloc__xml_verbose(void);
 
+/**************
+ * XML import *
+ **************/
+
 typedef struct hwloc__xml_import_state_s {
   struct hwloc__xml_import_state_s *parent;
 
-  int (*next_attr)(struct hwloc__xml_import_state_s * state, char **namep, char **valuep);
-  int (*find_child)(struct hwloc__xml_import_state_s * state, struct hwloc__xml_import_state_s * childstate, char **tagp);
-  int (*close_tag)(struct hwloc__xml_import_state_s * state); /* look for an explicit closing tag </name> */
-  void (*close_child)(struct hwloc__xml_import_state_s * state);
-  int (*get_content)(struct hwloc__xml_import_state_s * state, char **beginp, size_t expected_length);
-  void (*close_content)(struct hwloc__xml_import_state_s * state);
+  /* globals shared because the entire stack of states during import */
+  struct hwloc_xml_backend_data_s *global;
 
   /* opaque data used to store backend-specific data.
    * statically allocated to allow stack-allocation by the common code without knowing actual backend needs.
@@ -35,6 +35,13 @@ struct hwloc_xml_backend_data_s {
   int (*look_init)(struct hwloc_xml_backend_data_s *bdata, struct hwloc__xml_import_state_s *state);
   void (*look_failed)(struct hwloc_xml_backend_data_s *bdata);
   void (*backend_exit)(struct hwloc_xml_backend_data_s *bdata);
+  int (*next_attr)(struct hwloc__xml_import_state_s * state, char **namep, char **valuep);
+  int (*find_child)(struct hwloc__xml_import_state_s * state, struct hwloc__xml_import_state_s * childstate, char **tagp);
+  int (*close_tag)(struct hwloc__xml_import_state_s * state); /* look for an explicit closing tag </name> */
+  void (*close_child)(struct hwloc__xml_import_state_s * state);
+  int (*get_content)(struct hwloc__xml_import_state_s * state, char **beginp, size_t expected_length);
+  void (*close_content)(struct hwloc__xml_import_state_s * state);
+  char * msgprefix;
   void *data; /* libxml2 doc, or nolibxml buffer */
   struct hwloc_xml_imported_distances_s {
     hwloc_obj_t root;
@@ -43,6 +50,10 @@ struct hwloc_xml_backend_data_s {
   } *first_distances, *last_distances;
 };
 
+/**************
+ * XML export *
+ **************/
+
 typedef struct hwloc__xml_export_state_s {
   struct hwloc__xml_export_state_s *parent;
 
@@ -70,7 +81,7 @@ struct hwloc_xml_callbacks {
   int (*export_file)(struct hwloc_topology *topology, const char *filename);
   int (*export_buffer)(struct hwloc_topology *topology, char **xmlbuffer, int *buflen);
   void (*free_buffer)(void *xmlbuffer);
-  int (*import_diff)(const char *xmlpath, const char *xmlbuffer, int xmlbuflen, hwloc_topology_diff_t *diff, char **refnamep);
+  int (*import_diff)(struct hwloc__xml_import_state_s *state, const char *xmlpath, const char *xmlbuffer, int xmlbuflen, hwloc_topology_diff_t *diff, char **refnamep);
   int (*export_diff_file)(union hwloc_topology_diff_u *diff, const char *refname, const char *filename);
   int (*export_diff_buffer)(union hwloc_topology_diff_u *diff, const char *refname, char **xmlbuffer, int *buflen);
 };
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/Makefile.am b/src/pm/hydra/tools/topo/hwloc/hwloc/src/Makefile.am
index b4d2f6c..41aa35c 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/Makefile.am
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/Makefile.am
@@ -1,6 +1,6 @@
 # Copyright © 2009-2014 Inria.  All rights reserved.
-# Copyright © 2009-2012 Université Bordeaux 1
-# Copyright © 2009-2010 Cisco Systems, Inc.  All rights reserved.
+# Copyright © 2009-2012 Université Bordeaux
+# Copyright © 2009-2014 Cisco Systems, Inc.  All rights reserved.
 # Copyright © 2011-2012 Oracle and/or its affiliates.  All rights reserved.
 # See COPYING in top-level directory.
 
@@ -20,7 +20,7 @@ noinst_LTLIBRARIES = libhwloc_embedded.la
 endif
 
 pluginsdir = @HWLOC_PLUGINS_DIR@
-plugins_LTLIBRARIES = 
+plugins_LTLIBRARIES =
 plugins_ldflags = -module -avoid-version -lltdl
 AM_CPPFLAGS += -DHWLOC_PLUGINS_PATH=\"$(HWLOC_PLUGINS_PATH)\"
 
@@ -63,8 +63,8 @@ sources += topology-pci.c
 else
 plugins_LTLIBRARIES += hwloc_pci.la
 hwloc_pci_la_SOURCES = topology-pci.c
-hwloc_pci_la_CFLAGS = $(AM_CFLAGS) $(HWLOC_PCIUTILS_CFLAGS) $(HWLOC_PCIACCESS_CFLAGS) -DHWLOC_INSIDE_PLUGIN
-hwloc_pci_la_LDFLAGS = $(plugins_ldflags) $(HWLOC_PCIUTILS_LIBS) $(HWLOC_PCIACCESS_LIBS)
+hwloc_pci_la_CFLAGS = $(AM_CFLAGS) $(HWLOC_PCIACCESS_CFLAGS) -DHWLOC_INSIDE_PLUGIN
+hwloc_pci_la_LDFLAGS = $(plugins_ldflags) $(HWLOC_PCIACCESS_LIBS)
 endif
 endif HWLOC_HAVE_PCI
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/base64.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/base64.c
index 89cd003..7a3392f 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/base64.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/base64.c
@@ -106,9 +106,9 @@ static const char Pad64 = '=';
    end of the data is performed using the '=' character.
 
    Since all base64 input is an integral number of octets, only the
-         -------------------------------------------------                       
+         -------------------------------------------------
    following cases can arise:
-   
+
        (1) the final quantum of encoding input is an integral
            multiple of 24 bits; here, the final unit of encoded
 	   output will be an integral multiple of 4 characters
@@ -153,14 +153,14 @@ hwloc_encode_to_base64(const char *src, size_t srclength, char *target, size_t t
 		target[datalength++] = Base64[output[2]];
 		target[datalength++] = Base64[output[3]];
 	}
-    
+
 	/* Now we worry about padding. */
 	if (0 != srclength) {
 		/* Get what's left. */
 		input[0] = input[1] = input[2] = '\0';
 		for (i = 0; i < srclength; i++)
 			input[i] = *src++;
-	
+
 		output[0] = input[0] >> 2;
 		output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4);
 		output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/bind.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/bind.c
index 37921bc..e2b5a06 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/bind.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/bind.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2011 inria.  All rights reserved.
- * Copyright © 2009-2010, 2012 Université Bordeaux 1
+ * Copyright © 2009-2010, 2012 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/bitmap.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/bitmap.c
index 39f4dbf..1e78a96 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/bitmap.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/bitmap.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2011 inria.  All rights reserved.
- * Copyright © 2009-2011 Université Bordeaux 1
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2011 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -244,12 +244,20 @@ int hwloc_bitmap_snprintf(char * __hwloc_restrict buf, size_t buflen, const stru
       res = size>0 ? size - 1 : 0;
     tmp += res;
     size -= res;
-    /* optimize a common case: full bitmap should appear as 0xf...f instead of 0xf...f,0xffffffff */
-    if (set->ulongs_count == 1 && set->ulongs[0] == HWLOC_SUBBITMAP_FULL)
-      return ret;
   }
 
   i=set->ulongs_count-1;
+
+  if (set->infinite) {
+    /* ignore starting FULL since we have 0xf...f already */
+    while (i>=0 && set->ulongs[i] == HWLOC_SUBBITMAP_FULL)
+      i--;
+  } else {
+    /* ignore starting ZERO except the last one */
+    while (i>=0 && set->ulongs[i] == HWLOC_SUBBITMAP_ZERO)
+      i--;
+  }
+
   while (i>=0 || accumed) {
     /* Refill accumulator */
     if (!accumed) {
@@ -289,6 +297,14 @@ int hwloc_bitmap_snprintf(char * __hwloc_restrict buf, size_t buflen, const stru
     size -= res;
   }
 
+  /* if didn't display anything, display 0x0 */
+  if (!ret) {
+    res = hwloc_snprintf(tmp, size, "0x0");
+    if (res < 0)
+      return -1;
+    ret += res;
+  }
+
   return ret;
 }
 
@@ -513,12 +529,20 @@ int hwloc_bitmap_taskset_snprintf(char * __hwloc_restrict buf, size_t buflen, co
       res = size>0 ? size - 1 : 0;
     tmp += res;
     size -= res;
-    /* optimize a common case: full bitmap should appear as 0xf...f instead of 0xf...fffffffff */
-    if (set->ulongs_count == 1 && set->ulongs[0] == HWLOC_SUBBITMAP_FULL)
-      return ret;
   }
 
   i=set->ulongs_count-1;
+
+  if (set->infinite) {
+    /* ignore starting FULL since we have 0xf...f already */
+    while (i>=0 && set->ulongs[i] == HWLOC_SUBBITMAP_FULL)
+      i--;
+  } else {
+    /* ignore starting ZERO except the last one */
+    while (i>=1 && set->ulongs[i] == HWLOC_SUBBITMAP_ZERO)
+      i--;
+  }
+
   while (i>=0) {
     unsigned long val = set->ulongs[i--];
     if (started) {
@@ -543,6 +567,14 @@ int hwloc_bitmap_taskset_snprintf(char * __hwloc_restrict buf, size_t buflen, co
     size -= res;
   }
 
+  /* if didn't display anything, display 0x0 */
+  if (!ret) {
+    res = hwloc_snprintf(tmp, size, "0x0");
+    if (res < 0)
+      return -1;
+    ret += res;
+  }
+
   return ret;
 }
 
@@ -864,15 +896,31 @@ int hwloc_bitmap_isfull(const struct hwloc_bitmap_s *set)
 
 int hwloc_bitmap_isequal (const struct hwloc_bitmap_s *set1, const struct hwloc_bitmap_s *set2)
 {
+	unsigned count1 = set1->ulongs_count;
+	unsigned count2 = set2->ulongs_count;
+	unsigned min_count = count1 < count2 ? count1 : count2;
 	unsigned i;
 
 	HWLOC__BITMAP_CHECK(set1);
 	HWLOC__BITMAP_CHECK(set2);
 
-	for(i=0; i<set1->ulongs_count || i<set2->ulongs_count; i++)
-		if (HWLOC_SUBBITMAP_READULONG(set1, i) != HWLOC_SUBBITMAP_READULONG(set2, i))
+	for(i=0; i<min_count; i++)
+		if (set1->ulongs[i] != set2->ulongs[i])
 			return 0;
 
+	if (count1 != count2) {
+		unsigned long w1 = set1->infinite ? HWLOC_SUBBITMAP_FULL : HWLOC_SUBBITMAP_ZERO;
+		unsigned long w2 = set2->infinite ? HWLOC_SUBBITMAP_FULL : HWLOC_SUBBITMAP_ZERO;
+		for(i=min_count; i<count1; i++) {
+			if (set1->ulongs[i] != w2)
+				return 0;
+		}
+		for(i=min_count; i<count2; i++) {
+			if (set2->ulongs[i] != w1)
+				return 0;
+		}
+	}
+
 	if (set1->infinite != set2->infinite)
 		return 0;
 
@@ -881,32 +929,62 @@ int hwloc_bitmap_isequal (const struct hwloc_bitmap_s *set1, const struct hwloc_
 
 int hwloc_bitmap_intersects (const struct hwloc_bitmap_s *set1, const struct hwloc_bitmap_s *set2)
 {
+	unsigned count1 = set1->ulongs_count;
+	unsigned count2 = set2->ulongs_count;
+	unsigned min_count = count1 < count2 ? count1 : count2;
 	unsigned i;
 
 	HWLOC__BITMAP_CHECK(set1);
 	HWLOC__BITMAP_CHECK(set2);
 
-	for(i=0; i<set1->ulongs_count || i<set2->ulongs_count; i++)
-		if ((HWLOC_SUBBITMAP_READULONG(set1, i) & HWLOC_SUBBITMAP_READULONG(set2, i)) != HWLOC_SUBBITMAP_ZERO)
+	for(i=0; i<min_count; i++)
+		if (set1->ulongs[i] & set2->ulongs[i])
 			return 1;
 
+	if (count1 != count2) {
+		if (set2->infinite) {
+			for(i=min_count; i<set1->ulongs_count; i++)
+				if (set1->ulongs[i])
+					return 1;
+		}
+		if (set1->infinite) {
+			for(i=min_count; i<set2->ulongs_count; i++)
+				if (set2->ulongs[i])
+					return 1;
+		}
+	}
+
 	if (set1->infinite && set2->infinite)
-		return 0;
+		return 1;
 
 	return 0;
 }
 
 int hwloc_bitmap_isincluded (const struct hwloc_bitmap_s *sub_set, const struct hwloc_bitmap_s *super_set)
 {
+	unsigned super_count = super_set->ulongs_count;
+	unsigned sub_count = sub_set->ulongs_count;
+	unsigned min_count = super_count < sub_count ? super_count : sub_count;
 	unsigned i;
 
 	HWLOC__BITMAP_CHECK(sub_set);
 	HWLOC__BITMAP_CHECK(super_set);
 
-	for(i=0; i<sub_set->ulongs_count; i++)
-		if (HWLOC_SUBBITMAP_READULONG(super_set, i) != (HWLOC_SUBBITMAP_READULONG(super_set, i) | HWLOC_SUBBITMAP_READULONG(sub_set, i)))
+	for(i=0; i<min_count; i++)
+		if (super_set->ulongs[i] != (super_set->ulongs[i] | sub_set->ulongs[i]))
 			return 0;
 
+	if (super_count != sub_count) {
+		if (!super_set->infinite)
+			for(i=min_count; i<sub_count; i++)
+				if (sub_set->ulongs[i])
+					return 0;
+		if (sub_set->infinite)
+			for(i=min_count; i<super_count; i++)
+				if (super_set->ulongs[i] != HWLOC_SUBBITMAP_FULL)
+					return 0;
+	}
+
 	if (sub_set->infinite && !super_set->infinite)
 		return 0;
 
@@ -915,83 +993,166 @@ int hwloc_bitmap_isincluded (const struct hwloc_bitmap_s *sub_set, const struct
 
 void hwloc_bitmap_or (struct hwloc_bitmap_s *res, const struct hwloc_bitmap_s *set1, const struct hwloc_bitmap_s *set2)
 {
-	const struct hwloc_bitmap_s *largest = set1->ulongs_count > set2->ulongs_count ? set1 : set2;
+	/* cache counts so that we can reset res even if it's also set1 or set2 */
+	unsigned count1 = set1->ulongs_count;
+	unsigned count2 = set2->ulongs_count;
+	unsigned max_count = count1 > count2 ? count1 : count2;
+	unsigned min_count = count1 + count2 - max_count;
 	unsigned i;
 
 	HWLOC__BITMAP_CHECK(res);
 	HWLOC__BITMAP_CHECK(set1);
 	HWLOC__BITMAP_CHECK(set2);
 
-	hwloc_bitmap_realloc_by_ulongs(res, largest->ulongs_count); /* cannot reset since the output may also be an input */
+	hwloc_bitmap_reset_by_ulongs(res, max_count);
 
-	for(i=0; i<res->ulongs_count; i++)
-		res->ulongs[i] = HWLOC_SUBBITMAP_READULONG(set1, i) | HWLOC_SUBBITMAP_READULONG(set2, i);
+	for(i=0; i<min_count; i++)
+		res->ulongs[i] = set1->ulongs[i] | set2->ulongs[i];
+
+	if (count1 != count2) {
+		if (min_count < count1) {
+			if (set2->infinite) {
+				res->ulongs_count = min_count;
+			} else {
+				for(i=min_count; i<max_count; i++)
+					res->ulongs[i] = set1->ulongs[i];
+			}
+		} else {
+			if (set1->infinite) {
+				res->ulongs_count = min_count;
+			} else {
+				for(i=min_count; i<max_count; i++)
+					res->ulongs[i] = set2->ulongs[i];
+			}
+		}
+	}
 
 	res->infinite = set1->infinite || set2->infinite;
 }
 
 void hwloc_bitmap_and (struct hwloc_bitmap_s *res, const struct hwloc_bitmap_s *set1, const struct hwloc_bitmap_s *set2)
 {
-	const struct hwloc_bitmap_s *largest = set1->ulongs_count > set2->ulongs_count ? set1 : set2;
+	/* cache counts so that we can reset res even if it's also set1 or set2 */
+	unsigned count1 = set1->ulongs_count;
+	unsigned count2 = set2->ulongs_count;
+	unsigned max_count = count1 > count2 ? count1 : count2;
+	unsigned min_count = count1 + count2 - max_count;
 	unsigned i;
 
 	HWLOC__BITMAP_CHECK(res);
 	HWLOC__BITMAP_CHECK(set1);
 	HWLOC__BITMAP_CHECK(set2);
 
-	hwloc_bitmap_realloc_by_ulongs(res, largest->ulongs_count); /* cannot reset since the output may also be an input */
+	hwloc_bitmap_reset_by_ulongs(res, max_count);
+
+	for(i=0; i<min_count; i++)
+		res->ulongs[i] = set1->ulongs[i] & set2->ulongs[i];
 
-	for(i=0; i<res->ulongs_count; i++)
-		res->ulongs[i] = HWLOC_SUBBITMAP_READULONG(set1, i) & HWLOC_SUBBITMAP_READULONG(set2, i);
+	if (count1 != count2) {
+		if (min_count < count1) {
+			if (set2->infinite) {
+				for(i=min_count; i<max_count; i++)
+					res->ulongs[i] = set1->ulongs[i];
+			} else {
+				res->ulongs_count = min_count;
+			}
+		} else {
+			if (set1->infinite) {
+				for(i=min_count; i<max_count; i++)
+					res->ulongs[i] = set2->ulongs[i];
+			} else {
+				res->ulongs_count = min_count;
+			}
+		}
+	}
 
 	res->infinite = set1->infinite && set2->infinite;
 }
 
 void hwloc_bitmap_andnot (struct hwloc_bitmap_s *res, const struct hwloc_bitmap_s *set1, const struct hwloc_bitmap_s *set2)
 {
-	const struct hwloc_bitmap_s *largest = set1->ulongs_count > set2->ulongs_count ? set1 : set2;
+	/* cache counts so that we can reset res even if it's also set1 or set2 */
+	unsigned count1 = set1->ulongs_count;
+	unsigned count2 = set2->ulongs_count;
+	unsigned max_count = count1 > count2 ? count1 : count2;
+	unsigned min_count = count1 + count2 - max_count;
 	unsigned i;
 
 	HWLOC__BITMAP_CHECK(res);
 	HWLOC__BITMAP_CHECK(set1);
 	HWLOC__BITMAP_CHECK(set2);
 
-	hwloc_bitmap_realloc_by_ulongs(res, largest->ulongs_count); /* cannot reset since the output may also be an input */
+	hwloc_bitmap_reset_by_ulongs(res, max_count);
 
-	for(i=0; i<res->ulongs_count; i++)
-		res->ulongs[i] = HWLOC_SUBBITMAP_READULONG(set1, i) & ~HWLOC_SUBBITMAP_READULONG(set2, i);
+	for(i=0; i<min_count; i++)
+		res->ulongs[i] = set1->ulongs[i] & ~set2->ulongs[i];
+
+	if (count1 != count2) {
+		if (min_count < count1) {
+			if (!set2->infinite) {
+				for(i=min_count; i<max_count; i++)
+					res->ulongs[i] = set1->ulongs[i];
+			} else {
+				res->ulongs_count = min_count;
+			}
+		} else {
+			if (set1->infinite) {
+				for(i=min_count; i<max_count; i++)
+					res->ulongs[i] = ~set2->ulongs[i];
+			} else {
+				res->ulongs_count = min_count;
+			}
+		}
+	}
 
 	res->infinite = set1->infinite && !set2->infinite;
 }
 
 void hwloc_bitmap_xor (struct hwloc_bitmap_s *res, const struct hwloc_bitmap_s *set1, const struct hwloc_bitmap_s *set2)
 {
-	const struct hwloc_bitmap_s *largest = set1->ulongs_count > set2->ulongs_count ? set1 : set2;
+	/* cache counts so that we can reset res even if it's also set1 or set2 */
+	unsigned count1 = set1->ulongs_count;
+	unsigned count2 = set2->ulongs_count;
+	unsigned max_count = count1 > count2 ? count1 : count2;
+	unsigned min_count = count1 + count2 - max_count;
 	unsigned i;
 
 	HWLOC__BITMAP_CHECK(res);
 	HWLOC__BITMAP_CHECK(set1);
 	HWLOC__BITMAP_CHECK(set2);
 
-	hwloc_bitmap_realloc_by_ulongs(res, largest->ulongs_count); /* cannot reset since the output may also be an input */
+	hwloc_bitmap_reset_by_ulongs(res, max_count);
 
-	for(i=0; i<res->ulongs_count; i++)
-		res->ulongs[i] = HWLOC_SUBBITMAP_READULONG(set1, i) ^ HWLOC_SUBBITMAP_READULONG(set2, i);
+	for(i=0; i<min_count; i++)
+		res->ulongs[i] = set1->ulongs[i] ^ set2->ulongs[i];
+
+	if (count1 != count2) {
+		if (min_count < count1) {
+			unsigned long w2 = set2->infinite ? HWLOC_SUBBITMAP_FULL : HWLOC_SUBBITMAP_ZERO;
+			for(i=min_count; i<max_count; i++)
+				res->ulongs[i] = set1->ulongs[i] ^ w2;
+		} else {
+			unsigned long w1 = set1->infinite ? HWLOC_SUBBITMAP_FULL : HWLOC_SUBBITMAP_ZERO;
+			for(i=min_count; i<max_count; i++)
+				res->ulongs[i] = set2->ulongs[i] ^ w1;
+		}
+	}
 
 	res->infinite = (!set1->infinite) != (!set2->infinite);
 }
 
 void hwloc_bitmap_not (struct hwloc_bitmap_s *res, const struct hwloc_bitmap_s *set)
 {
+	unsigned count = set->ulongs_count;
 	unsigned i;
 
 	HWLOC__BITMAP_CHECK(res);
 	HWLOC__BITMAP_CHECK(set);
 
-	hwloc_bitmap_realloc_by_ulongs(res, set->ulongs_count); /* cannot reset since the output may also be an input */
+	hwloc_bitmap_reset_by_ulongs(res, count);
 
-	for(i=0; i<res->ulongs_count; i++)
-		res->ulongs[i] = ~HWLOC_SUBBITMAP_READULONG(set, i);
+	for(i=0; i<count; i++)
+		res->ulongs[i] = ~set->ulongs[i];
 
 	res->infinite = !set->infinite;
 }
@@ -1102,14 +1263,18 @@ void hwloc_bitmap_singlify(struct hwloc_bitmap_s * set)
 
 int hwloc_bitmap_compare_first(const struct hwloc_bitmap_s * set1, const struct hwloc_bitmap_s * set2)
 {
+	unsigned count1 = set1->ulongs_count;
+	unsigned count2 = set2->ulongs_count;
+	unsigned max_count = count1 > count2 ? count1 : count2;
+	unsigned min_count = count1 + count2 - max_count;
 	unsigned i;
 
 	HWLOC__BITMAP_CHECK(set1);
 	HWLOC__BITMAP_CHECK(set2);
 
-	for(i=0; i<set1->ulongs_count || i<set2->ulongs_count; i++) {
-		unsigned long w1 = HWLOC_SUBBITMAP_READULONG(set1, i);
-		unsigned long w2 = HWLOC_SUBBITMAP_READULONG(set2, i);
+	for(i=0; i<min_count; i++) {
+		unsigned long w1 = set1->ulongs[i];
+		unsigned long w2 = set2->ulongs[i];
 		if (w1 || w2) {
 			int _ffs1 = hwloc_ffsl(w1);
 			int _ffs2 = hwloc_ffsl(w2);
@@ -1120,14 +1285,36 @@ int hwloc_bitmap_compare_first(const struct hwloc_bitmap_s * set1, const struct
 			return _ffs2-_ffs1;
 		}
 	}
-	if ((!set1->infinite) != (!set2->infinite))
-		return !!set1->infinite - !!set2->infinite;
-	return 0;
+
+	if (count1 != count2) {
+		if (min_count < count2) {
+			for(i=min_count; i<count2; i++) {
+				unsigned long w2 = set2->ulongs[i];
+				if (set1->infinite)
+					return -!(w2 & 1);
+				else if (w2)
+					return 1;
+			}
+		} else {
+			for(i=min_count; i<count1; i++) {
+				unsigned long w1 = set1->ulongs[i];
+				if (set2->infinite)
+					return !(w1 & 1);
+				else if (w1)
+					return -1;
+			}
+		}
+	}
+
+	return !!set1->infinite - !!set2->infinite;
 }
 
 int hwloc_bitmap_compare(const struct hwloc_bitmap_s * set1, const struct hwloc_bitmap_s * set2)
 {
-	const struct hwloc_bitmap_s *largest = set1->ulongs_count > set2->ulongs_count ? set1 : set2;
+	unsigned count1 = set1->ulongs_count;
+	unsigned count2 = set2->ulongs_count;
+	unsigned max_count = count1 > count2 ? count1 : count2;
+	unsigned min_count = count1 + count2 - max_count;
 	int i;
 
 	HWLOC__BITMAP_CHECK(set1);
@@ -1136,9 +1323,29 @@ int hwloc_bitmap_compare(const struct hwloc_bitmap_s * set1, const struct hwloc_
 	if ((!set1->infinite) != (!set2->infinite))
 		return !!set1->infinite - !!set2->infinite;
 
-	for(i=largest->ulongs_count-1; i>=0; i--) {
-		unsigned long val1 = HWLOC_SUBBITMAP_READULONG(set1, (unsigned) i);
-		unsigned long val2 = HWLOC_SUBBITMAP_READULONG(set2, (unsigned) i);
+	if (count1 != count2) {
+		if (min_count < count2) {
+			unsigned long val1 = set1->infinite ? HWLOC_SUBBITMAP_FULL :  HWLOC_SUBBITMAP_ZERO;
+			for(i=max_count-1; i>=(signed) min_count; i--) {
+				unsigned long val2 = set2->ulongs[i];
+				if (val1 == val2)
+					continue;
+				return val1 < val2 ? -1 : 1;
+			}
+		} else {
+			unsigned long val2 = set2->infinite ? HWLOC_SUBBITMAP_FULL :  HWLOC_SUBBITMAP_ZERO;
+			for(i=max_count-1; i>=(signed) min_count; i--) {
+				unsigned long val1 = set1->ulongs[i];
+				if (val1 == val2)
+					continue;
+				return val1 < val2 ? -1 : 1;
+			}
+		}
+	}
+
+	for(i=min_count-1; i>=0; i--) {
+		unsigned long val1 = set1->ulongs[i];
+		unsigned long val2 = set2->ulongs[i];
 		if (val1 == val2)
 			continue;
 		return val1 < val2 ? -1 : 1;
@@ -1161,3 +1368,118 @@ int hwloc_bitmap_weight(const struct hwloc_bitmap_s * set)
 		weight += hwloc_weight_long(set->ulongs[i]);
 	return weight;
 }
+
+int hwloc_bitmap_compare_inclusion(const struct hwloc_bitmap_s * set1, const struct hwloc_bitmap_s * set2)
+{
+	unsigned max_count = set1->ulongs_count > set2->ulongs_count ? set1->ulongs_count : set2->ulongs_count;
+	int result = HWLOC_BITMAP_EQUAL; /* means empty sets return equal */
+	int empty1 = 1;
+	int empty2 = 1;
+	unsigned i;
+
+	HWLOC__BITMAP_CHECK(set1);
+	HWLOC__BITMAP_CHECK(set2);
+
+	for(i=0; i<max_count; i++) {
+	  unsigned long val1 = HWLOC_SUBBITMAP_READULONG(set1, (unsigned) i);
+	  unsigned long val2 = HWLOC_SUBBITMAP_READULONG(set2, (unsigned) i);
+
+	  if (!val1) {
+	    if (!val2)
+	      /* both empty, no change */
+	      continue;
+
+	    /* val1 empty, val2 not */
+	    if (result == HWLOC_BITMAP_CONTAINS) {
+	      if (!empty2)
+		return HWLOC_BITMAP_INTERSECTS;
+	      result = HWLOC_BITMAP_DIFFERENT;
+	    } else if (result == HWLOC_BITMAP_EQUAL) {
+	      result = HWLOC_BITMAP_INCLUDED;
+	    }
+	    /* no change otherwise */
+
+	  } else if (!val2) {
+	    /* val2 empty, val1 not */
+	    if (result == HWLOC_BITMAP_INCLUDED) {
+	      if (!empty1)
+		return HWLOC_BITMAP_INTERSECTS;
+	      result = HWLOC_BITMAP_DIFFERENT;
+	    } else if (result == HWLOC_BITMAP_EQUAL) {
+	      result = HWLOC_BITMAP_CONTAINS;
+	    }
+	    /* no change otherwise */
+
+	  } else if (val1 == val2) {
+	    /* equal and not empty */
+	    if (result == HWLOC_BITMAP_DIFFERENT)
+	      return HWLOC_BITMAP_INTERSECTS;
+	    /* equal/contains/included unchanged */
+
+	  } else if ((val1 & val2) == val1) {
+	    /* included and not empty */
+	    if (result == HWLOC_BITMAP_CONTAINS || result == HWLOC_BITMAP_DIFFERENT)
+	      return HWLOC_BITMAP_INTERSECTS;
+	    /* equal/included unchanged */
+	    result = HWLOC_BITMAP_INCLUDED;
+
+	  } else if ((val1 & val2) == val2) {
+	    /* contains and not empty */
+	    if (result == HWLOC_BITMAP_INCLUDED || result == HWLOC_BITMAP_DIFFERENT)
+	      return HWLOC_BITMAP_INTERSECTS;
+	    /* equal/contains unchanged */
+	    result = HWLOC_BITMAP_CONTAINS;
+
+	  } else if ((val1 & val2) != 0) {
+	    /* intersects and not empty */
+	    return HWLOC_BITMAP_INTERSECTS;
+
+	  } else {
+	    /* different and not empty */
+
+	    /* equal/included/contains with non-empty sets means intersects */
+	    if (result == HWLOC_BITMAP_EQUAL && !empty1 /* implies !empty2 */)
+	      return HWLOC_BITMAP_INTERSECTS;
+	    if (result == HWLOC_BITMAP_INCLUDED && !empty1)
+	      return HWLOC_BITMAP_INTERSECTS;
+	    if (result == HWLOC_BITMAP_CONTAINS && !empty2)
+	      return HWLOC_BITMAP_INTERSECTS;
+	    /* otherwise means different */
+	    result = HWLOC_BITMAP_DIFFERENT;
+	  }
+
+	  empty1 &= !val1;
+	  empty2 &= !val2;
+	}
+
+	if (!set1->infinite) {
+	  if (set2->infinite) {
+	    /* set2 infinite only */
+	    if (result == HWLOC_BITMAP_CONTAINS) {
+	      if (!empty2)
+		return HWLOC_BITMAP_INTERSECTS;
+	      result = HWLOC_BITMAP_DIFFERENT;
+	    } else if (result == HWLOC_BITMAP_EQUAL) {
+	      result = HWLOC_BITMAP_INCLUDED;
+	    }
+	    /* no change otherwise */
+	  }
+	} else if (!set2->infinite) {
+	  /* set1 infinite only */
+	  if (result == HWLOC_BITMAP_INCLUDED) {
+	    if (!empty1)
+	      return HWLOC_BITMAP_INTERSECTS;
+	    result = HWLOC_BITMAP_DIFFERENT;
+	  } else if (result == HWLOC_BITMAP_EQUAL) {
+	    result = HWLOC_BITMAP_CONTAINS;
+	  }
+	  /* no change otherwise */
+	} else {
+	  /* both infinite */
+	  if (result == HWLOC_BITMAP_DIFFERENT)
+	    return HWLOC_BITMAP_INTERSECTS;
+	  /* equal/contains/included unchanged */
+	}
+
+	return result;
+}
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/components.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/components.c
index 6384dad..dc656e3 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/components.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/components.c
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2009-2014 Inria.  All rights reserved.
+ * Copyright © 2009-2015 Inria.  All rights reserved.
  * Copyright © 2012 Université Bordeau 1
  * See COPYING in top-level directory.
  */
@@ -26,6 +26,12 @@ static int hwloc_components_verbose = 0;
 static int hwloc_plugins_verbose = 0;
 #endif
 
+/* hwloc_components_mutex serializes:
+ * - loading/unloading plugins, and modifications of the hwloc_plugins list
+ * - calls to ltdl, including in hwloc_check_plugin_namespace()
+ * - registration of components with hwloc_disc_component_register()
+ *   and hwloc_xml_callbacks_register()
+ */
 #ifdef HWLOC_WIN_SYS
 /* Basic mutex on top of InterlockedCompareExchange() on windows,
  * Far from perfect, but easy to maintain, and way enough given that this code will never be needed for real. */
@@ -183,9 +189,9 @@ hwloc_plugins_exit(void)
 static int
 hwloc_plugins_init(void)
 {
-  char *verboseenv;
+  const char *verboseenv;
   char *path = HWLOC_PLUGINS_PATH;
-  char *env;
+  const char *env;
   int err;
 
   verboseenv = getenv("HWLOC_PLUGINS_VERBOSE");
@@ -297,13 +303,16 @@ hwloc_disc_component_register(struct hwloc_disc_component *component,
 
 #include <static-components.h>
 
+static void (**hwloc_component_finalize_cbs)(unsigned long);
+static unsigned hwloc_component_finalize_cb_count;
+
 void
 hwloc_components_init(struct hwloc_topology *topology __hwloc_attribute_unused)
 {
 #ifdef HWLOC_HAVE_PLUGINS
   struct hwloc__plugin_desc *desc;
 #endif
-  char *verboseenv;
+  const char *verboseenv;
   unsigned i;
 
   HWLOC_COMPONENTS_LOCK();
@@ -320,6 +329,23 @@ hwloc_components_init(struct hwloc_topology *topology __hwloc_attribute_unused)
   hwloc_plugins_init();
 #endif
 
+  hwloc_component_finalize_cbs = NULL;
+  hwloc_component_finalize_cb_count = 0;
+  /* count the max number of finalize callbacks */
+  for(i=0; NULL != hwloc_static_components[i]; i++)
+    hwloc_component_finalize_cb_count++;
+#ifdef HWLOC_HAVE_PLUGINS
+  for(desc = hwloc_plugins; NULL != desc; desc = desc->next)
+    hwloc_component_finalize_cb_count++;
+#endif
+  if (hwloc_component_finalize_cb_count) {
+    hwloc_component_finalize_cbs = calloc(hwloc_component_finalize_cb_count,
+					  sizeof(*hwloc_component_finalize_cbs));
+    assert(hwloc_component_finalize_cbs);
+    /* forget that max number and recompute the real one below */
+    hwloc_component_finalize_cb_count = 0;
+  }
+
   /* hwloc_static_components is created by configure in static-components.h */
   for(i=0; NULL != hwloc_static_components[i]; i++) {
     if (hwloc_static_components[i]->flags) {
@@ -327,6 +353,18 @@ hwloc_components_init(struct hwloc_topology *topology __hwloc_attribute_unused)
 	      hwloc_static_components[i]->flags);
       continue;
     }
+
+    /* initialize the component */
+    if (hwloc_static_components[i]->init && hwloc_static_components[i]->init(0) < 0) {
+      if (hwloc_components_verbose)
+	fprintf(stderr, "Ignoring static component, failed to initialize\n");
+      continue;
+    }
+    /* queue ->finalize() callback if any */
+    if (hwloc_static_components[i]->finalize)
+      hwloc_component_finalize_cbs[hwloc_component_finalize_cb_count++] = hwloc_static_components[i]->finalize;
+
+    /* register for real now */
     if (HWLOC_COMPONENT_TYPE_DISC == hwloc_static_components[i]->type)
       hwloc_disc_component_register(hwloc_static_components[i]->data, NULL);
     else if (HWLOC_COMPONENT_TYPE_XML == hwloc_static_components[i]->type)
@@ -343,6 +381,18 @@ hwloc_components_init(struct hwloc_topology *topology __hwloc_attribute_unused)
 	      desc->name, desc->component->flags);
       continue;
     }
+
+    /* initialize the component */
+    if (desc->component->init && desc->component->init(0) < 0) {
+      if (hwloc_components_verbose)
+	fprintf(stderr, "Ignoring plugin `%s', failed to initialize\n", desc->name);
+      continue;
+    }
+    /* queue ->finalize() callback if any */
+    if (desc->component->finalize)
+      hwloc_component_finalize_cbs[hwloc_component_finalize_cb_count++] = desc->component->finalize;
+
+    /* register for real now */
     if (HWLOC_COMPONENT_TYPE_DISC == desc->component->type)
       hwloc_disc_component_register(desc->component->data, desc->filename);
     else if (HWLOC_COMPONENT_TYPE_XML == desc->component->type)
@@ -445,9 +495,11 @@ hwloc_disc_components_enable_others(struct hwloc_topology *topology)
   struct hwloc_backend *backend;
   unsigned excludes = 0;
   int tryall = 1;
-  char *env;
+  const char *_env;
+  char *env; /* we'll to modify the env value, so duplicate it */
 
-  env = getenv("HWLOC_COMPONENTS");
+  _env = getenv("HWLOC_COMPONENTS");
+  env = _env ? strdup(_env) : NULL;
 
   /* compute current excludes */
   backend = topology->backends;
@@ -465,7 +517,7 @@ hwloc_disc_components_enable_others(struct hwloc_topology *topology)
       s = strcspn(curenv, HWLOC_COMPONENT_SEPS);
       if (s) {
 	char *arg;
-	char c;
+	char c, d;
 
 	/* replace libpci with pci for backward compatibility with v1.6 */
 	if (!strncmp(curenv, "libpci", s)) {
@@ -495,19 +547,21 @@ hwloc_disc_components_enable_others(struct hwloc_topology *topology)
 
 	arg = strchr(curenv, '=');
 	if (arg) {
+	  d = *arg;
 	  *arg = '\0';
-	  arg++;
 	}
 
 	comp = hwloc_disc_component_find(-1, curenv);
 	if (comp) {
-	  hwloc_disc_component_try_enable(topology, comp, arg, &excludes, 1 /* envvar forced */, 1 /* envvar forced need warnings */);
+	  hwloc_disc_component_try_enable(topology, comp, arg ? arg+1 : NULL, &excludes, 1 /* envvar forced */, 1 /* envvar forced need warnings */);
 	} else {
 	  fprintf(stderr, "Cannot find discovery component `%s'\n", curenv);
 	}
 
-	/* restore last char (the second loop below needs env to be unmodified) */
+	/* restore chars (the second loop below needs env to be unmodified) */
 	curenv[s] = c;
+	if (arg)
+	  *arg = d;
       }
 
 nextname:
@@ -559,11 +613,16 @@ nextcomp:
     }
     fprintf(stderr, "\n");
   }
+
+  if (env)
+    free(env);
 }
 
 void
 hwloc_components_destroy_all(struct hwloc_topology *topology __hwloc_attribute_unused)
 {
+  unsigned i;
+
   HWLOC_COMPONENTS_LOCK();
   assert(0 != hwloc_components_users);
   if (0 != --hwloc_components_users) {
@@ -571,6 +630,12 @@ hwloc_components_destroy_all(struct hwloc_topology *topology __hwloc_attribute_u
     return;
   }
 
+  for(i=0; i<hwloc_component_finalize_cb_count; i++)
+    hwloc_component_finalize_cbs[hwloc_component_finalize_cb_count-i-1](0);
+  free(hwloc_component_finalize_cbs);
+  hwloc_component_finalize_cbs = NULL;
+  hwloc_component_finalize_cb_count = 0;
+
   /* no need to unlink/free the list of components, they'll be unloaded below */
 
   hwloc_disc_components = NULL;
@@ -658,7 +723,7 @@ void
 hwloc_backends_is_thissystem(struct hwloc_topology *topology)
 {
   struct hwloc_backend *backend;
-  char *local_env;
+  const char *local_env;
 
   /* Apply is_thissystem topology flag before we enforce envvar backends.
    * If the application changed the backend with set_foo(),
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/diff.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/diff.c
index 6e04290..060aa93 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/diff.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/diff.c
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2013 Inria.  All rights reserved.
+ * Copyright © 2013-2014 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -140,6 +140,8 @@ hwloc_diff_trees(hwloc_topology_t topo1, hwloc_obj_t obj1,
 		goto out_too_complex;
 
 	if (obj1->os_index != obj2->os_index)
+		/* we could allow different os_index for non-PU non-NUMAnode objects
+		 * but it's likely useless anyway */
 		goto out_too_complex;
 
 #define _SETS_DIFFERENT(_set1, _set2) \
@@ -155,7 +157,8 @@ hwloc_diff_trees(hwloc_topology_t topo1, hwloc_obj_t obj1,
 	    || SETS_DIFFERENT(allowed_nodeset, obj1, obj2))
 		goto out_too_complex;
 
-	/* no need to check logical_index, sibling_rank, symmetric_subtree */
+	/* no need to check logical_index, sibling_rank, symmetric_subtree,
+	 * the parents did it */
 
 	if ((!obj1->name) != (!obj2->name)
 	    || (obj1->name && strcmp(obj1->name, obj2->name))) {
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/distances.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/distances.c
index 00d589a..5288680 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/distances.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/distances.c
@@ -1,6 +1,6 @@
 /*
- * Copyright © 2010-2014 Inria.  All rights reserved.
- * Copyright © 2011-2012 Université Bordeaux 1
+ * Copyright © 2010-2015 Inria.  All rights reserved.
+ * Copyright © 2011-2012 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -119,12 +119,12 @@ static int hwloc_distances__check_matrix(hwloc_topology_t __hwloc_restrict topol
 }
 
 static void hwloc_distances__set_from_string(struct hwloc_topology *topology,
-					     hwloc_obj_type_t type, char *string)
+					     hwloc_obj_type_t type, const char *string)
 {
   /* the string format is: "index[0],...,index[N-1]:distance[0],...,distance[N*N-1]"
    * or "index[0],...,index[N-1]:X*Y" or "index[0],...,index[N-1]:X*Y*Z"
    */
-  char *tmp = string, *next;
+  const char *tmp = string, *next;
   unsigned *indexes;
   float *distances;
   unsigned nbobjs = 0, i, j, x, y, z;
@@ -173,10 +173,10 @@ static void hwloc_distances__set_from_string(struct hwloc_topology *topology,
     indexes = calloc(nbobjs, sizeof(unsigned));
     distances = calloc(nbobjs*nbobjs, sizeof(float));
     tmp = string;
-    
+
     /* parse indexes */
     for(i=0; i<nbobjs; i++) {
-      indexes[i] = strtoul(tmp, &next, 0);
+      indexes[i] = strtoul(tmp, (char **) &next, 0);
       tmp = next+1;
     }
   }
@@ -238,7 +238,8 @@ void hwloc_distances_set_from_env(struct hwloc_topology *topology)
 {
   hwloc_obj_type_t type;
   for(type = HWLOC_OBJ_SYSTEM; type < HWLOC_OBJ_TYPE_MAX; type++) {
-    char *env, envname[64];
+    const char *env;
+    char envname[64];
     snprintf(envname, sizeof(envname), "HWLOC_%s_DISTANCES", hwloc_obj_type_string(type));
     env = getenv(envname);
     if (env) {
@@ -449,34 +450,6 @@ void hwloc_distances_finalize_os(struct hwloc_topology *topology)
  * into exported logical distances attached to objects
  */
 
-static hwloc_obj_t
-hwloc_get_obj_covering_cpuset_nodeset(struct hwloc_topology *topology,
-				      hwloc_const_cpuset_t cpuset,
-				      hwloc_const_nodeset_t nodeset)
-{
-  hwloc_obj_t parent = hwloc_get_root_obj(topology), child;
-
-  assert(cpuset);
-  assert(nodeset);
-  assert(hwloc_bitmap_isincluded(cpuset, parent->cpuset));
-  assert(!nodeset || hwloc_bitmap_isincluded(nodeset, parent->nodeset));
-
- trychildren:
-  child = parent->first_child;
-  while (child) {
-    /* look for a child with a cpuset containing ours.
-     * if it has a nodeset, it must also contain ours.
-     */
-    if (child->cpuset && hwloc_bitmap_isincluded(cpuset, child->cpuset)
-	&& (!child->nodeset || hwloc_bitmap_isincluded(nodeset, child->nodeset))) {
-      parent = child;
-      goto trychildren;
-    }
-    child = child->next_sibling;
-  }
-  return parent;
-}
-
 static void
 hwloc_distances__finalize_logical(struct hwloc_topology *topology,
 				  unsigned nbobjs,
@@ -486,21 +459,33 @@ hwloc_distances__finalize_logical(struct hwloc_topology *topology,
   float min = FLT_MAX, max = FLT_MIN;
   hwloc_obj_t root;
   float *matrix;
-  hwloc_cpuset_t cpuset;
-  hwloc_nodeset_t nodeset;
+  hwloc_cpuset_t cpuset, complete_cpuset;
+  hwloc_nodeset_t nodeset, complete_nodeset;
   unsigned relative_depth;
   int idx;
 
   /* find the root */
   cpuset = hwloc_bitmap_alloc();
+  complete_cpuset = hwloc_bitmap_alloc();
   nodeset = hwloc_bitmap_alloc();
+  complete_nodeset = hwloc_bitmap_alloc();
   for(i=0; i<nbobjs; i++) {
     hwloc_bitmap_or(cpuset, cpuset, objs[i]->cpuset);
+    if (objs[i]->complete_cpuset)
+      hwloc_bitmap_or(complete_cpuset, complete_cpuset, objs[i]->complete_cpuset);
     if (objs[i]->nodeset)
       hwloc_bitmap_or(nodeset, nodeset, objs[i]->nodeset);
+    if (objs[i]->complete_nodeset)
+      hwloc_bitmap_or(complete_nodeset, complete_nodeset, objs[i]->complete_nodeset);
   }
-  /* find the object covering cpuset AND nodeset (can't use hwloc_get_obj_covering_cpuset()) */
-  root = hwloc_get_obj_covering_cpuset_nodeset(topology, cpuset, nodeset);
+  /* find the object covering cpuset, we'll take care of the nodeset later */
+  root = hwloc_get_obj_covering_cpuset(topology, cpuset);
+  /* walk up to find a parent that also covers the nodeset */
+  while (root &&
+	 (!hwloc_bitmap_isincluded(nodeset, root->nodeset)
+	  || !hwloc_bitmap_isincluded(complete_nodeset, root->complete_nodeset)
+	  || !hwloc_bitmap_isincluded(complete_cpuset, root->complete_cpuset)))
+    root = root->parent;
   if (!root) {
     /* should not happen, ignore the distance matrix and report an error. */
     if (!hwloc_hide_errors()) {
@@ -508,7 +493,7 @@ hwloc_distances__finalize_logical(struct hwloc_topology *topology,
       hwloc_bitmap_asprintf(&a, cpuset);
       hwloc_bitmap_asprintf(&b, nodeset);
       fprintf(stderr, "****************************************************************************\n");
-      fprintf(stderr, "* hwloc has encountered an error when adding a distance matrix to the topology.\n");
+      fprintf(stderr, "* hwloc %s has encountered an error when adding a distance matrix to the topology.\n", HWLOC_VERSION);
       fprintf(stderr, "*\n");
       fprintf(stderr, "* hwloc_distances__finalize_logical() could not find any object covering\n");
       fprintf(stderr, "* cpuset %s and nodeset %s\n", a, b);
@@ -524,7 +509,9 @@ hwloc_distances__finalize_logical(struct hwloc_topology *topology,
       free(b);
     }
     hwloc_bitmap_free(cpuset);
+    hwloc_bitmap_free(complete_cpuset);
     hwloc_bitmap_free(nodeset);
+    hwloc_bitmap_free(complete_nodeset);
     return;
   }
   /* don't attach to Misc objects */
@@ -533,9 +520,13 @@ hwloc_distances__finalize_logical(struct hwloc_topology *topology,
   /* ideally, root has the exact cpuset and nodeset.
    * but ignoring or other things that remove objects may cause the object array to reduce */
   assert(hwloc_bitmap_isincluded(cpuset, root->cpuset));
+  assert(hwloc_bitmap_isincluded(complete_cpuset, root->complete_cpuset));
   assert(hwloc_bitmap_isincluded(nodeset, root->nodeset));
+  assert(hwloc_bitmap_isincluded(complete_nodeset, root->complete_nodeset));
   hwloc_bitmap_free(cpuset);
+  hwloc_bitmap_free(complete_cpuset);
   hwloc_bitmap_free(nodeset);
+  hwloc_bitmap_free(complete_nodeset);
   if (root->depth >= objs[0]->depth) {
     /* strange topology led us to find invalid relative depth, ignore */
     return;
@@ -653,7 +644,7 @@ static void hwloc_report_user_distance_error(const char *msg, int line)
 
     if (!reported && !hwloc_hide_errors()) {
         fprintf(stderr, "****************************************************************************\n");
-        fprintf(stderr, "* hwloc has encountered what looks like an error from user-given distances.\n");
+        fprintf(stderr, "* hwloc %s has encountered what looks like an error from user-given distances.\n", HWLOC_VERSION);
         fprintf(stderr, "*\n");
         fprintf(stderr, "* %s\n", msg);
         fprintf(stderr, "* Error occurred in topology.c line %d\n", line);
@@ -832,6 +823,7 @@ hwloc__groups_by_distances(struct hwloc_topology *topology,
       hwloc_obj_t *groupobjs = NULL;
       unsigned *groupsizes = NULL;
       float *groupdistances = NULL;
+      unsigned failed = 0;
 
       groupobjs = malloc(sizeof(hwloc_obj_t) * nbgroups);
       groupsizes = malloc(sizeof(unsigned) * nbgroups);
@@ -851,22 +843,39 @@ hwloc__groups_by_distances(struct hwloc_topology *topology,
 	    if (groupids[j] == i+1) {
 	      /* assemble the group cpuset */
 	      hwloc_bitmap_or(group_obj->cpuset, group_obj->cpuset, objs[j]->cpuset);
+	      if (objs[i]->complete_cpuset) {
+		if (!group_obj->complete_cpuset)
+		  group_obj->complete_cpuset = hwloc_bitmap_alloc();
+		hwloc_bitmap_or(group_obj->complete_cpuset, group_obj->complete_cpuset, objs[j]->complete_cpuset);
+	      }
 	      /* if one obj has a nodeset, assemble a group nodeset */
 	      if (objs[j]->nodeset) {
 		if (!group_obj->nodeset)
 		  group_obj->nodeset = hwloc_bitmap_alloc();
 		hwloc_bitmap_or(group_obj->nodeset, group_obj->nodeset, objs[j]->nodeset);
 	      }
+	      if (objs[i]->complete_nodeset) {
+		if (!group_obj->complete_nodeset)
+		  group_obj->complete_nodeset = hwloc_bitmap_alloc();
+		hwloc_bitmap_or(group_obj->complete_nodeset, group_obj->complete_nodeset, objs[j]->complete_nodeset);
+	      }
               groupsizes[i]++;
             }
           hwloc_debug_1arg_bitmap("adding Group object with %u objects and cpuset %s\n",
                                   groupsizes[i], group_obj->cpuset);
           res_obj = hwloc__insert_object_by_cpuset(topology, group_obj,
 						   fromuser ? hwloc_report_user_distance_error : hwloc_report_os_error);
-	  /* res_obj may be different from group_objs if we got groups from XML import before grouping */
+	  /* res_obj may be NULL on failure to insert. */
+	  if (!res_obj)
+	    failed++;
+	  /* or it may be different from groupobjs if we got groups from XML import before grouping */
           groupobjs[i] = res_obj;
       }
 
+      if (failed)
+	/* don't try to group above if we got a NULL group here, just keep this incomplete level */
+	goto inner_free;
+
       /* factorize distances */
       memset(&(groupdistances[0]), 0, sizeof(groupdistances[0]) * nbgroups * nbgroups);
 #undef DISTANCE
@@ -924,12 +933,13 @@ hwloc_group_by_distances(struct hwloc_topology *topology)
 {
   unsigned nbobjs;
   struct hwloc_os_distances_s * osdist;
-  char *env;
+  const char *env;
   float accuracies[5] = { 0.0f, 0.01f, 0.02f, 0.05f, 0.1f };
   unsigned nbaccuracies = 5;
   hwloc_obj_t group_obj;
   int verbose = 0;
   unsigned i;
+  hwloc_localeswitch_declare;
 #ifdef HWLOC_DEBUG
   unsigned j;
 #endif
@@ -941,6 +951,7 @@ hwloc_group_by_distances(struct hwloc_topology *topology)
   if (getenv("HWLOC_IGNORE_DISTANCES"))
     return;
 
+  hwloc_localeswitch_init();
   env = getenv("HWLOC_GROUPING_ACCURACY");
   if (!env) {
     /* only use 0.0 */
@@ -950,6 +961,7 @@ hwloc_group_by_distances(struct hwloc_topology *topology)
     nbaccuracies = 1;
     accuracies[0] = (float) atof(env);
   } /* otherwise try all values */
+  hwloc_localeswitch_fini();
 
 #ifdef HWLOC_DEBUG
   verbose = 1;
@@ -1002,12 +1014,22 @@ hwloc_group_by_distances(struct hwloc_topology *topology)
       for(i=0; i<nbobjs; i++) {
 	/* assemble the group cpuset */
 	hwloc_bitmap_or(group_obj->cpuset, group_obj->cpuset, osdist->objs[i]->cpuset);
+	if (osdist->objs[i]->complete_cpuset) {
+	  if (!group_obj->complete_cpuset)
+	    group_obj->complete_cpuset = hwloc_bitmap_alloc();
+	  hwloc_bitmap_or(group_obj->complete_cpuset, group_obj->complete_cpuset, osdist->objs[i]->complete_cpuset);
+	}
 	/* if one obj has a nodeset, assemble a group nodeset */
 	if (osdist->objs[i]->nodeset) {
 	  if (!group_obj->nodeset)
 	    group_obj->nodeset = hwloc_bitmap_alloc();
 	  hwloc_bitmap_or(group_obj->nodeset, group_obj->nodeset, osdist->objs[i]->nodeset);
 	}
+	if (osdist->objs[i]->complete_nodeset) {
+	  if (!group_obj->complete_nodeset)
+	    group_obj->complete_nodeset = hwloc_bitmap_alloc();
+	  hwloc_bitmap_or(group_obj->complete_nodeset, group_obj->complete_nodeset, osdist->objs[i]->complete_nodeset);
+	}
       }
       hwloc_debug_1arg_bitmap("adding Group object (as root of distance matrix with %u objects) with cpuset %s\n",
 			      nbobjs, group_obj->cpuset);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/dolib.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/dolib.c
index 7ee4dc4..0b2835a 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/dolib.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/dolib.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009 inria.  All rights reserved.
- * Copyright © 2009, 2012 Université Bordeaux 1
+ * Copyright © 2009, 2012 Université Bordeaux
  * See COPYING in top-level directory.
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/hwloc.dtd b/src/pm/hydra/tools/topo/hwloc/hwloc/src/hwloc.dtd
index e932c54..5e494f8 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/hwloc.dtd
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/hwloc.dtd
@@ -1,7 +1,7 @@
 <!--
   Copyright © 2009      CNRS
-  Copyright © 2009-2013 Inria.  All rights reserved.
-  Copyright © 2009-2011 Université Bordeaux 1.
+  Copyright © 2009-2014 Inria.  All rights reserved.
+  Copyright © 2009-2011 Université Bordeaux.
   See COPYING in top-level directory.
  -->
 
@@ -9,7 +9,7 @@
 <!ELEMENT root (object)+>
 
 <!ELEMENT object (page_type*,info*,distances*,userdata*,object*)>
-<!ATTLIST object type (System | Machine | Misc | Group | NUMANode | Socket| Cache | Core | PU | Bridge | PCIDev | OSDev) #REQUIRED>
+<!ATTLIST object type (System | Machine | Misc | Group | NUMANode | Package | Cache | Core | PU | Bridge | PCIDev | OSDev) #REQUIRED>
 <!ATTLIST object os_level CDATA "-1" >
 <!ATTLIST object os_index CDATA "-1" >
 <!ATTLIST object name CDATA "" >
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/misc.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/misc.c
index 0cc7349..3da6687 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/misc.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/misc.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2010 Université Bordeaux 1
+ * Copyright © 2009-2010 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -20,6 +20,14 @@
 #include <errno.h>
 #include <ctype.h>
 
+#ifdef HAVE_PROGRAM_INVOCATION_NAME
+#include <errno.h>
+extern char *program_invocation_name;
+#endif
+#ifdef HAVE___PROGNAME
+extern char *__progname;
+#endif
+
 int hwloc_snprintf(char *str, size_t size, const char *format, ...)
 {
   int ret;
@@ -115,3 +123,44 @@ void hwloc_add_uname_info(struct hwloc_topology *topology __hwloc_attribute_unus
     hwloc_obj_add_info(topology->levels[0][0], "Architecture", utsname->machine);
 #endif /* HAVE_UNAME */
 }
+
+char *
+hwloc_progname(struct hwloc_topology *topology __hwloc_attribute_unused)
+{
+#if HAVE_DECL_GETMODULEFILENAME
+  char name[256], *basename;
+  unsigned res = GetModuleFileName(NULL, name, sizeof(name));
+  if (res == sizeof(name) || !res)
+    return NULL;
+  basename = strrchr(name, '\\');
+  if (!basename)
+    basename = name;
+  else
+    basename++;
+  return strdup(basename);
+#else /* !HAVE_GETMODULEFILENAME */
+  const char *name, *basename;
+#if HAVE_DECL_GETPROGNAME
+  name = getprogname(); /* FreeBSD, NetBSD, some Solaris */
+#elif HAVE_DECL_GETEXECNAME
+  name = getexecname(); /* Solaris */
+#elif defined HAVE_PROGRAM_INVOCATION_NAME
+  name = program_invocation_name; /* Glibc. BGQ CNK. */
+  /* could use program_invocation_short_name directly, but we have the code to remove the path below anyway */
+#elif defined HAVE___PROGNAME
+  name = __progname; /* fallback for most unix, used for OpenBSD */
+#else
+  /* TODO: _NSGetExecutablePath(path, &size) on Darwin */
+  /* TODO: AIX, HPUX, OSF */
+  name = NULL;
+#endif
+  if (!name)
+    return NULL;
+  basename = strrchr(name, '/');
+  if (!basename)
+    basename = name;
+  else
+    basename++;
+  return strdup(basename);
+#endif /* !HAVE_GETMODULEFILENAME */
+}
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/pci-common.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/pci-common.c
index 708584d..01d4e79 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/pci-common.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/pci-common.c
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2009-2013 Inria.  All rights reserved.
+ * Copyright © 2009-2015 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -8,40 +8,43 @@
 #include <hwloc/plugins.h>
 #include <private/debug.h>
 
+#ifdef HWLOC_DEBUG
 static void
 hwloc_pci_traverse_print_cb(void * cbdata __hwloc_attribute_unused,
-			    struct hwloc_obj *pcidev, int depth __hwloc_attribute_unused)
+			    struct hwloc_obj *pcidev)
 {
   char busid[14];
+  hwloc_obj_t parent;
+
+  /* indent */
+  parent = pcidev->parent;
+  while (parent) {
+    hwloc_debug("%s", "  ");
+    parent = parent->parent;
+  }
+
   snprintf(busid, sizeof(busid), "%04x:%02x:%02x.%01x",
            pcidev->attr->pcidev.domain, pcidev->attr->pcidev.bus, pcidev->attr->pcidev.dev, pcidev->attr->pcidev.func);
 
   if (pcidev->type == HWLOC_OBJ_BRIDGE) {
     if (pcidev->attr->bridge.upstream_type == HWLOC_OBJ_BRIDGE_HOST)
-      hwloc_debug("%*s HostBridge", depth, "");
+      hwloc_debug("HostBridge");
     else
-      hwloc_debug("%*s %s Bridge [%04x:%04x]", depth, "", busid,
+      hwloc_debug("Bridge [%04x:%04x]", busid,
 		  pcidev->attr->pcidev.vendor_id, pcidev->attr->pcidev.device_id);
     hwloc_debug(" to %04x:[%02x:%02x]\n",
 		pcidev->attr->bridge.downstream.pci.domain, pcidev->attr->bridge.downstream.pci.secondary_bus, pcidev->attr->bridge.downstream.pci.subordinate_bus);
   } else
-    hwloc_debug("%*s %s Device [%04x:%04x (%04x:%04x) rev=%02x class=%04x]\n", depth, "", busid,
+    hwloc_debug("%s Device [%04x:%04x (%04x:%04x) rev=%02x class=%04x]\n", busid,
 		pcidev->attr->pcidev.vendor_id, pcidev->attr->pcidev.device_id,
 		pcidev->attr->pcidev.subvendor_id, pcidev->attr->pcidev.subdevice_id,
 		pcidev->attr->pcidev.revision, pcidev->attr->pcidev.class_id);
 }
-
-static void
-hwloc_pci_traverse_setbridgedepth_cb(void * cbdata __hwloc_attribute_unused,
-				     struct hwloc_obj *pcidev, int depth)
-{
-  if (pcidev->type == HWLOC_OBJ_BRIDGE)
-    pcidev->attr->bridge.depth = depth;
-}
+#endif /* HWLOC_DEBUG */
 
 static void
 hwloc_pci_traverse_lookuposdevices_cb(void * cbdata,
-				      struct hwloc_obj *pcidev, int depth __hwloc_attribute_unused)
+				      struct hwloc_obj *pcidev)
 {
   struct hwloc_backend *backend = cbdata;
 
@@ -53,23 +56,22 @@ hwloc_pci_traverse_lookuposdevices_cb(void * cbdata,
 
 static void
 hwloc_pci__traverse(void * cbdata, struct hwloc_obj *root,
-		    void (*cb)(void * cbdata, struct hwloc_obj *, int depth),
-		    int depth)
+		    void (*cb)(void * cbdata, struct hwloc_obj *))
 {
   struct hwloc_obj *child = root->first_child;
   while (child) {
-    cb(cbdata, child, depth);
+    cb(cbdata, child);
     if (child->type == HWLOC_OBJ_BRIDGE)
-      hwloc_pci__traverse(cbdata, child, cb, depth+1);
+      hwloc_pci__traverse(cbdata, child, cb);
     child = child->next_sibling;
   }
 }
 
 static void
 hwloc_pci_traverse(void * cbdata, struct hwloc_obj *root,
-		   void (*cb)(void * cbdata, struct hwloc_obj *, int depth))
+		   void (*cb)(void * cbdata, struct hwloc_obj *))
 {
-  hwloc_pci__traverse(cbdata, root, cb, 0);
+  hwloc_pci__traverse(cbdata, root, cb);
 }
 
 enum hwloc_pci_busid_comparison_e {
@@ -79,7 +81,7 @@ enum hwloc_pci_busid_comparison_e {
   HWLOC_PCI_BUSID_SUPERSET
 };
 
-static enum hwloc_pci_busid_comparison_e 
+static enum hwloc_pci_busid_comparison_e
 hwloc_pci_compare_busids(struct hwloc_obj *a, struct hwloc_obj *b)
 {
   if (a->type == HWLOC_OBJ_BRIDGE)
@@ -139,6 +141,8 @@ hwloc_pci_add_child_before(struct hwloc_obj *root, struct hwloc_obj *child, stru
   else
     root->first_child = new;
   new->next_sibling = child;
+
+  new->parent = root; /* so that hwloc_pci_traverse_print_cb() can indent by depth */
 }
 
 static void
@@ -212,20 +216,62 @@ hwloc_pci_add_object(struct hwloc_obj *root, struct hwloc_obj *new)
 }
 
 static struct hwloc_obj *
+hwloc_pci_fixup_hostbridge_parent(struct hwloc_topology *topology __hwloc_attribute_unused,
+				  struct hwloc_obj *hostbridge,
+				  struct hwloc_obj *parent)
+{
+  /* Xeon E5v3 in cluster-on-die mode only have PCI on the first NUMA node of each package.
+   * but many dual-processor host report the second PCI hierarchy on 2nd NUMA of first package.
+   */
+  if (parent->depth >= 2
+      && parent->type == HWLOC_OBJ_NUMANODE
+      && parent->sibling_rank == 1 && parent->parent->arity == 2
+      && parent->parent->type == HWLOC_OBJ_PACKAGE
+      && parent->parent->sibling_rank == 0 && parent->parent->parent->arity == 2) {
+    const char *cpumodel = hwloc_obj_get_info_by_name(parent->parent, "CPUModel");
+    if (cpumodel && strstr(cpumodel, "Xeon")) {
+      if (!hwloc_hide_errors()) {
+	fprintf(stderr, "****************************************************************************\n");
+	fprintf(stderr, "* hwloc %s has encountered an incorrect PCI locality information.\n", HWLOC_VERSION);
+	fprintf(stderr, "* PCI bus %04x:%02x is supposedly close to 2nd NUMA node of 1st package,\n",
+		hostbridge->first_child->attr->pcidev.domain, hostbridge->first_child->attr->pcidev.bus);
+	fprintf(stderr, "* however hwloc believes this is impossible on this architecture.\n");
+	fprintf(stderr, "* Therefore the PCI bus will be moved to 1st NUMA node of 2nd package.\n");
+	fprintf(stderr, "*\n");
+	fprintf(stderr, "* If you feel this fixup is wrong, disable it by setting in your environment\n");
+	fprintf(stderr, "* HWLOC_PCI_%04x_%02x_LOCALCPUS= (empty value), and report the problem\n",
+		hostbridge->first_child->attr->pcidev.domain, hostbridge->first_child->attr->pcidev.bus);
+	fprintf(stderr, "* to the hwloc's user mailing list together with the XML output of lstopo.\n");
+	fprintf(stderr, "*\n");
+	fprintf(stderr, "* You may silence this message by setting HWLOC_HIDE_ERRORS=1 in your environment.\n");
+	fprintf(stderr, "****************************************************************************\n");
+      }
+      return parent->parent->next_sibling->first_child;
+    }
+  }
+
+  return parent;
+}
+
+static struct hwloc_obj *
 hwloc_pci_find_hostbridge_parent(struct hwloc_topology *topology, struct hwloc_backend *backend,
 				 struct hwloc_obj *hostbridge)
 {
   hwloc_bitmap_t cpuset = hwloc_bitmap_alloc();
   struct hwloc_obj *parent;
-  char *env;
+  const char *env;
   int err;
 
   /* override the cpuset with the environment if given */
+  int forced = 0;
   char envname[256];
   snprintf(envname, sizeof(envname), "HWLOC_PCI_%04x_%02x_LOCALCPUS",
 	   hostbridge->first_child->attr->pcidev.domain, hostbridge->first_child->attr->pcidev.bus);
   env = getenv(envname);
-  if (env) {
+  if (env)
+    /* if env exists but is empty, don't let quirks change what the OS reports */
+    forced = 1;
+  if (env && *env) {
     /* force the hostbridge cpuset */
     hwloc_debug("Overriding localcpus using %s in the environment\n", envname);
     hwloc_bitmap_sscanf(cpuset, env);
@@ -258,16 +304,24 @@ hwloc_pci_find_hostbridge_parent(struct hwloc_topology *topology, struct hwloc_b
      */
     while (parent->parent && hwloc_bitmap_isequal(parent->cpuset, parent->parent->cpuset))
       parent = parent->parent;
+
+    if (!forced)
+      parent = hwloc_pci_fixup_hostbridge_parent(topology, hostbridge, parent);
+
   } else {
     /* the object we found is too large, insert an intermediate group */
     hwloc_obj_t group_obj = hwloc_alloc_setup_object(HWLOC_OBJ_GROUP, -1);
     if (group_obj) {
       group_obj->cpuset = hwloc_bitmap_dup(cpuset);
+      group_obj->complete_cpuset = hwloc_bitmap_dup(cpuset);
       group_obj->attr->group.depth = (unsigned) -1;
       parent = hwloc__insert_object_by_cpuset(topology, group_obj, hwloc_report_os_error);
       if (parent == group_obj)
 	/* if didn't get merged, setup its sets */
 	hwloc_fill_object_sets(group_obj);
+      if (!parent)
+	/* Failed to insert the parent, maybe a conflicting cpuset, attach to the root object instead */
+	parent = hwloc_get_root_obj(topology);
     }
   }
 
@@ -290,6 +344,7 @@ hwloc_insert_pci_device_list(struct hwloc_backend *backend,
     return 0;
 
   /* first, organise object as tree under a fake parent object */
+  fakeparent.parent = NULL;
   fakeparent.first_child = NULL;
   fakeparent.last_child = NULL;
   while (first_obj) {
@@ -298,11 +353,13 @@ hwloc_insert_pci_device_list(struct hwloc_backend *backend,
     hwloc_pci_add_object(&fakeparent, obj);
   }
 
+#ifdef HWLOC_DEBUG
   hwloc_debug("%s", "\nPCI hierarchy under fake parent:\n");
   hwloc_pci_traverse(NULL, &fakeparent, hwloc_pci_traverse_print_cb);
+  hwloc_debug("%s", "\n");
+#endif
 
-  /* walk the hierarchy, set bridge depth and lookup OS devices */
-  hwloc_pci_traverse(NULL, &fakeparent, hwloc_pci_traverse_setbridgedepth_cb);
+  /* walk the hierarchy, and lookup OS devices */
   hwloc_pci_traverse(backend, &fakeparent, hwloc_pci_traverse_lookuposdevices_cb);
 
   /*
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-aix.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-aix.c
index e2d34eb..1b98ba6 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-aix.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-aix.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2012 Inria.  All rights reserved.
- * Copyright © 2009-2011, 2013 Université Bordeaux 1
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2011, 2013 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -347,6 +347,7 @@ hwloc_aix_prepare_membind(hwloc_topology_t topology, rsethandle_t *rad, hwloc_co
   noderad = rs_alloc(RS_EMPTY);
 
   hwloc_bitmap_foreach_begin(node, nodeset)
+    /* we used MCMlevel rad number for node->os_index during lookup */
     rs_getrad(rset, noderad, MCMlevel, node, 0);
     rs_op(RS_UNION, noderad, *rad, 0, 0);
   hwloc_bitmap_foreach_end();
@@ -403,7 +404,7 @@ hwloc_aix_get_sth_membind(hwloc_topology_t topology, rstype_t what, rsid_t who,
   int res = -1;
   int depth, n, i;
 
-  depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NODE);
+  depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
   if (depth < 0) {
     errno = EXDEV;
     return -1;
@@ -608,6 +609,9 @@ look_rset(int sdl, hwloc_obj_type_t type, struct hwloc_topology *topology, int l
   }
 
   for (i = 0; i < nbnodes; i++) {
+    hwloc_bitmap_t cpuset;
+    unsigned os_index = (unsigned) -1; /* no os_index except for PU and NUMANODE below */
+
     if (rs_getrad(rset, rad, sdl, i, 0)) {
       fprintf(stderr,"rs_getrad(%d) failed: %s\n", i, strerror(errno));
       continue;
@@ -615,18 +619,30 @@ look_rset(int sdl, hwloc_obj_type_t type, struct hwloc_topology *topology, int l
     if (!rs_getinfo(rad, R_NUMPROCS, 0))
       continue;
 
-    /* It seems logical processors are numbered from 1 here, while the
-     * bindprocessor functions numbers them from 0... */
-    obj = hwloc_alloc_setup_object(type, i - (type == HWLOC_OBJ_PU));
-    obj->cpuset = hwloc_bitmap_alloc();
-    obj->os_level = sdl;
     maxcpus = rs_getinfo(rad, R_MAXPROCS, 0);
+    cpuset = hwloc_bitmap_alloc();
     for (j = 0; j < maxcpus; j++) {
       if (rs_op(RS_TESTRESOURCE, rad, NULL, R_PROCS, j))
-	hwloc_bitmap_set(obj->cpuset, j);
+	hwloc_bitmap_set(cpuset, j);
+    }
+
+    if (type == HWLOC_OBJ_PU) {
+      os_index = hwloc_bitmap_first(cpuset);
+      hwloc_debug("Found PU #%u inside node %d for sdl %d\n", os_index, i, sdl);
+      assert(hwloc_bitmap_weight(cpuset) == 1);
+    } else if (type == HWLOC_OBJ_NUMANODE) {
+      /* NUMA node os_index isn't used for binding, just use the rad number to get unique values.
+       * Note that we'll use that fact in hwloc_aix_prepare_membind(). */
+      os_index = i;
+      hwloc_debug("Using os_index #%u for NUMA node inside node %d for sdl %d\n", os_index, i, sdl);
     }
+
+    obj = hwloc_alloc_setup_object(type, os_index);
+    obj->cpuset = cpuset;
+    obj->os_level = sdl;
+
     switch(type) {
-      case HWLOC_OBJ_NODE:
+      case HWLOC_OBJ_NUMANODE:
 	obj->nodeset = hwloc_bitmap_alloc();
 	hwloc_bitmap_set(obj->nodeset, i);
 	obj->memory.local_memory = 0; /* TODO: odd, rs_getinfo(rad, R_MEMSIZE, 0) << 10 returns the total memory ... */
@@ -736,7 +752,7 @@ hwloc_look_aix(struct hwloc_backend *backend)
       if (i == rs_getinfo(NULL, R_MCMSDL, 0))
 	{
 	  hwloc_debug("looking AIX node sdl %d\n", i);
-	  look_rset(i, HWLOC_OBJ_NODE, topology, i);
+	  look_rset(i, HWLOC_OBJ_NUMANODE, topology, i);
 	  known = 1;
 	}
 #      ifdef R_L2CSDL
@@ -849,6 +865,7 @@ static struct hwloc_disc_component hwloc_aix_disc_component = {
 
 const struct hwloc_component hwloc_aix_component = {
   HWLOC_COMPONENT_ABI,
+  NULL, NULL,
   HWLOC_COMPONENT_TYPE_DISC,
   0,
   &hwloc_aix_disc_component
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-bgq.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-bgq.c
index 7b4dfec..1258b65 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-bgq.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-bgq.c
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2013-2014 Inria.  All rights reserved.
+ * Copyright © 2013-2015 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -20,7 +20,7 @@ hwloc_look_bgq(struct hwloc_backend *backend)
 {
   struct hwloc_topology *topology = backend->topology;
   unsigned i;
-  char *env;
+  const char *env;
 
   if (!topology->levels[0][0]->cpuset) {
     /* Nobody created objects yet, setup everything */
@@ -49,8 +49,8 @@ hwloc_look_bgq(struct hwloc_backend *backend)
     topology->levels[0][0]->nodeset = set;
     topology->levels[0][0]->memory.local_memory = 16ULL*1024*1024*1024ULL;
 
-    /* socket */
-    obj = hwloc_alloc_setup_object(HWLOC_OBJ_SOCKET, 0);
+    /* package */
+    obj = hwloc_alloc_setup_object(HWLOC_OBJ_PACKAGE, 0);
     set = hwloc_bitmap_alloc();
     hwloc_bitmap_set_range(set, 0, HWLOC_BGQ_CORES*4-1);
     obj->cpuset = set;
@@ -202,7 +202,7 @@ hwloc_bgq_component_instantiate(struct hwloc_disc_component *component,
 {
   struct utsname utsname;
   struct hwloc_backend *backend;
-  char *env;
+  const char *env;
   int err;
 
   env = getenv("HWLOC_FORCE_BGQ");
@@ -234,6 +234,7 @@ static struct hwloc_disc_component hwloc_bgq_disc_component = {
 
 const struct hwloc_component hwloc_bgq_component = {
   HWLOC_COMPONENT_ABI,
+  NULL, NULL,
   HWLOC_COMPONENT_TYPE_DISC,
   0,
   &hwloc_bgq_disc_component
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-cuda.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-cuda.c
index 9faf29a..a1c6bff 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-cuda.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-cuda.c
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2011 Université Bordeaux 1
+ * Copyright © 2011 Université Bordeaux
  * Copyright © 2012-2014 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -84,6 +84,8 @@ static unsigned hwloc_cuda_cores_per_MP(int major, int minor)
       break;
     case 3:
       return 192;
+    case 5:
+      return 128;
   }
   hwloc_debug("unknown compute capability %u.%u, disabling core display.\n", major, minor);
   return 0;
@@ -192,9 +194,6 @@ hwloc_cuda_component_instantiate(struct hwloc_disc_component *component,
   struct hwloc_backend *backend;
   struct hwloc_cuda_backend_data_s *data;
 
-  if (hwloc_plugin_check_namespace(component->name, "hwloc_backend_alloc") < 0)
-    return NULL;
-
   /* thissystem may not be fully initialized yet, we'll check flags in discover() */
 
   backend = hwloc_backend_alloc(component);
@@ -226,12 +225,23 @@ static struct hwloc_disc_component hwloc_cuda_disc_component = {
   NULL
 };
 
+static int
+hwloc_cuda_component_init(unsigned long flags)
+{
+  if (flags)
+    return -1;
+  if (hwloc_plugin_check_namespace("cuda", "hwloc_backend_alloc") < 0)
+    return -1;
+  return 0;
+}
+
 #ifdef HWLOC_INSIDE_PLUGIN
 HWLOC_DECLSPEC extern const struct hwloc_component hwloc_cuda_component;
 #endif
 
 const struct hwloc_component hwloc_cuda_component = {
   HWLOC_COMPONENT_ABI,
+  hwloc_cuda_component_init, NULL,
   HWLOC_COMPONENT_TYPE_DISC,
   0,
   &hwloc_cuda_disc_component
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-custom.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-custom.c
index 23077bf..c3ccfaa 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-custom.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-custom.c
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2011-2012 Inria.  All rights reserved.
+ * Copyright © 2011-2014 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -93,6 +93,7 @@ static struct hwloc_disc_component hwloc_custom_disc_component = {
 
 const struct hwloc_component hwloc_custom_component = {
   HWLOC_COMPONENT_ABI,
+  NULL, NULL,
   HWLOC_COMPONENT_TYPE_DISC,
   0,
   &hwloc_custom_disc_component
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-darwin.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-darwin.c
index 7934c39..1062a1d 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-darwin.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-darwin.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2012 Inria.  All rights reserved.
- * Copyright © 2009-2013 Université Bordeaux 1
+ * Copyright © 2009-2014 Inria.  All rights reserved.
+ * Copyright © 2009-2013 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -75,7 +75,7 @@ hwloc_look_darwin(struct hwloc_backend *backend)
 
     if (nprocs == npackages * logical_per_package)
       for (i = 0; i < npackages; i++) {
-        obj = hwloc_alloc_setup_object(HWLOC_OBJ_SOCKET, i);
+        obj = hwloc_alloc_setup_object(HWLOC_OBJ_PACKAGE, i);
         obj->cpuset = hwloc_bitmap_alloc();
         for (cpu = i*logical_per_package; cpu < (i+1)*logical_per_package; cpu++)
           hwloc_bitmap_set(obj->cpuset, cpu);
@@ -190,7 +190,7 @@ hwloc_look_darwin(struct hwloc_backend *backend)
       for (i = 0; i < n; i++) {
         /* cacheconfig tells us how many cpus share it, let's iterate on each cache */
         for (j = 0; j < (nprocs / cacheconfig[i]); j++) {
-          obj = hwloc_alloc_setup_object(i?HWLOC_OBJ_CACHE:HWLOC_OBJ_NODE, j);
+          obj = hwloc_alloc_setup_object(i?HWLOC_OBJ_CACHE:HWLOC_OBJ_NUMANODE, j);
           if (!i) {
             obj->nodeset = hwloc_bitmap_alloc();
             hwloc_bitmap_set(obj->nodeset, j);
@@ -300,6 +300,7 @@ static struct hwloc_disc_component hwloc_darwin_disc_component = {
 
 const struct hwloc_component hwloc_darwin_component = {
   HWLOC_COMPONENT_ABI,
+  NULL, NULL,
   HWLOC_COMPONENT_TYPE_DISC,
   0,
   &hwloc_darwin_disc_component
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-fake.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-fake.c
index cc50d31..e3e22a0 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-fake.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-fake.c
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2012 Inria.  All rights reserved.
+ * Copyright © 2012-2014 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -15,8 +15,6 @@ hwloc_fake_component_instantiate(struct hwloc_disc_component *component __hwloc_
 				 const void *_data2 __hwloc_attribute_unused,
 				 const void *_data3 __hwloc_attribute_unused)
 {
-  if (hwloc_plugin_check_namespace("fake", "hwloc_backend_alloc") < 0)
-    return NULL;
   if (getenv("HWLOC_DEBUG_FAKE_COMPONENT"))
     printf("fake component instantiated\n");
   return NULL;
@@ -31,10 +29,32 @@ static struct hwloc_disc_component hwloc_fake_disc_component = {
   NULL
 };
 
+static int
+hwloc_fake_component_init(unsigned long flags)
+{
+  if (flags)
+    return -1;
+  if (hwloc_plugin_check_namespace("fake", "hwloc_backend_alloc") < 0)
+    return -1;
+  if (getenv("HWLOC_DEBUG_FAKE_COMPONENT"))
+    printf("fake component initialized\n");
+  return 0;
+}
+
+static void
+hwloc_fake_component_finalize(unsigned long flags)
+{
+  if (flags)
+    return;
+  if (getenv("HWLOC_DEBUG_FAKE_COMPONENT"))
+    printf("fake component finalized\n");
+}
+
 HWLOC_DECLSPEC extern const struct hwloc_component hwloc_fake_component; /* never linked statically in the core */
 
 const struct hwloc_component hwloc_fake_component = {
   HWLOC_COMPONENT_ABI,
+  hwloc_fake_component_init, hwloc_fake_component_finalize,
   HWLOC_COMPONENT_TYPE_DISC,
   0,
   &hwloc_fake_disc_component
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-freebsd.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-freebsd.c
index eecedb5..4901209 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-freebsd.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-freebsd.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2013 Inria.  All rights reserved.
- * Copyright © 2009-2010, 2012 Université Bordeaux 1
+ * Copyright © 2009-2014 Inria.  All rights reserved.
+ * Copyright © 2009-2010, 2012 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -169,8 +169,10 @@ static void
 hwloc_freebsd_node_meminfo_info(struct hwloc_topology *topology)
 {
        int mib[2] = { CTL_HW, HW_PHYSMEM };
-       size_t len = sizeof(topology->levels[0][0]->memory.local_memory);
-       sysctl(mib, 2, &topology->levels[0][0]->memory.local_memory, &len, NULL, 0);
+       unsigned long physmem;
+       size_t len = sizeof(physmem);
+       sysctl(mib, 2, &physmem, &len, NULL, 0);
+       topology->levels[0][0]->memory.local_memory = physmem;
 }
 #endif
 
@@ -244,6 +246,7 @@ static struct hwloc_disc_component hwloc_freebsd_disc_component = {
 
 const struct hwloc_component hwloc_freebsd_component = {
   HWLOC_COMPONENT_ABI,
+  NULL, NULL,
   HWLOC_COMPONENT_TYPE_DISC,
   0,
   &hwloc_freebsd_disc_component
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-gl.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-gl.c
index 0ecf507..45e9e2d 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-gl.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-gl.c
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2012-2013 Blue Brain Project, BBP/EPFL. All rights reserved.
- * Copyright © 2012-2013 Inria.  All rights reserved.
+ * Copyright © 2012-2014 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -218,9 +218,6 @@ hwloc_gl_component_instantiate(struct hwloc_disc_component *component,
   struct hwloc_backend *backend;
   struct hwloc_gl_backend_data_s *data;
 
-  if (hwloc_plugin_check_namespace(component->name, "hwloc_backend_alloc") < 0)
-    return NULL;
-
   /* thissystem may not be fully initialized yet, we'll check flags in discover() */
 
   backend = hwloc_backend_alloc(component);
@@ -251,12 +248,23 @@ static struct hwloc_disc_component hwloc_gl_disc_component = {
   NULL
 };
 
+static int
+hwloc_gl_component_init(unsigned long flags)
+{
+  if (flags)
+    return -1;
+  if (hwloc_plugin_check_namespace("gl", "hwloc_backend_alloc") < 0)
+    return -1;
+  return 0;
+}
+
 #ifdef HWLOC_INSIDE_PLUGIN
 HWLOC_DECLSPEC extern const struct hwloc_component hwloc_gl_component;
 #endif
 
 const struct hwloc_component hwloc_gl_component = {
   HWLOC_COMPONENT_ABI,
+  hwloc_gl_component_init, NULL,
   HWLOC_COMPONENT_TYPE_DISC,
   0,
   &hwloc_gl_disc_component
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-hpux.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-hpux.c
index 02c3940..44a4a4c 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-hpux.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-hpux.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2012 Inria.  All rights reserved.
- * Copyright © 2009-2010, 2013 Université Bordeaux 1
+ * Copyright © 2009-2014 Inria.  All rights reserved.
+ * Copyright © 2009-2010, 2013 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -43,9 +43,17 @@ hwloc_hpux_find_ldom(hwloc_topology_t topology, hwloc_const_bitmap_t hwloc_set)
     return -1;
 
   obj = hwloc_get_first_largest_obj_inside_cpuset(topology, hwloc_set);
-  if (!hwloc_bitmap_isequal(obj->cpuset, hwloc_set) || obj->type != HWLOC_OBJ_NODE) {
+  if (!hwloc_bitmap_isequal(obj->cpuset, hwloc_set))
     /* Does not correspond to exactly one node */
     return -1;
+  /* obj is the highest possibly matching object, but some (single) child (with same cpuset) could match too */
+  while (obj->type != HWLOC_OBJ_NUMANODE) {
+    /* try the first child, in case it has the same cpuset */
+    if (!obj->first_child
+	|| !obj->first_child->cpuset
+	|| !hwloc_bitmap_isequal(obj->cpuset, obj->first_child->cpuset))
+      return -1;
+    obj = obj->first_child;
   }
 
   return obj->os_index;
@@ -190,7 +198,7 @@ hwloc_look_hpux(struct hwloc_backend *backend)
       MPC_GETFIRSTLDOM_SYS : MPC_GETFIRSTLDOM, 0, 0);
     while (currentnode != -1 && i < nbnodes) {
       hwloc_debug("node %d is %d\n", i, currentnode);
-      nodes[i] = obj = hwloc_alloc_setup_object(HWLOC_OBJ_NODE, currentnode);
+      nodes[i] = obj = hwloc_alloc_setup_object(HWLOC_OBJ_NUMANODE, currentnode);
       obj->cpuset = hwloc_bitmap_alloc();
       obj->nodeset = hwloc_bitmap_alloc();
       hwloc_bitmap_set(obj->nodeset, currentnode);
@@ -296,6 +304,7 @@ static struct hwloc_disc_component hwloc_hpux_disc_component = {
 
 const struct hwloc_component hwloc_hpux_component = {
   HWLOC_COMPONENT_ABI,
+  NULL, NULL,
   HWLOC_COMPONENT_TYPE_DISC,
   0,
   &hwloc_hpux_disc_component
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-linux.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-linux.c
index a42b4f3..2d9d4da 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-linux.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-linux.c
@@ -1,8 +1,9 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2013 Université Bordeaux 1
- * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2013 Université Bordeaux
+ * Copyright © 2009-2014 Cisco Systems, Inc.  All rights reserved.
+ * Copyright © 2015 Intel, Inc.  All rights reserved.
  * Copyright © 2010 IBM
  * See COPYING in top-level directory.
  */
@@ -26,6 +27,9 @@
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
 #endif
+#ifdef HAVE_LIBUDEV_H
+#include <libudev.h>
+#endif
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <sched.h>
@@ -40,6 +44,9 @@
 struct hwloc_linux_backend_data_s {
   int root_fd; /* The file descriptor for the file system root, used when browsing, e.g., Linux' sysfs and procfs. */
   int is_real_fsroot; /* Boolean saying whether root_fd points to the real filesystem root of the system */
+#ifdef HAVE_LIBUDEV_H
+  struct udev *udev; /* Global udev context */
+#endif
 
   struct utsname utsname; /* fields contain \0 when unknown */
 
@@ -223,7 +230,7 @@ hwloc_opendirat(const char *path, int fsroot_fd)
    it, but still preserve compiler parameter checking */
 static __hwloc_inline int
 hwloc_open(const char *p, int d __hwloc_attribute_unused)
-{ 
+{
 #ifdef HAVE_OPENAT
     return hwloc_openat(p, d);
 #else
@@ -233,7 +240,7 @@ hwloc_open(const char *p, int d __hwloc_attribute_unused)
 
 static __hwloc_inline FILE *
 hwloc_fopen(const char *p, const char *m, int d __hwloc_attribute_unused)
-{ 
+{
 #ifdef HAVE_OPENAT
     return hwloc_fopenat(p, m, d);
 #else
@@ -243,9 +250,9 @@ hwloc_fopen(const char *p, const char *m, int d __hwloc_attribute_unused)
 
 /* Static inline version of access so that we can use openat if we have
    it, but still preserve compiler parameter checking */
-static __hwloc_inline int 
+static __hwloc_inline int
 hwloc_access(const char *p, int m, int d __hwloc_attribute_unused)
-{ 
+{
 #ifdef HAVE_OPENAT
     return hwloc_accessat(p, m, d);
 #else
@@ -277,7 +284,7 @@ hwloc_lstat(const char *p, struct stat *st, int d __hwloc_attribute_unused)
    it, but still preserve compiler parameter checking */
 static __hwloc_inline DIR *
 hwloc_opendir(const char *p, int d __hwloc_attribute_unused)
-{ 
+{
 #ifdef HAVE_OPENAT
     return hwloc_opendirat(p, d);
 #else
@@ -1539,9 +1546,9 @@ struct hwloc_linux_cpuinfo_proc {
   /* set during hwloc_linux_parse_cpuinfo */
   unsigned long Pproc;
   /* set during hwloc_linux_parse_cpuinfo or -1 if unknown*/
-  long Pcore, Psock;
+  long Pcore, Ppkg;
   /* set later, or -1 if unknown */
-  long Lcore, Lsock;
+  long Lcore, Lpkg;
 
   /* custom info, set during hwloc_linux_parse_cpuinfo */
   struct hwloc_obj_info_s *infos;
@@ -2056,7 +2063,7 @@ hwloc_get_procfs_meminfo_info(struct hwloc_topology *topology,
   uint64_t meminfo_hugepages_count, meminfo_hugepages_size = 0;
   struct stat st;
   int has_sysfs_hugepages = 0;
-  char *pagesize_env = getenv("HWLOC_DEBUG_PAGESIZE");
+  const char *pagesize_env = getenv("HWLOC_DEBUG_PAGESIZE");
   int types = 2;
   int err;
 
@@ -2210,10 +2217,10 @@ hwloc_parse_node_distance(const char *distancepath, unsigned nbnodes, float *dis
 }
 
 static void
-hwloc__get_dmi_one_info(struct hwloc_linux_backend_data_s *data,
-			hwloc_obj_t obj,
-			char *path, unsigned pathlen,
-			const char *dmi_name, const char *hwloc_name)
+hwloc__get_dmi_id_one_info(struct hwloc_linux_backend_data_s *data,
+			   hwloc_obj_t obj,
+			   char *path, unsigned pathlen,
+			   const char *dmi_name, const char *hwloc_name)
 {
   char dmi_line[64];
   char *tmp;
@@ -2238,7 +2245,7 @@ hwloc__get_dmi_one_info(struct hwloc_linux_backend_data_s *data,
 }
 
 static void
-hwloc__get_dmi_info(struct hwloc_linux_backend_data_s *data, hwloc_obj_t obj)
+hwloc__get_dmi_id_info(struct hwloc_linux_backend_data_s *data, hwloc_obj_t obj)
 {
   char path[128];
   unsigned pathlen;
@@ -2260,26 +2267,201 @@ hwloc__get_dmi_info(struct hwloc_linux_backend_data_s *data, hwloc_obj_t obj)
 
   path[pathlen++] = '/';
 
-  hwloc__get_dmi_one_info(data, obj, path, pathlen, "product_name", "DMIProductName");
-  hwloc__get_dmi_one_info(data, obj, path, pathlen, "product_version", "DMIProductVersion");
-  hwloc__get_dmi_one_info(data, obj, path, pathlen, "product_serial", "DMIProductSerial");
-  hwloc__get_dmi_one_info(data, obj, path, pathlen, "product_uuid", "DMIProductUUID");
-  hwloc__get_dmi_one_info(data, obj, path, pathlen, "board_vendor", "DMIBoardVendor");
-  hwloc__get_dmi_one_info(data, obj, path, pathlen, "board_name", "DMIBoardName");
-  hwloc__get_dmi_one_info(data, obj, path, pathlen, "board_version", "DMIBoardVersion");
-  hwloc__get_dmi_one_info(data, obj, path, pathlen, "board_serial", "DMIBoardSerial");
-  hwloc__get_dmi_one_info(data, obj, path, pathlen, "board_asset_tag", "DMIBoardAssetTag");
-  hwloc__get_dmi_one_info(data, obj, path, pathlen, "chassis_vendor", "DMIChassisVendor");
-  hwloc__get_dmi_one_info(data, obj, path, pathlen, "chassis_type", "DMIChassisType");
-  hwloc__get_dmi_one_info(data, obj, path, pathlen, "chassis_version", "DMIChassisVersion");
-  hwloc__get_dmi_one_info(data, obj, path, pathlen, "chassis_serial", "DMIChassisSerial");
-  hwloc__get_dmi_one_info(data, obj, path, pathlen, "chassis_asset_tag", "DMIChassisAssetTag");
-  hwloc__get_dmi_one_info(data, obj, path, pathlen, "bios_vendor", "DMIBIOSVendor");
-  hwloc__get_dmi_one_info(data, obj, path, pathlen, "bios_version", "DMIBIOSVersion");
-  hwloc__get_dmi_one_info(data, obj, path, pathlen, "bios_date", "DMIBIOSDate");
-  hwloc__get_dmi_one_info(data, obj, path, pathlen, "sys_vendor", "DMISysVendor");
+  hwloc__get_dmi_id_one_info(data, obj, path, pathlen, "product_name", "DMIProductName");
+  hwloc__get_dmi_id_one_info(data, obj, path, pathlen, "product_version", "DMIProductVersion");
+  hwloc__get_dmi_id_one_info(data, obj, path, pathlen, "product_serial", "DMIProductSerial");
+  hwloc__get_dmi_id_one_info(data, obj, path, pathlen, "product_uuid", "DMIProductUUID");
+  hwloc__get_dmi_id_one_info(data, obj, path, pathlen, "board_vendor", "DMIBoardVendor");
+  hwloc__get_dmi_id_one_info(data, obj, path, pathlen, "board_name", "DMIBoardName");
+  hwloc__get_dmi_id_one_info(data, obj, path, pathlen, "board_version", "DMIBoardVersion");
+  hwloc__get_dmi_id_one_info(data, obj, path, pathlen, "board_serial", "DMIBoardSerial");
+  hwloc__get_dmi_id_one_info(data, obj, path, pathlen, "board_asset_tag", "DMIBoardAssetTag");
+  hwloc__get_dmi_id_one_info(data, obj, path, pathlen, "chassis_vendor", "DMIChassisVendor");
+  hwloc__get_dmi_id_one_info(data, obj, path, pathlen, "chassis_type", "DMIChassisType");
+  hwloc__get_dmi_id_one_info(data, obj, path, pathlen, "chassis_version", "DMIChassisVersion");
+  hwloc__get_dmi_id_one_info(data, obj, path, pathlen, "chassis_serial", "DMIChassisSerial");
+  hwloc__get_dmi_id_one_info(data, obj, path, pathlen, "chassis_asset_tag", "DMIChassisAssetTag");
+  hwloc__get_dmi_id_one_info(data, obj, path, pathlen, "bios_vendor", "DMIBIOSVendor");
+  hwloc__get_dmi_id_one_info(data, obj, path, pathlen, "bios_version", "DMIBIOSVersion");
+  hwloc__get_dmi_id_one_info(data, obj, path, pathlen, "bios_date", "DMIBIOSDate");
+  hwloc__get_dmi_id_one_info(data, obj, path, pathlen, "sys_vendor", "DMISysVendor");
+}
+
+struct hwloc_firmware_dmi_mem_device_header {
+  unsigned char type;
+  unsigned char length;
+  unsigned char handle[2];
+  unsigned char phy_mem_handle[2];
+  unsigned char mem_err_handle[2];
+  unsigned char tot_width[2];
+  unsigned char dat_width[2];
+  unsigned char size[2];
+  unsigned char ff;
+  unsigned char dev_set;
+  unsigned char dev_loc_str_num;
+  unsigned char bank_loc_str_num;
+  unsigned char mem_type;
+  unsigned char type_detail[2];
+  unsigned char speed[2];
+  unsigned char manuf_str_num;
+  unsigned char serial_str_num;
+  unsigned char asset_tag_str_num;
+  unsigned char part_num_str_num;
+  /* don't include the following fields since we don't need them,
+   * some old implementations may miss them.
+   */
+};
+
+static int check_dmi_entry(const char *buffer)
+{
+  /* reject empty strings */
+  if (!*buffer)
+    return 0;
+  /* reject strings of spaces (at least Dell use this for empty memory slots) */
+  if (strspn(buffer, " ") == strlen(buffer))
+    return 0;
+  return 1;
 }
 
+static void
+hwloc__get_firmware_dmi_memory_info_one(struct hwloc_topology *topology,
+					unsigned idx, const char *path, FILE *fd,
+					struct hwloc_firmware_dmi_mem_device_header *header)
+{
+  unsigned slen;
+  char buffer[256]; /* enough for memory device strings, or at least for each of them */
+  unsigned foff; /* offset in raw file */
+  unsigned boff; /* offset in buffer read from raw file */
+  unsigned i;
+  struct hwloc_obj_info_s *infos = NULL;
+  unsigned infos_count = 0;
+  hwloc_obj_t misc;
+  int foundinfo = 0;
+
+  hwloc__add_info(&infos, &infos_count, "Type", "MemoryModule");
+
+  /* start after the header */
+  foff = header->length;
+  i = 1;
+  while (1) {
+    /* read one buffer */
+    if (fseek(fd, foff, SEEK_SET) < 0)
+      break;
+    if (!fgets(buffer, sizeof(buffer), fd))
+      break;
+    /* read string at the beginning of the buffer */
+    boff = 0;
+    while (1) {
+      /* stop on empty string */
+      if (!buffer[boff])
+        goto done;
+      /* stop if this string goes to the end of the buffer */
+      slen = strlen(buffer+boff);
+      if (boff + slen+1 == sizeof(buffer))
+        break;
+      /* string didn't get truncated, should be OK */
+      if (i == header->manuf_str_num) {
+	if (check_dmi_entry(buffer+boff)) {
+	  hwloc__add_info(&infos, &infos_count, "Vendor", buffer+boff);
+	  foundinfo = 1;
+	}
+      }	else if (i == header->serial_str_num) {
+	if (check_dmi_entry(buffer+boff)) {
+	  hwloc__add_info(&infos, &infos_count, "SerialNumber", buffer+boff);
+	  foundinfo = 1;
+	}
+      } else if (i == header->asset_tag_str_num) {
+	if (check_dmi_entry(buffer+boff)) {
+	  hwloc__add_info(&infos, &infos_count, "AssetTag", buffer+boff);
+	  foundinfo = 1;
+	}
+      } else if (i == header->part_num_str_num) {
+	if (check_dmi_entry(buffer+boff)) {
+	  hwloc__add_info(&infos, &infos_count, "PartNumber", buffer+boff);
+	  foundinfo = 1;
+	}
+      } else if (i == header->dev_loc_str_num) {
+	if (check_dmi_entry(buffer+boff)) {
+	  hwloc__add_info(&infos, &infos_count, "DeviceLocation", buffer+boff);
+	  /* only a location, not an actual info about the device */
+	}
+      } else if (i == header->bank_loc_str_num) {
+	if (check_dmi_entry(buffer+boff)) {
+	  hwloc__add_info(&infos, &infos_count, "BankLocation", buffer+boff);
+	  /* only a location, not an actual info about the device */
+	}
+      } else {
+	goto done;
+      }
+      /* next string in buffer */
+      boff += slen+1;
+      i++;
+    }
+    /* couldn't read a single full string from that buffer, we're screwed */
+    if (!boff) {
+      fprintf(stderr, "hwloc could read a DMI firmware entry #%u in %s\n",
+	      i, path);
+      break;
+    }
+    /* reread buffer after previous string */
+    foff += boff;
+  }
+
+done:
+  if (!foundinfo) {
+    /* found no actual info about the device. if there's only location info, the slot may be empty */
+    goto out_with_infos;
+  }
+
+  misc = hwloc_alloc_setup_object(HWLOC_OBJ_MISC, idx);
+  if (!misc)
+    goto out_with_infos;
+
+  hwloc__move_infos(&misc->infos, &misc->infos_count, &infos, &infos_count);
+  /* FIXME: find a way to identify the corresponding NUMA node and attach these objects there.
+   * but it means we need to parse DeviceLocation=DIMM_B4 but these vary significantly
+   * with the vendor, and it's hard to be 100% sure 'B' is second socket.
+   * Examples at http://sourceforge.net/p/edac-utils/code/HEAD/tree/trunk/src/etc/labels.db
+   * or https://github.com/grondo/edac-utils/blob/master/src/etc/labels.db
+   */
+  hwloc_insert_object_by_parent(topology, hwloc_get_root_obj(topology), misc);
+  return;
+
+ out_with_infos:
+  hwloc__free_infos(infos, infos_count);
+}
+
+static void
+hwloc__get_firmware_dmi_memory_info(struct hwloc_topology *topology,
+				    struct hwloc_linux_backend_data_s *data)
+{
+  char path[128];
+  unsigned i;
+
+  for(i=0; ; i++) {
+    FILE *fd;
+    struct hwloc_firmware_dmi_mem_device_header header;
+    int err;
+
+    snprintf(path, sizeof(path), "/sys/firmware/dmi/entries/17-%u/raw", i);
+    fd = hwloc_fopen(path, "r", data->root_fd);
+    if (!fd)
+      break;
+
+    err = fread(&header, sizeof(header), 1, fd);
+    if (err != 1)
+      break;
+    if (header.length < sizeof(header)) {
+      /* invalid, or too old entry/spec that doesn't contain what we need */
+      fclose(fd);
+      break;
+    }
+
+    hwloc__get_firmware_dmi_memory_info_one(topology, i, path, fd, &header);
+
+    fclose(fd);
+  }
+}
 
 
 /***********************************
@@ -2288,21 +2470,15 @@ hwloc__get_dmi_info(struct hwloc_linux_backend_data_s *data, hwloc_obj_t obj)
 
 /* Reads the entire file and returns bytes read if bytes_read != NULL
  * Returned pointer can be freed by using free().  */
-static void * 
+static void *
 hwloc_read_raw(const char *p, const char *p1, size_t *bytes_read, int root_fd)
 {
-  char *fname = NULL;
+  char fname[256];
   char *ret = NULL;
   struct stat fs;
   int file = -1;
-  unsigned len;
 
-  len = strlen(p) + 1 + strlen(p1) + 1;
-  fname = malloc(len);
-  if (NULL == fname) {
-      return NULL;
-  }
-  snprintf(fname, len, "%s/%s", p, p1);
+  snprintf(fname, sizeof(fname), "%s/%s", p, p1);
 
   file = hwloc_open(fname, root_fd);
   if (-1 == file) {
@@ -2327,9 +2503,6 @@ hwloc_read_raw(const char *p, const char *p1, size_t *bytes_read, int root_fd)
  out:
   close(file);
  out_no_close:
-  if (NULL != fname) {
-      free(fname);
-  }
   return ret;
 }
 
@@ -2348,7 +2521,7 @@ hwloc_read_str(const char *p, const char *p1, int root_fd)
 }
 
 /* Reads first 32bit bigendian value */
-static ssize_t 
+static ssize_t
 hwloc_read_unit32be(const char *p, const char *p1, uint32_t *buf, int root_fd)
 {
   size_t cb = 0;
@@ -2489,7 +2662,7 @@ try_add_cache_from_device_tree_cpu(struct hwloc_topology *topology,
 				      d_cache_line_size, d_cache_size, d_cache_sets, cpuset);
 }
 
-/* 
+/*
  * Discovers L1/L2/L3 cache information on IBM PowerPC systems for old kernels (RHEL5.*)
  * which provide NUMA nodes information without any details
  */
@@ -2504,38 +2677,30 @@ look_powerpc_device_tree(struct hwloc_topology *topology,
   DIR *dt = hwloc_opendir(ofroot, root_fd);
   struct dirent *dirent;
 
+  if (NULL == dt)
+    return;
+
+  /* only works for Power so far, and not useful on ARM */
+  if (strncmp(data->utsname.machine, "ppc", 3))
+    return;
+
   cpus.n = 0;
   cpus.p = NULL;
   cpus.allocated = 0;
 
-  if (NULL == dt)
-    return;
-
   while (NULL != (dirent = readdir(dt))) {
-    struct stat statbuf;
-    int err;
-    char *cpu;
+    char cpu[256];
     char *device_type;
     uint32_t reg = -1, l2_cache = -1, phandle = -1;
-    unsigned len;
 
     if ('.' == dirent->d_name[0])
       continue;
 
-    len = sizeof(ofroot) + 1 + strlen(dirent->d_name) + 1;
-    cpu = malloc(len);
-    if (NULL == cpu) {
-      continue;
-    }
-    snprintf(cpu, len, "%s/%s", ofroot, dirent->d_name);
-
-    err = hwloc_stat(cpu, &statbuf, root_fd);
-    if (err < 0 || !S_ISDIR(statbuf.st_mode))
-      goto cont;
+    snprintf(cpu, sizeof(cpu), "%s/%s", ofroot, dirent->d_name);
 
     device_type = hwloc_read_str(cpu, "device_type", root_fd);
     if (NULL == device_type)
-      goto cont;
+      continue;
 
     hwloc_read_unit32be(cpu, "reg", &reg, root_fd);
     if (hwloc_read_unit32be(cpu, "next-level-cache", &l2_cache, root_fd) == -1)
@@ -2545,7 +2710,7 @@ look_powerpc_device_tree(struct hwloc_topology *topology,
         hwloc_read_unit32be(cpu, "linux,phandle", &phandle, root_fd);
 
     if (0 == strcmp(device_type, "cache")) {
-      add_device_tree_cpus_node(&cpus, NULL, l2_cache, phandle, dirent->d_name); 
+      add_device_tree_cpus_node(&cpus, NULL, l2_cache, phandle, dirent->d_name);
     }
     else if (0 == strcmp(device_type, "cpu")) {
       /* Found CPU */
@@ -2562,6 +2727,10 @@ look_powerpc_device_tree(struct hwloc_topology *topology,
         }
         free(threads);
       } else if ((unsigned int)-1 != reg) {
+        /* Doesn't work on ARM because cpu "reg" do not start at 0.
+	 * We know the first cpu "reg" is the lowest. The others are likely
+	 * in order assuming the device-tree shows objects in order.
+	 */
         cpuset = hwloc_bitmap_alloc();
         hwloc_bitmap_set(cpuset, reg);
       }
@@ -2584,8 +2753,6 @@ look_powerpc_device_tree(struct hwloc_topology *topology,
       }
     }
     free(device_type);
-cont:
-    free(cpu);
   }
   closedir(dt);
 
@@ -2619,18 +2786,9 @@ cont:
     cpuset = hwloc_bitmap_alloc();
     if (0 == look_powerpc_device_tree_discover_cache(&cpus,
           cpus.p[i].phandle, &level, cpuset)) {
-      char *cpu;
-      unsigned len;
-
-      len = sizeof(ofroot) + 1 + strlen(cpus.p[i].name) + 1;
-      cpu = malloc(len);
-      if (NULL == cpu) {
-          return;
-      }
-      snprintf(cpu, len, "%s/%s", ofroot, cpus.p[i].name);
-
+      char cpu[256];
+      snprintf(cpu, sizeof(cpu), "%s/%s", ofroot, cpus.p[i].name);
       try_add_cache_from_device_tree_cpu(topology, data, cpu, level, cpuset);
-      free(cpu);
     }
     hwloc_bitmap_free(cpuset);
   }
@@ -2739,7 +2897,7 @@ look_sysfsnode(struct hwloc_topology *topology,
 	    continue;
 	  }
 
-          node = hwloc_alloc_setup_object(HWLOC_OBJ_NODE, osnode);
+          node = hwloc_alloc_setup_object(HWLOC_OBJ_NUMANODE, osnode);
           node->cpuset = cpuset;
           node->nodeset = hwloc_bitmap_alloc();
           hwloc_bitmap_set(node->nodeset, osnode);
@@ -2786,7 +2944,7 @@ look_sysfsnode(struct hwloc_topology *topology,
           hwloc_parse_node_distance(nodepath, nbnodes, distances+index_*nbnodes, data->root_fd);
       }
 
-      hwloc_distances_set(topology, HWLOC_OBJ_NODE, nbnodes, indexes, nodes, distances, 0 /* OS cannot force */);
+      hwloc_distances_set(topology, HWLOC_OBJ_NUMANODE, nbnodes, indexes, nodes, distances, 0 /* OS cannot force */);
   }
 
  out:
@@ -2807,7 +2965,8 @@ look_sysfscpu(struct hwloc_topology *topology,
   DIR *dir;
   int i,j;
   FILE *fd;
-  unsigned caches_added;
+  unsigned caches_added, merge_buggy_core_siblings;
+  hwloc_obj_t packages = NULL; /* temporary list of packages before actual insert in the tree */
 
   /* fill the cpuset of interesting cpus */
   dir = hwloc_opendir(path, data->root_fd);
@@ -2862,38 +3021,86 @@ look_sysfscpu(struct hwloc_topology *topology,
   hwloc_debug_1arg_bitmap("found %d cpu topologies, cpuset %s\n",
 	     hwloc_bitmap_weight(cpuset), cpuset);
 
+  merge_buggy_core_siblings = (!strcmp(data->utsname.machine, "x86_64"))
+			   || (data->utsname.machine[0] == 'i' && !strcmp(data->utsname.machine+2, "86"));
   caches_added = 0;
   hwloc_bitmap_foreach_begin(i, cpuset)
     {
-      hwloc_bitmap_t socketset, coreset, bookset, threadset, savedcoreset;
-      unsigned mysocketid, mycoreid, mybookid;
+      hwloc_bitmap_t packageset, coreset, bookset, threadset, savedcoreset;
+      unsigned mypackageid, mycoreid, mybookid;
       int threadwithcoreid = 0;
 
-      /* look at the socket */
-      mysocketid = 0; /* shut-up the compiler */
+      /* look at the package */
+      mypackageid = 0; /* shut-up the compiler */
       sprintf(str, "%s/cpu%d/topology/physical_package_id", path, i);
-      hwloc_parse_sysfs_unsigned(str, &mysocketid, data->root_fd);
+      hwloc_parse_sysfs_unsigned(str, &mypackageid, data->root_fd);
 
       sprintf(str, "%s/cpu%d/topology/core_siblings", path, i);
-      socketset = hwloc_parse_cpumap(str, data->root_fd);
-      if (socketset && hwloc_bitmap_first(socketset) == i) {
-        /* first cpu in this socket, add the socket */
-        struct hwloc_obj *sock = hwloc_alloc_setup_object(HWLOC_OBJ_SOCKET, mysocketid);
-        sock->cpuset = socketset;
-        hwloc_debug_1arg_bitmap("os socket %u has cpuset %s\n",
-                     mysocketid, socketset);
+      packageset = hwloc_parse_cpumap(str, data->root_fd);
+      if (packageset && hwloc_bitmap_first(packageset) == i) {
+        /* first cpu in this package, add the package */
+	struct hwloc_obj *package;
+
+	if (merge_buggy_core_siblings) {
+	  /* check for another package with same physical_package_id */
+	  hwloc_obj_t curpackage = packages;
+	  while (curpackage) {
+	    if (curpackage->os_index == mypackageid) {
+	      /* found another package with same physical_package_id but different core_siblings.
+	       * looks like a buggy kernel on Intel Xeon E5 v3 processor with two rings.
+	       * merge these core_siblings to extend the existing first package object.
+	       */
+	      static int reported = 0;
+	      if (!reported && !hwloc_hide_errors()) {
+		char *a, *b;
+		hwloc_bitmap_asprintf(&a, curpackage->cpuset);
+		hwloc_bitmap_asprintf(&b, packageset);
+		fprintf(stderr, "****************************************************************************\n");
+		fprintf(stderr, "* hwloc %s has detected buggy sysfs package information: Two packages have\n", HWLOC_VERSION);
+		fprintf(stderr, "* the same physical package id %u but different core_siblings %s and %s\n",
+			mypackageid, a, b);
+		fprintf(stderr, "* hwloc is merging these packages into a single one assuming your Linux kernel\n");
+		fprintf(stderr, "* does not support this processor correctly.\n");
+		fprintf(stderr, "* You may hide this warning by setting HWLOC_HIDE_ERRORS=1 in the environment.\n");
+	        fprintf(stderr, "*\n");
+		fprintf(stderr, "* If hwloc does not report the right number of packages,\n");
+		fprintf(stderr, "* please report this error message to the hwloc user's mailing list,\n");
+		fprintf(stderr, "* along with the output+tarball generated by the hwloc-gather-topology script.\n");
+		fprintf(stderr, "****************************************************************************\n");
+		reported = 1;
+		free(a);
+		free(b);
+	      }
+	      hwloc_bitmap_or(curpackage->cpuset, curpackage->cpuset, packageset);
+	      goto package_done;
+	    }
+	    curpackage = curpackage->next_cousin;
+	  }
+	}
+
+	/* no package with same physical_package_id, create a new one */
+	package = hwloc_alloc_setup_object(HWLOC_OBJ_PACKAGE, mypackageid);
+	package->cpuset = packageset;
+	hwloc_debug_1arg_bitmap("os package %u has cpuset %s\n",
+				mypackageid, packageset);
 	/* add cpuinfo */
 	if (cpuinfo_Lprocs) {
 	  for(j=0; j<(int) cpuinfo_numprocs; j++)
 	    if ((int) cpuinfo_Lprocs[j].Pproc == i) {
-	      hwloc__move_infos(&sock->infos, &sock->infos_count,
+	      hwloc__move_infos(&package->infos, &package->infos_count,
 				&cpuinfo_Lprocs[j].infos, &cpuinfo_Lprocs[j].infos_count);
 	    }
 	}
-        hwloc_insert_object_by_cpuset(topology, sock);
-        socketset = NULL; /* don't free it */
+	/* insert in a temporary list in case we have to modify the cpuset by merging other core_siblings later.
+	 * we'll actually insert the tree at the end of the entire sysfs cpu loop.
+	 */
+	package->next_cousin = packages;
+	packages = package;
+
+	packageset = NULL; /* don't free it */
       }
-      hwloc_bitmap_free(socketset);
+package_done:
+      hwloc_bitmap_free(packageset);
 
       /* look at the core */
       mycoreid = 0; /* shut-up the compiler */
@@ -2905,7 +3112,7 @@ look_sysfscpu(struct hwloc_topology *topology,
       savedcoreset = coreset; /* store it for later work-arounds */
 
       if (coreset && hwloc_bitmap_weight(coreset) > 1) {
-	/* check if this is hyperthreading or different coreids */
+	/* check if this is hyper-threading or different coreids */
 	unsigned siblingid, siblingcoreid;
 	hwloc_bitmap_t set = hwloc_bitmap_dup(coreset);
 	hwloc_bitmap_clr(set, i);
@@ -2946,6 +3153,7 @@ look_sysfscpu(struct hwloc_topology *topology,
           book->cpuset = bookset;
           hwloc_debug_1arg_bitmap("os book %u has cpuset %s\n",
                        mybookid, bookset);
+          hwloc_obj_add_info(book, "Type", "Book");
           hwloc_insert_object_by_cpuset(topology, book);
           bookset = NULL; /* don't free it */
         }
@@ -3085,6 +3293,14 @@ look_sysfscpu(struct hwloc_topology *topology,
     }
   hwloc_bitmap_foreach_end();
 
+  /* actually insert in the tree now that package cpusets have been fixed-up */
+  while (packages) {
+    hwloc_obj_t next = packages->next_cousin;
+    packages->next_cousin = NULL;
+    hwloc_insert_object_by_cpuset(topology, packages);
+    packages = next;
+  }
+
   if (0 == caches_added)
     look_powerpc_device_tree(topology, data);
 
@@ -3112,6 +3328,8 @@ hwloc_linux_parse_cpuinfo_x86(const char *prefix, const char *value,
     hwloc__add_info(infos, infos_count, "CPUModelNumber", value);
   } else if (!strcmp("cpu family", prefix)) {
     hwloc__add_info(infos, infos_count, "CPUFamilyNumber", value);
+  } else if (!strcmp("stepping", prefix)) {
+    hwloc__add_info(infos, infos_count, "CPUStepping", value);
   }
   return 0;
 }
@@ -3270,7 +3488,7 @@ hwloc_linux_parse_cpuinfo(struct hwloc_linux_backend_data_s *data,
   str = malloc(len);
   hwloc_debug("\n\n * Topology extraction from %s *\n\n", path);
   while (fgets(str,len,fd)!=NULL) {
-    unsigned long Psock, Pcore, Pproc;
+    unsigned long Ppkg, Pcore, Pproc;
     char *end, *dot, *prefix, *value;
     int noend = 0;
 
@@ -3328,14 +3546,14 @@ hwloc_linux_parse_cpuinfo(struct hwloc_linux_backend_data_s *data,
     }
     Lprocs[curproc].Pproc = Pproc;
     Lprocs[curproc].Pcore = -1;
-    Lprocs[curproc].Psock = -1;
+    Lprocs[curproc].Ppkg = -1;
     Lprocs[curproc].Lcore = -1;
-    Lprocs[curproc].Lsock = -1;
+    Lprocs[curproc].Lpkg = -1;
     Lprocs[curproc].infos = NULL;
     Lprocs[curproc].infos_count = 0;
     getprocnb_end() else
-    getprocnb_begin(PACKAGEID, Psock);
-    Lprocs[curproc].Psock = Psock;
+    getprocnb_begin(PACKAGEID, Ppkg);
+    Lprocs[curproc].Ppkg = Ppkg;
     getprocnb_end() else
     getprocnb_begin(COREID, Pcore);
     Lprocs[curproc].Pcore = Pcore;
@@ -3415,14 +3633,14 @@ look_cpuinfo(struct hwloc_topology *topology,
   unsigned global_infos_count = 0;
   /* P for physical/OS index, L for logical (e.g. in we order we get them, not in the final hwloc logical order) */
   unsigned *Lcore_to_Pcore;
-  unsigned *Lcore_to_Psock; /* needed because Lcore is equivalent to Pcore+Psock, not to Pcore alone */
-  unsigned *Lsock_to_Psock;
+  unsigned *Lcore_to_Ppkg; /* needed because Lcore is equivalent to Pcore+Ppkg, not to Pcore alone */
+  unsigned *Lpkg_to_Ppkg;
   int _numprocs;
   unsigned numprocs;
-  unsigned numsockets=0;
+  unsigned numpkgs=0;
   unsigned numcores=0;
   unsigned long Lproc;
-  unsigned missingsocket;
+  unsigned missingpkg;
   unsigned missingcore;
   unsigned i,j;
   hwloc_bitmap_t cpuset;
@@ -3443,12 +3661,12 @@ look_cpuinfo(struct hwloc_topology *topology,
 
   /* initialize misc arrays, there can be at most numprocs entries */
   Lcore_to_Pcore = malloc(numprocs * sizeof(*Lcore_to_Pcore));
-  Lcore_to_Psock = malloc(numprocs * sizeof(*Lcore_to_Psock));
-  Lsock_to_Psock = malloc(numprocs * sizeof(*Lsock_to_Psock));
+  Lcore_to_Ppkg = malloc(numprocs * sizeof(*Lcore_to_Ppkg));
+  Lpkg_to_Ppkg = malloc(numprocs * sizeof(*Lpkg_to_Ppkg));
   for (i = 0; i < numprocs; i++) {
     Lcore_to_Pcore[i] = -1;
-    Lcore_to_Psock[i] = -1;
-    Lsock_to_Psock[i] = -1;
+    Lcore_to_Ppkg[i] = -1;
+    Lpkg_to_Ppkg[i] = -1;
   }
 
   cpuset = hwloc_bitmap_alloc();
@@ -3475,61 +3693,61 @@ look_cpuinfo(struct hwloc_topology *topology,
   hwloc_debug("%s", "\n * Topology summary *\n");
   hwloc_debug("%u processors)\n", numprocs);
 
-  /* fill Lprocs[].Lsock and Lsock_to_Psock */
+  /* fill Lprocs[].Lpkg and Lpkg_to_Ppkg */
   for(Lproc=0; Lproc<numprocs; Lproc++) {
-    long Psock = Lprocs[Lproc].Psock;
-    if (Psock != -1) {
+    long Ppkg = Lprocs[Lproc].Ppkg;
+    if (Ppkg != -1) {
       unsigned long Pproc = Lprocs[Lproc].Pproc;
-      for (i=0; i<numsockets; i++)
-	if ((unsigned) Psock == Lsock_to_Psock[i])
+      for (i=0; i<numpkgs; i++)
+	if ((unsigned) Ppkg == Lpkg_to_Ppkg[i])
 	  break;
-      Lprocs[Lproc].Lsock = i;
-      hwloc_debug("%lu on socket %u (%lx)\n", Pproc, i, Psock);
-      if (i==numsockets) {
-	Lsock_to_Psock[numsockets] = Psock;
-	numsockets++;
+      Lprocs[Lproc].Lpkg = i;
+      hwloc_debug("%lu on package %u (%lx)\n", Pproc, i, Ppkg);
+      if (i==numpkgs) {
+	Lpkg_to_Ppkg[numpkgs] = Ppkg;
+	numpkgs++;
       }
     }
   }
   /* Some buggy Linuxes don't provide numbers for processor 0, which makes us
    * provide bogus information. We should rather drop it. */
-  missingsocket=0;
+  missingpkg=0;
   for(j=0; j<numprocs; j++)
-    if (Lprocs[i].Psock == -1) {
-      missingsocket=1;
+    if (Lprocs[i].Ppkg == -1) {
+      missingpkg=1;
       break;
     }
-  /* create Socket objects */
-  hwloc_debug("%u sockets%s\n", numsockets, missingsocket ? ", but some missing socket" : "");
-  if (!missingsocket && numsockets>0) {
-    for (i = 0; i < numsockets; i++) {
-      struct hwloc_obj *obj = hwloc_alloc_setup_object(HWLOC_OBJ_SOCKET, Lsock_to_Psock[i]);
+  /* create package objects */
+  hwloc_debug("%u pkgs%s\n", numpkgs, missingpkg ? ", but some missing package" : "");
+  if (!missingpkg && numpkgs>0) {
+    for (i = 0; i < numpkgs; i++) {
+      struct hwloc_obj *obj = hwloc_alloc_setup_object(HWLOC_OBJ_PACKAGE, Lpkg_to_Ppkg[i]);
       int doneinfos = 0;
       obj->cpuset = hwloc_bitmap_alloc();
       for(j=0; j<numprocs; j++)
-	if ((unsigned) Lprocs[j].Lsock == i) {
+	if ((unsigned) Lprocs[j].Lpkg == i) {
 	  hwloc_bitmap_set(obj->cpuset, Lprocs[j].Pproc);
 	  if (!doneinfos) {
 	    hwloc__move_infos(&obj->infos, &obj->infos_count, &Lprocs[j].infos, &Lprocs[j].infos_count);
 	    doneinfos = 1;
 	  }
 	}
-      hwloc_debug_1arg_bitmap("Socket %d has cpuset %s\n", i, obj->cpuset);
+      hwloc_debug_1arg_bitmap("package %d has cpuset %s\n", i, obj->cpuset);
       hwloc_insert_object_by_cpuset(topology, obj);
     }
     hwloc_debug("%s", "\n");
   }
 
-  /* fill Lprocs[].Lcore, Lcore_to_Psock and Lcore_to_Pcore */
+  /* fill Lprocs[].Lcore, Lcore_to_Ppkg and Lcore_to_Pcore */
   for(Lproc=0; Lproc<numprocs; Lproc++) {
     long Pcore = Lprocs[Lproc].Pcore;
     if (Pcore != -1) {
       for (i=0; i<numcores; i++)
-	if ((unsigned) Pcore == Lcore_to_Pcore[i] && (unsigned) Lprocs[Lproc].Psock == Lcore_to_Psock[i])
+	if ((unsigned) Pcore == Lcore_to_Pcore[i] && (unsigned) Lprocs[Lproc].Ppkg == Lcore_to_Ppkg[i])
 	  break;
       Lprocs[Lproc].Lcore = i;
       if (i==numcores) {
-	Lcore_to_Psock[numcores] = Lprocs[Lproc].Psock;
+	Lcore_to_Ppkg[numcores] = Lprocs[Lproc].Ppkg;
 	Lcore_to_Pcore[numcores] = Pcore;
 	numcores++;
       }
@@ -3559,8 +3777,8 @@ look_cpuinfo(struct hwloc_topology *topology,
   }
 
   free(Lcore_to_Pcore);
-  free(Lcore_to_Psock);
-  free(Lsock_to_Psock);
+  free(Lcore_to_Ppkg);
+  free(Lpkg_to_Ppkg);
 
   hwloc_linux_free_cpuinfo(Lprocs, numprocs, global_infos, global_infos_count);
 
@@ -3614,7 +3832,7 @@ hwloc_gather_system_info(struct hwloc_topology *topology,
 {
   FILE *file;
   char line[128]; /* enough for utsname fields */
-  char *env;
+  const char *env;
 
   /* initialize to something sane */
   memset(&data->utsname, 0, sizeof(data->utsname));
@@ -3748,7 +3966,7 @@ hwloc_look_linuxfs(struct hwloc_backend *backend)
 
       /* Gather DMI info */
       /* FIXME: get the right DMI info of each machine */
-      hwloc__get_dmi_info(data, machine);
+      hwloc__get_dmi_id_info(data, machine);
 
       hwloc_insert_object_by_cpuset(topology, machine);
     }
@@ -3799,7 +4017,9 @@ hwloc_look_linuxfs(struct hwloc_backend *backend)
     }
 
     /* Gather DMI info */
-    hwloc__get_dmi_info(data, topology->levels[0][0]);
+    hwloc__get_dmi_id_info(data, topology->levels[0][0]);
+    if (hwloc_topology_get_flags(topology) & (HWLOC_TOPOLOGY_FLAG_IO_DEVICES|HWLOC_TOPOLOGY_FLAG_WHOLE_IO))
+      hwloc__get_firmware_dmi_memory_info(topology, data);
   }
 
   hwloc_obj_add_info(topology->levels[0][0], "Backend", "Linux");
@@ -4150,6 +4370,129 @@ hwloc_linux_lookup_drm_class(struct hwloc_backend *backend,
  * look for block objects below a pcidev in sysfs
  */
 
+static void
+hwloc_linux_block_class_fillinfos(struct hwloc_backend *backend,
+				  struct hwloc_obj *obj, const char *osdevpath)
+{
+  struct hwloc_linux_backend_data_s *data = backend->private_data;
+  int root_fd = data->root_fd;
+  FILE *fd;
+  char path[256];
+  char line[128];
+  char vendor[64] = "";
+  char model[64] = "";
+  char serial[64] = "";
+  char revision[64] = "";
+  char blocktype[64] = "";
+  unsigned major_id, minor_id;
+  char *tmp;
+
+  snprintf(path, sizeof(path), "%s/dev", osdevpath);
+  fd = hwloc_fopen(path, "r", root_fd);
+  if (!fd)
+    return;
+
+  if (NULL == fgets(line, sizeof(line), fd)) {
+    fclose(fd);
+    return;
+  }
+  fclose(fd);
+
+  if (sscanf(line, "%u:%u", &major_id, &minor_id) != 2)
+    return;
+  tmp = strchr(line, '\n');
+  if (tmp)
+    *tmp = '\0';
+  hwloc_obj_add_info(obj, "LinuxDeviceID", line);
+
+#ifdef HAVE_LIBUDEV_H
+  if (data->udev) {
+    struct udev_device *dev;
+    const char *prop;
+    dev = udev_device_new_from_subsystem_sysname(data->udev, "block", obj->name);
+    if (!dev)
+      return;
+    prop = udev_device_get_property_value(dev, "ID_VENDOR");
+    if (prop)
+      strcpy(vendor, prop);
+    prop = udev_device_get_property_value(dev, "ID_MODEL");
+    if (prop)
+      strcpy(model, prop);
+    prop = udev_device_get_property_value(dev, "ID_REVISION");
+    if (prop)
+      strcpy(revision, prop);
+    prop = udev_device_get_property_value(dev, "ID_SERIAL_SHORT");
+    if (prop)
+      strcpy(serial, prop);
+    prop = udev_device_get_property_value(dev, "ID_TYPE");
+    if (prop)
+      strcpy(blocktype, prop);
+
+    udev_device_unref(dev);
+  } else
+    /* fallback to reading files, works with any fsroot */
+#endif
+ {
+  snprintf(path, sizeof(path), "/run/udev/data/b%u:%u", major_id, minor_id);
+  fd = hwloc_fopen(path, "r", root_fd);
+  if (!fd)
+    return;
+
+  while (NULL != fgets(line, sizeof(line), fd)) {
+    tmp = strchr(line, '\n');
+    if (tmp)
+      *tmp = '\0';
+    if (!strncmp(line, "E:ID_VENDOR=", strlen("E:ID_VENDOR="))) {
+      strcpy(vendor, line+strlen("E:ID_VENDOR="));
+    } else if (!strncmp(line, "E:ID_MODEL=", strlen("E:ID_MODEL="))) {
+      strcpy(model, line+strlen("E:ID_MODEL="));
+    } else if (!strncmp(line, "E:ID_REVISION=", strlen("E:ID_REVISION="))) {
+      strcpy(revision, line+strlen("E:ID_REVISION="));
+    } else if (!strncmp(line, "E:ID_SERIAL_SHORT=", strlen("E:ID_SERIAL_SHORT="))) {
+      strcpy(serial, line+strlen("E:ID_SERIAL_SHORT="));
+    } else if (!strncmp(line, "E:ID_TYPE=", strlen("E:ID_TYPE="))) {
+      strcpy(blocktype, line+strlen("E:ID_TYPE="));
+    }
+  }
+  fclose(fd);
+ }
+
+  /* clear fake "ATA" vendor name */
+  if (!strcasecmp(vendor, "ATA"))
+    *vendor = '\0';
+  /* overwrite vendor name from model when possible */
+  if (!*vendor) {
+    if (!strncasecmp(model, "wd", 2))
+      strcpy(vendor, "Western Digital");
+    else if (!strncasecmp(model, "st", 2))
+      strcpy(vendor, "Seagate");
+    else if (!strncasecmp(model, "samsung", 7))
+      strcpy(vendor, "Samsung");
+    else if (!strncasecmp(model, "sandisk", 7))
+      strcpy(vendor, "SanDisk");
+    else if (!strncasecmp(model, "toshiba", 7))
+      strcpy(vendor, "Toshiba");
+  }
+
+  if (*vendor)
+    hwloc_obj_add_info(obj, "Vendor", vendor);
+  if (*model)
+    hwloc_obj_add_info(obj, "Model", model);
+  if (*revision)
+    hwloc_obj_add_info(obj, "Revision", revision);
+  if (*serial)
+    hwloc_obj_add_info(obj, "SerialNumber", serial);
+
+  if (!strcmp(blocktype, "disk"))
+    hwloc_obj_add_info(obj, "Type", "Disk");
+  else if (!strcmp(blocktype, "tape"))
+    hwloc_obj_add_info(obj, "Type", "Tape");
+  else if (!strcmp(blocktype, "cd") || !strcmp(blocktype, "floppy") || !strcmp(blocktype, "optical"))
+    hwloc_obj_add_info(obj, "Type", "Removable Media Device");
+  else /* generic, usb mass storage/rbc, usb mass storage/scsi */
+    hwloc_obj_add_info(obj, "Type", "Other");
+}
+
 /* block class objects are in
  * host%d/target%d:%d:%d/%d:%d:%d:%d/
  * or
@@ -4216,7 +4559,7 @@ hwloc_linux_lookup_host_block_class(struct hwloc_backend *backend,
 	strcpy(&path[pathlen+1], targetdirent->d_name);
 	pathlen += targetdlen = 1+strlen(targetdirent->d_name);
 	/* lookup block class for real */
-	res += hwloc_linux_class_readdir(backend, pcidev, path, HWLOC_OBJ_OSDEV_BLOCK, "block", NULL);
+	res += hwloc_linux_class_readdir(backend, pcidev, path, HWLOC_OBJ_OSDEV_BLOCK, "block", hwloc_linux_block_class_fillinfos);
 	/* restore parent path */
 	pathlen -= targetdlen;
 	path[pathlen] = '\0';
@@ -4547,6 +4890,10 @@ hwloc_linux_backend_disable(struct hwloc_backend *backend)
 #ifdef HAVE_OPENAT
   close(data->root_fd);
 #endif
+#ifdef HAVE_LIBUDEV_H
+  if (data->udev)
+    udev_unref(data->udev);
+#endif
   free(data);
 }
 
@@ -4559,7 +4906,7 @@ hwloc_linux_component_instantiate(struct hwloc_disc_component *component,
   struct hwloc_backend *backend;
   struct hwloc_linux_backend_data_s *data;
   const char * fsroot_path = _data1;
-  int root = -1;
+  int flags, root = -1;
 
   backend = hwloc_backend_alloc(component);
   if (!backend)
@@ -4592,6 +4939,16 @@ hwloc_linux_component_instantiate(struct hwloc_disc_component *component,
     data->is_real_fsroot = 0;
   }
 
+  /* Since this fd stays open after hwloc returns, mark it as
+     close-on-exec so that children don't inherit it.  Stevens says
+     that we should GETFD before we SETFD, so we do. */
+  flags = fcntl(root, F_GETFD, 0);
+  if (-1 == flags ||
+      -1 == fcntl(root, F_SETFD, FD_CLOEXEC | flags)) {
+      close(root);
+      root = -1;
+      goto out_with_data;
+  }
 #else
   if (strcmp(fsroot_path, "/")) {
     errno = ENOSYS;
@@ -4600,6 +4957,13 @@ hwloc_linux_component_instantiate(struct hwloc_disc_component *component,
 #endif
   data->root_fd = root;
 
+#ifdef HAVE_LIBUDEV_H
+  data->udev = NULL;
+  if (data->is_real_fsroot) {
+    data->udev = udev_new();
+  }
+#endif
+
   data->deprecated_classlinks_model = -2; /* never tried */
   data->mic_need_directlookup = -1; /* not initialized */
   data->mic_directlookup_id_max = -1; /* not initialized */
@@ -4625,6 +4989,7 @@ static struct hwloc_disc_component hwloc_linux_disc_component = {
 
 const struct hwloc_component hwloc_linux_component = {
   HWLOC_COMPONENT_ABI,
+  NULL, NULL,
   HWLOC_COMPONENT_TYPE_DISC,
   0,
   &hwloc_linux_disc_component
@@ -4789,6 +5154,36 @@ hwloc_look_linuxfs_pci(struct hwloc_backend *backend)
 
   closedir(dir);
 
+  dir = hwloc_opendir("/sys/bus/pci/slots/", root_fd);
+  if (dir) {
+    while ((dirent = readdir(dir)) != NULL) {
+      char path[64];
+      FILE *file;
+      if (dirent->d_name[0] == '.')
+	continue;
+      snprintf(path, sizeof(path), "/sys/bus/pci/slots/%s/address", dirent->d_name);
+      file = hwloc_fopen(path, "r", root_fd);
+      if (file) {
+	unsigned domain, bus, dev;
+	if (fscanf(file, "%x:%x:%x", &domain, &bus, &dev) == 3) {
+	  hwloc_obj_t obj = first_obj;
+	  while (obj) {
+	    if (obj->attr->pcidev.domain == domain
+		&& obj->attr->pcidev.bus == bus
+		&& obj->attr->pcidev.dev == dev
+		&& obj->attr->pcidev.func == 0) {
+	      hwloc_obj_add_info(obj, "PCISlot", dirent->d_name);
+	      break;
+	    }
+	    obj = obj->next_sibling;
+	  }
+	}
+	fclose(file);
+      }
+    }
+    closedir(dir);
+  }
+
   res = hwloc_insert_pci_device_list(backend, first_obj);
 
  out_with_rootfd:
@@ -4825,6 +5220,7 @@ static struct hwloc_disc_component hwloc_linuxpci_disc_component = {
 
 const struct hwloc_component hwloc_linuxpci_component = {
   HWLOC_COMPONENT_ABI,
+  NULL, NULL,
   HWLOC_COMPONENT_TYPE_DISC,
   0,
   &hwloc_linuxpci_disc_component
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-netbsd.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-netbsd.c
index 2d1b3a6..2c5fbaa 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-netbsd.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-netbsd.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2012 Aleksej Saushev, The NetBSD Foundation
- * Copyright © 2009-2012 Inria.  All rights reserved.
- * Copyright © 2009-2010 Université Bordeaux 1
+ * Copyright © 2009-2014 Inria.  All rights reserved.
+ * Copyright © 2009-2010 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -16,6 +16,9 @@
 #include <sys/param.h>
 #include <pthread.h>
 #include <sched.h>
+#ifdef HAVE_SYS_SYSCTL_H
+#include <sys/sysctl.h>
+#endif
 
 #include <hwloc.h>
 #include <private/private.h>
@@ -130,6 +133,18 @@ hwloc_netbsd_get_thisthread_cpubind(hwloc_topology_t topology, hwloc_bitmap_t hw
   return hwloc_netbsd_get_thread_cpubind(topology, pthread_self(), hwloc_cpuset, flags);
 }
 
+#if (defined HAVE_SYSCTL) && (defined HAVE_SYS_SYSCTL_H)
+static void
+hwloc_netbsd_node_meminfo_info(struct hwloc_topology *topology)
+{
+  int mib[2] = { CTL_HW, HW_PHYSMEM64 };
+  unsigned long physmem;
+  size_t len = sizeof(physmem);
+  sysctl(mib, 2, &physmem, &len, NULL, 0);
+  topology->levels[0][0]->memory.local_memory = physmem;
+}
+#endif
+
 static int
 hwloc_look_netbsd(struct hwloc_backend *backend)
 {
@@ -143,8 +158,9 @@ hwloc_look_netbsd(struct hwloc_backend *backend)
   }
 
   /* Add NetBSD specific information */
-
-
+#if (defined HAVE_SYSCTL) && (defined HAVE_SYS_SYSCTL_H)
+  hwloc_netbsd_node_meminfo_info(topology);
+#endif
   hwloc_obj_add_info(topology->levels[0][0], "Backend", "NetBSD");
   if (topology->is_thissystem)
     hwloc_add_uname_info(topology, NULL);
@@ -191,6 +207,7 @@ static struct hwloc_disc_component hwloc_netbsd_disc_component = {
 
 const struct hwloc_component hwloc_netbsd_component = {
   HWLOC_COMPONENT_ABI,
+  NULL, NULL,
   HWLOC_COMPONENT_TYPE_DISC,
   0,
   &hwloc_netbsd_disc_component
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-noos.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-noos.c
index e944afd..a926428 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-noos.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-noos.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2012 Inria.  All rights reserved.
- * Copyright © 2009-2012 Université Bordeaux 1
+ * Copyright © 2009-2014 Inria.  All rights reserved.
+ * Copyright © 2009-2012 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -51,6 +51,7 @@ static struct hwloc_disc_component hwloc_noos_disc_component = {
 
 const struct hwloc_component hwloc_noos_component = {
   HWLOC_COMPONENT_ABI,
+  NULL, NULL,
   HWLOC_COMPONENT_TYPE_DISC,
   0,
   &hwloc_noos_disc_component
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-nvml.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-nvml.c
index de63266..9c36d0a 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-nvml.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-nvml.c
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2012 Inria.  All rights reserved.
+ * Copyright © 2012-2014 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -185,9 +185,6 @@ hwloc_nvml_component_instantiate(struct hwloc_disc_component *component,
   struct hwloc_backend *backend;
   struct hwloc_nvml_backend_data_s *data;
 
-  if (hwloc_plugin_check_namespace(component->name, "hwloc_backend_alloc") < 0)
-    return NULL;
-
   /* thissystem may not be fully initialized yet, we'll check flags in discover() */
 
   backend = hwloc_backend_alloc(component);
@@ -219,14 +216,24 @@ static struct hwloc_disc_component hwloc_nvml_disc_component = {
   NULL
 };
 
+static int
+hwloc_nvml_component_init(unsigned long flags)
+{
+  if (flags)
+    return -1;
+  if (hwloc_plugin_check_namespace("nvml", "hwloc_backend_alloc") < 0)
+    return -1;
+  return 0;
+}
+
 #ifdef HWLOC_INSIDE_PLUGIN
 HWLOC_DECLSPEC extern const struct hwloc_component hwloc_nvml_component;
 #endif
 
 const struct hwloc_component hwloc_nvml_component = {
   HWLOC_COMPONENT_ABI,
+  hwloc_nvml_component_init, NULL,
   HWLOC_COMPONENT_TYPE_DISC,
   0,
   &hwloc_nvml_disc_component
 };
-
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-opencl.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-opencl.c
index 3a8802f..85057c7 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-opencl.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-opencl.c
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2012-2014 Inria.  All rights reserved.
- * Copyright © 2013 Université Bordeaux 1.  All right reserved.
+ * Copyright © 2013 Université Bordeaux.  All right reserved.
  * See COPYING in top-level directory.
  */
 
@@ -292,9 +292,6 @@ hwloc_opencl_component_instantiate(struct hwloc_disc_component *component,
   struct hwloc_backend *backend;
   struct hwloc_opencl_backend_data_s *data;
 
-  if (hwloc_plugin_check_namespace(component->name, "hwloc_backend_alloc") < 0)
-    return NULL;
-
   /* thissystem may not be fully initialized yet, we'll check flags in discover() */
 
   backend = hwloc_backend_alloc(component);
@@ -326,12 +323,23 @@ static struct hwloc_disc_component hwloc_opencl_disc_component = {
   NULL
 };
 
+static int
+hwloc_opencl_component_init(unsigned long flags)
+{
+  if (flags)
+    return -1;
+  if (hwloc_plugin_check_namespace("opencl", "hwloc_backend_alloc") < 0)
+    return -1;
+  return 0;
+}
+
 #ifdef HWLOC_INSIDE_PLUGIN
 HWLOC_DECLSPEC extern const struct hwloc_component hwloc_opencl_component;
 #endif
 
 const struct hwloc_component hwloc_opencl_component = {
   HWLOC_COMPONENT_ABI,
+  hwloc_opencl_component_init, NULL,
   HWLOC_COMPONENT_TYPE_DISC,
   0,
   &hwloc_opencl_disc_component
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-osf.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-osf.c
index c7ed7b2..5715888 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-osf.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-osf.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2012 Inria.  All rights reserved.
- * Copyright © 2009-2011 Université Bordeaux 1
+ * Copyright © 2009-2014 Inria.  All rights reserved.
+ * Copyright © 2009-2011 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -282,7 +282,9 @@ hwloc_look_osf(struct hwloc_backend *backend)
       }
 
       indexes[radid] = radid;
-      nodes[radid] = obj = hwloc_alloc_setup_object(HWLOC_OBJ_NODE, radid);
+      nodes[radid] = obj = hwloc_alloc_setup_object(HWLOC_OBJ_NUMANODE, radid);
+      obj->nodeset = hwloc_bitmap_alloc();
+      hwloc_bitmap_set(obj->nodeset, radid);
       obj->cpuset = hwloc_bitmap_alloc();
       obj->memory.local_memory = rad_get_physmem(radid) * hwloc_getpagesize();
       obj->memory.page_types_len = 2;
@@ -325,7 +327,7 @@ hwloc_look_osf(struct hwloc_backend *backend)
       }
     }
 
-    hwloc_distances_set(topology, HWLOC_OBJ_NODE, nbnodes, indexes, nodes, distances, 0 /* OS cannot force */);
+    hwloc_distances_set(topology, HWLOC_OBJ_NUMANODE, nbnodes, indexes, nodes, distances, 0 /* OS cannot force */);
   }
   radsetdestroy(&radset2);
   radsetdestroy(&radset);
@@ -383,6 +385,7 @@ static struct hwloc_disc_component hwloc_osf_disc_component = {
 
 const struct hwloc_component hwloc_osf_component = {
   HWLOC_COMPONENT_ABI,
+  NULL, NULL,
   HWLOC_COMPONENT_TYPE_DISC,
   0,
   &hwloc_osf_disc_component
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-pci.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-pci.c
index eaf6da2..3a3ad6b 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-pci.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-pci.c
@@ -1,7 +1,8 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2013 Inria.  All rights reserved.
- * Copyright © 2009-2011, 2013 Université Bordeaux 1
+ * Copyright © 2009-2014 Inria.  All rights reserved.
+ * Copyright © 2009-2011, 2013 Université Bordeaux
+ * Copyright © 2014 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -20,18 +21,11 @@
 #include <assert.h>
 #include <stdarg.h>
 #include <setjmp.h>
-
-#if (defined HWLOC_HAVE_LIBPCIACCESS) && (defined HWLOC_HAVE_PCIUTILS)
-#error Cannot have both LIBPCIACCESS and PCIUTILS enabled simultaneously
-#elif (!defined HWLOC_HAVE_LIBPCIACCESS) && (!defined HWLOC_HAVE_PCIUTILS)
-#error Cannot have neither LIBPCIACCESS nor PCIUTILS enabled simultaneously
+#ifdef HWLOC_LINUX_SYS
+#include <dirent.h>
 #endif
 
-#ifdef HWLOC_HAVE_LIBPCIACCESS
 #include <pciaccess.h>
-#else /* HWLOC_HAVE_PCIUTILS */
-#include <pci/pci.h>
-#endif
 
 #ifndef PCI_HEADER_TYPE
 #define PCI_HEADER_TYPE 0x0e
@@ -79,39 +73,16 @@
 #define CONFIG_SPACE_CACHESIZE 256
 
 
-#ifdef HWLOC_HAVE_PCIUTILS
-/* Avoid letting libpci call exit(1) when no PCI bus is available. */
-static jmp_buf err_buf;
-static void
-hwloc_pci_error(char *msg, ...)
-{
-  va_list args;
-
-  va_start(args, msg);
-  fprintf(stderr, "pcilib: ");
-  vfprintf(stderr, msg, args);
-  fprintf(stderr, "\n");
-  longjmp(err_buf, 1);
-}
-
-static void
-hwloc_pci_warning(char *msg __hwloc_attribute_unused, ...)
-{
-}
-#endif
-
 static int
 hwloc_look_pci(struct hwloc_backend *backend)
 {
   struct hwloc_topology *topology = backend->topology;
   struct hwloc_obj *first_obj = NULL, *last_obj = NULL;
-#ifdef HWLOC_HAVE_LIBPCIACCESS
   int ret;
   struct pci_device_iterator *iter;
   struct pci_device *pcidev;
-#else /* HWLOC_HAVE_PCIUTILS */
-  struct pci_access *pciaccess;
-  struct pci_dev *pcidev;
+#ifdef HWLOC_LINUX_SYS
+  DIR *dir;
 #endif
 
   if (!(hwloc_topology_get_flags(topology) & (HWLOC_TOPOLOGY_FLAG_IO_DEVICES|HWLOC_TOPOLOGY_FLAG_WHOLE_IO)))
@@ -130,7 +101,6 @@ hwloc_look_pci(struct hwloc_backend *backend)
   hwloc_debug("%s", "\nScanning PCI buses...\n");
 
   /* initialize PCI scanning */
-#ifdef HWLOC_HAVE_LIBPCIACCESS
   ret = pci_system_init();
   if (ret) {
     hwloc_debug("%s", "Can not initialize libpciaccess\n");
@@ -138,30 +108,11 @@ hwloc_look_pci(struct hwloc_backend *backend)
   }
 
   iter = pci_slot_match_iterator_create(NULL);
-#else /* HWLOC_HAVE_PCIUTILS */
-  pciaccess = pci_alloc();
-  pciaccess->error = hwloc_pci_error;
-  pciaccess->warning = hwloc_pci_warning;
-
-  if (setjmp(err_buf)) {
-    pci_cleanup(pciaccess);
-    return -1;
-  }
-
-  pci_init(pciaccess);
-  pci_scan_bus(pciaccess);
-#endif
 
   /* iterate over devices */
-#ifdef HWLOC_HAVE_LIBPCIACCESS
   for (pcidev = pci_device_next(iter);
        pcidev;
        pcidev = pci_device_next(iter))
-#else /* HWLOC_HAVE_PCIUTILS */
-  for (pcidev = pciaccess->devices;
-       pcidev;
-       pcidev = pcidev->next)
-#endif
   {
     const char *vendorname, *devicename, *fullname;
     unsigned char config_space_cache[CONFIG_SPACE_CACHESIZE];
@@ -172,58 +123,19 @@ hwloc_look_pci(struct hwloc_backend *backend)
     unsigned short tmp16;
     char name[128];
     unsigned offset;
-#ifdef HWLOC_HAVE_PCI_FIND_CAP
-    struct pci_cap *cap;
-#endif
 
     /* initialize the config space in case we fail to read it (missing permissions, etc). */
     memset(config_space_cache, 0xff, CONFIG_SPACE_CACHESIZE);
-#ifdef HWLOC_HAVE_LIBPCIACCESS
     pci_device_probe(pcidev);
     pci_device_cfg_read(pcidev, config_space_cache, 0, CONFIG_SPACE_CACHESIZE, NULL);
-#else /* HWLOC_HAVE_PCIUTILS */
-    pci_read_block(pcidev, 0, config_space_cache, CONFIG_SPACE_CACHESIZE); /* doesn't even tell how much it actually reads */
-#endif
 
     /* try to read the domain */
-#if (defined HWLOC_HAVE_LIBPCIACCESS) || (defined HWLOC_HAVE_PCIDEV_DOMAIN)
     domain = pcidev->domain;
-#else
-    domain = 0; /* default domain number */
-#endif
 
     /* try to read the device_class */
-#ifdef HWLOC_HAVE_LIBPCIACCESS
     device_class = pcidev->device_class >> 8;
-#else /* HWLOC_HAVE_PCIUTILS */
-#ifdef HWLOC_HAVE_PCIDEV_DEVICE_CLASS
-    device_class = pcidev->device_class;
-#else
-    device_class = config_space_cache[PCI_CLASS_DEVICE] | (config_space_cache[PCI_CLASS_DEVICE+1] << 8);
-#endif
-#endif
-
-    /* might be useful for debugging (note that domain might be truncated) */
-    os_index = (domain << 20) + (pcidev->bus << 12) + (pcidev->dev << 4) + pcidev->func;
-
-    obj = hwloc_alloc_setup_object(HWLOC_OBJ_PCI_DEVICE, os_index);
-    obj->attr->pcidev.domain = domain;
-    obj->attr->pcidev.bus = pcidev->bus;
-    obj->attr->pcidev.dev = pcidev->dev;
-    obj->attr->pcidev.func = pcidev->func;
-    obj->attr->pcidev.vendor_id = pcidev->vendor_id;
-    obj->attr->pcidev.device_id = pcidev->device_id;
-    obj->attr->pcidev.class_id = device_class;
-    obj->attr->pcidev.revision = config_space_cache[PCI_REVISION_ID];
-
-    obj->attr->pcidev.linkspeed = 0; /* unknown */
-#ifdef HWLOC_HAVE_PCI_FIND_CAP
-    cap = pci_find_cap(pcidev, PCI_CAP_ID_EXP, PCI_CAP_NORMAL);
-    offset = cap ? cap->addr : 0;
-#else
-    offset = hwloc_pci_find_cap(config_space_cache, PCI_CAP_ID_EXP);
-#endif /* HWLOC_HAVE_PCI_FIND_CAP */
 
+    /* fixup SR-IOV buggy VF device/vendor IDs */
     if (0xffff == pcidev->vendor_id && 0xffff == pcidev->device_id) {
       /* SR-IOV puts ffff:ffff in Virtual Function config space.
        * The actual VF device ID is stored at a special (dynamic) location in the Physical Function config space.
@@ -231,7 +143,7 @@ hwloc_look_pci(struct hwloc_backend *backend)
        *
        * libpciaccess just returns ffff:ffff, needs to be fixed.
        * linuxpci is OK because sysfs files are already fixed the kernel.
-       * pciutils is OK when it uses those Linux sysfs files.
+       * (pciutils is OK when it uses those Linux sysfs files.)
        *
        * Reading these files is an easy way to work around the libpciaccess issue on Linux,
        * but we have no way to know if this is caused by SR-IOV or not.
@@ -258,7 +170,8 @@ hwloc_look_pci(struct hwloc_backend *backend)
 	read = fread(value, 1, sizeof(value), file);
 	fclose(file);
 	if (read)
-	  obj->attr->pcidev.vendor_id = strtoul(value, NULL, 16);
+	  /* fixup the pciaccess struct so that pci_device_get_vendor_name() is correct later. */
+          pcidev->vendor_id = strtoul(value, NULL, 16);
       }
 
       snprintf(path, sizeof(path), "/sys/bus/pci/devices/%04x:%02x:%02x.%01x/device",
@@ -268,11 +181,28 @@ hwloc_look_pci(struct hwloc_backend *backend)
 	read = fread(value, 1, sizeof(value), file);
 	fclose(file);
 	if (read)
-	  obj->attr->pcidev.device_id = strtoul(value, NULL, 16);
+	  /* fixup the pciaccess struct so that pci_device_get_device_name() is correct later. */
+          pcidev->device_id = strtoul(value, NULL, 16);
       }
 #endif
     }
 
+    /* might be useful for debugging (note that domain might be truncated) */
+    os_index = (domain << 20) + (pcidev->bus << 12) + (pcidev->dev << 4) + pcidev->func;
+
+    obj = hwloc_alloc_setup_object(HWLOC_OBJ_PCI_DEVICE, os_index);
+    obj->attr->pcidev.domain = domain;
+    obj->attr->pcidev.bus = pcidev->bus;
+    obj->attr->pcidev.dev = pcidev->dev;
+    obj->attr->pcidev.func = pcidev->func;
+    obj->attr->pcidev.vendor_id = pcidev->vendor_id;
+    obj->attr->pcidev.device_id = pcidev->device_id;
+    obj->attr->pcidev.class_id = device_class;
+    obj->attr->pcidev.revision = config_space_cache[PCI_REVISION_ID];
+
+    obj->attr->pcidev.linkspeed = 0; /* unknown */
+    offset = hwloc_pci_find_cap(config_space_cache, PCI_CAP_ID_EXP);
+
     if (offset > 0 && offset + 20 /* size of PCI express block up to link status */ <= CONFIG_SPACE_CACHESIZE)
       hwloc_pci_find_linkspeed(config_space_cache, offset, &obj->attr->pcidev.linkspeed);
 
@@ -290,46 +220,17 @@ hwloc_look_pci(struct hwloc_backend *backend)
        */
     }
 
-    /* starting from pciutils 2.2, pci_lookup_name() takes a variable number
-     * of arguments, and supports the PCI_LOOKUP_NO_NUMBERS flag.
-     */
-
     /* get the vendor name */
-#ifdef HWLOC_HAVE_LIBPCIACCESS
     vendorname = pci_device_get_vendor_name(pcidev);
-#else /* HWLOC_HAVE_PCIUTILS */
-    vendorname = pci_lookup_name(pciaccess, name, sizeof(name),
-#if HAVE_DECL_PCI_LOOKUP_NO_NUMBERS
-			      PCI_LOOKUP_VENDOR|PCI_LOOKUP_NO_NUMBERS,
-			      pcidev->vendor_id
-#else
-			      PCI_LOOKUP_VENDOR,
-			      pcidev->vendor_id, 0, 0, 0
-#endif
-			      );
-#endif /* HWLOC_HAVE_PCIUTILS */
     if (vendorname && *vendorname)
       hwloc_obj_add_info(obj, "PCIVendor", vendorname);
 
     /* get the device name */
-#ifdef HWLOC_HAVE_LIBPCIACCESS
     devicename = pci_device_get_device_name(pcidev);
-#else /* HWLOC_HAVE_PCIUTILS */
-    devicename = pci_lookup_name(pciaccess, name, sizeof(name),
-#if HAVE_DECL_PCI_LOOKUP_NO_NUMBERS
-			      PCI_LOOKUP_DEVICE|PCI_LOOKUP_NO_NUMBERS,
-			      pcidev->vendor_id, pcidev->device_id
-#else
-			      PCI_LOOKUP_DEVICE,
-			      pcidev->vendor_id, pcidev->device_id, 0, 0
-#endif
-			      );
-#endif /* HWLOC_HAVE_PCIUTILS */
     if (devicename && *devicename)
       hwloc_obj_add_info(obj, "PCIDevice", devicename);
 
     /* generate or get the fullname */
-#ifdef HWLOC_HAVE_LIBPCIACCESS
     snprintf(name, sizeof(name), "%s%s%s",
 	     vendorname ? vendorname : "",
 	     vendorname && devicename ? " " : "",
@@ -337,19 +238,6 @@ hwloc_look_pci(struct hwloc_backend *backend)
     fullname = name;
     if (*name)
       obj->name = strdup(name);
-#else /* HWLOC_HAVE_PCIUTILS */
-    fullname = pci_lookup_name(pciaccess, name, sizeof(name),
-#if HAVE_DECL_PCI_LOOKUP_NO_NUMBERS
-			      PCI_LOOKUP_VENDOR|PCI_LOOKUP_DEVICE|PCI_LOOKUP_NO_NUMBERS,
-			      pcidev->vendor_id, pcidev->device_id
-#else
-			      PCI_LOOKUP_VENDOR|PCI_LOOKUP_DEVICE,
-			      pcidev->vendor_id, pcidev->device_id, 0, 0
-#endif
-			      );
-    if (fullname && *fullname)
-      obj->name = strdup(fullname);
-#endif /* HWLOC_HAVE_PCIUTILS */
     hwloc_debug("  %04x:%02x:%02x.%01x %04x %04x:%04x %s\n",
 		domain, pcidev->bus, pcidev->dev, pcidev->func,
 		device_class, pcidev->vendor_id, pcidev->device_id,
@@ -364,11 +252,40 @@ hwloc_look_pci(struct hwloc_backend *backend)
   }
 
   /* finalize device scanning */
-#ifdef HWLOC_HAVE_LIBPCIACCESS
   pci_iterator_destroy(iter);
   pci_system_cleanup();
-#else /* HWLOC_HAVE_PCIUTILS */
-  pci_cleanup(pciaccess);
+
+#ifdef HWLOC_LINUX_SYS
+  dir = opendir("/sys/bus/pci/slots/");
+  if (dir) {
+    struct dirent *dirent;
+    while ((dirent = readdir(dir)) != NULL) {
+      char path[64];
+      FILE *file;
+      if (dirent->d_name[0] == '.')
+	continue;
+      snprintf(path, sizeof(path), "/sys/bus/pci/slots/%s/address", dirent->d_name);
+      file = fopen(path, "r");
+      if (file) {
+	unsigned domain, bus, dev;
+	if (fscanf(file, "%x:%x:%x", &domain, &bus, &dev) == 3) {
+	  hwloc_obj_t obj = first_obj;
+	  while (obj) {
+	    if (obj->attr->pcidev.domain == domain
+		&& obj->attr->pcidev.bus == bus
+		&& obj->attr->pcidev.dev == dev
+		&& obj->attr->pcidev.func == 0) {
+	      hwloc_obj_add_info(obj, "PCISlot", dirent->d_name);
+	      break;
+	    }
+	    obj = obj->next_sibling;
+	  }
+	}
+	fclose(file);
+      }
+    }
+    closedir(dir);
+  }
 #endif
 
   return hwloc_insert_pci_device_list(backend, first_obj);
@@ -382,9 +299,6 @@ hwloc_pci_component_instantiate(struct hwloc_disc_component *component,
 {
   struct hwloc_backend *backend;
 
-  if (hwloc_plugin_check_namespace(component->name, "hwloc_backend_alloc") < 0)
-    return NULL;
-
   /* thissystem may not be fully initialized yet, we'll check flags in discover() */
 
   backend = hwloc_backend_alloc(component);
@@ -404,12 +318,23 @@ static struct hwloc_disc_component hwloc_pci_disc_component = {
   NULL
 };
 
+static int
+hwloc_pci_component_init(unsigned long flags)
+{
+  if (flags)
+    return -1;
+  if (hwloc_plugin_check_namespace("pci", "hwloc_backend_alloc") < 0)
+    return -1;
+  return 0;
+}
+
 #ifdef HWLOC_INSIDE_PLUGIN
 HWLOC_DECLSPEC extern const struct hwloc_component hwloc_pci_component;
 #endif
 
 const struct hwloc_component hwloc_pci_component = {
   HWLOC_COMPONENT_ABI,
+  hwloc_pci_component_init, NULL,
   HWLOC_COMPONENT_TYPE_DISC,
   0,
   &hwloc_pci_disc_component
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-solaris-chiptype.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-solaris-chiptype.c
index 11bbf5e..2127e12 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-solaris-chiptype.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-solaris-chiptype.c
@@ -1,18 +1,17 @@
 /*
- * Copyright (c) 2009-2010 Oracle and/or its affiliates.  All rights reserved. 
- * Copyright (c) 2013 Université Bordeaux 1.  All rights reserved.
+ * Copyright © 2009-2010 Oracle and/or its affiliates.  All rights reserved.
+ * Copyright © 2013 Université Bordeaux.  All rights reserved.
  *
  * $COPYRIGHT$
- * 
+ *
  * Additional copyrights may follow
- * 
+ *
  * $HEADER$
  */
 
 #include <private/autogen/config.h>
-#include <hwloc/autogen/config.h>
-#include <private/solaris-chiptype.h>
 #include <hwloc.h>
+#include <private/solaris-chiptype.h>
 #include <stdlib.h>
 #include <strings.h>
 
@@ -262,9 +261,9 @@ static int probe_cpu(picl_nodehdl_t node_hdl, void* dummy_arg __hwloc_attribute_
 	  if (p_info.type == PICL_PTYPE_CHARSTRING) {
             val = picl_get_propval(p_hdl, &string_val, sizeof(string_val));
             if (val == PICL_SUCCESS) {
-            }	  
+            }
 	  }
-	} 
+	}
       }
     }
 
@@ -317,10 +316,10 @@ Initializes, gets the root, then walks the picl tree looking for information
 Currently, the "core" class is only needed for OPL systems
 *****************************************************************************/
 char *hwloc_solaris_get_chip_model(void) {
-    
+
     if (called_cpu_probe) {
 	if (dss_chip_mode != MODE_UNKNOWN) { /* SPARC chip */
-	    strncpy(dss_chip_model, sparc_modes[dss_chip_mode], 
+	    strncpy(dss_chip_model, sparc_modes[dss_chip_mode],
 		    PICL_PROPNAMELEN_MAX);
 	}
     } else {
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-solaris.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-solaris.c
index 6753a27..cd0e5aa 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-solaris.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-solaris.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2012 Inria.  All rights reserved.
- * Copyright © 2009-2011 Université Bordeaux 1
+ * Copyright © 2009-2014 Inria.  All rights reserved.
+ * Copyright © 2009-2011 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * Copyright © 2011      Oracle and/or its affiliates.  All rights reserved.
  * See COPYING in top-level directory.
@@ -49,7 +49,7 @@ hwloc_solaris_set_sth_cpubind(hwloc_topology_t topology, idtype_t idtype, id_t i
       return -1;
 #ifdef HAVE_LIBLGRP
     if (!(flags & HWLOC_CPUBIND_NOMEMBIND)) {
-      int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NODE);
+      int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
       if (depth >= 0) {
 	int n = hwloc_get_nbobjs_by_depth(topology, depth);
 	int i;
@@ -66,7 +66,7 @@ hwloc_solaris_set_sth_cpubind(hwloc_topology_t topology, idtype_t idtype, id_t i
 
 #ifdef HAVE_LIBLGRP
   if (!(flags & HWLOC_CPUBIND_NOMEMBIND)) {
-    int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NODE);
+    int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
     if (depth >= 0) {
       int n = hwloc_get_nbobjs_by_depth(topology, depth);
       int i;
@@ -141,7 +141,7 @@ static int
 hwloc_solaris_get_sth_cpubind(hwloc_topology_t topology, idtype_t idtype, id_t id, hwloc_bitmap_t hwloc_set, int flags __hwloc_attribute_unused)
 {
   processorid_t binding;
-  int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NODE);
+  int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
   int n;
   int i;
 
@@ -214,7 +214,7 @@ hwloc_solaris_set_sth_membind(hwloc_topology_t topology, idtype_t idtype, id_t i
     return -1;
   }
 
-  depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NODE);
+  depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
   if (depth < 0) {
     errno = EXDEV;
     return -1;
@@ -257,7 +257,7 @@ hwloc_solaris_set_thisthread_membind(hwloc_topology_t topology, hwloc_const_node
 static int
 hwloc_solaris_get_sth_membind(hwloc_topology_t topology, idtype_t idtype, id_t id, hwloc_nodeset_t nodeset, hwloc_membind_policy_t *policy, int flags __hwloc_attribute_unused)
 {
-  int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NODE);
+  int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
   int n;
   int i;
 
@@ -304,7 +304,7 @@ hwloc_solaris_get_thisthread_membind(hwloc_topology_t topology, hwloc_nodeset_t
 #endif /* HAVE_LIBLGRP */
 
 
-#ifdef MADV_ACCESS_LWP 
+#ifdef MADV_ACCESS_LWP
 static int
 hwloc_solaris_set_area_membind(hwloc_topology_t topology, const void *addr, size_t len, hwloc_const_nodeset_t nodeset, hwloc_membind_policy_t policy, int flags __hwloc_attribute_unused)
 {
@@ -361,7 +361,7 @@ browse(struct hwloc_topology *topology, lgrp_cookie_t cookie, lgrp_id_t lgrp, hw
     cpuids = malloc(sizeof(processorid_t) * n);
     assert(cpuids != NULL);
 
-    obj = hwloc_alloc_setup_object(HWLOC_OBJ_NODE, lgrp);
+    obj = hwloc_alloc_setup_object(HWLOC_OBJ_NUMANODE, lgrp);
     obj->nodeset = hwloc_bitmap_alloc();
     hwloc_bitmap_set(obj->nodeset, lgrp);
     obj->cpuset = hwloc_bitmap_alloc();
@@ -439,7 +439,7 @@ hwloc_look_lgrp(struct hwloc_topology *topology)
 	for (j = 0; j < curlgrp; j++)
           distances[i*curlgrp+j] = (float) lgrp_latency_cookie(cookie, glob_lgrps[i]->os_index, glob_lgrps[j]->os_index, LGRP_LAT_CPU_TO_MEM);
       }
-      hwloc_distances_set(topology, HWLOC_OBJ_NODE, curlgrp, indexes, glob_lgrps, distances, 0 /* OS cannot force */);
+      hwloc_distances_set(topology, HWLOC_OBJ_NUMANODE, curlgrp, indexes, glob_lgrps, distances, 0 /* OS cannot force */);
     }
 #endif /* HAVE_LGRP_LATENCY_COOKIE */
   }
@@ -452,7 +452,7 @@ hwloc_look_lgrp(struct hwloc_topology *topology)
 static int
 hwloc_look_kstat(struct hwloc_topology *topology)
 {
-  /* FIXME this assumes that all sockets are identical */
+  /* FIXME this assumes that all packages are identical */
   char *CPUType = hwloc_solaris_get_chip_type();
   char *CPUModel = hwloc_solaris_get_chip_model();
 
@@ -464,7 +464,7 @@ hwloc_look_kstat(struct hwloc_topology *topology)
   unsigned Pproc_max = 0;
   unsigned Pproc_alloc = 256;
   struct hwloc_solaris_Pproc {
-    unsigned Lsock, Psock, Lcore, Lproc;
+    unsigned Lpkg, Ppkg, Lcore, Lproc;
   } * Pproc = malloc(Pproc_alloc * sizeof(*Pproc));
 
   unsigned Lproc_num = 0;
@@ -476,22 +476,22 @@ hwloc_look_kstat(struct hwloc_topology *topology)
   unsigned Lcore_num = 0;
   unsigned Lcore_alloc = 256;
   struct hwloc_solaris_Lcore {
-    unsigned Pcore, Psock;
+    unsigned Pcore, Ppkg;
   } * Lcore = malloc(Lcore_alloc * sizeof(*Lcore));
 
-  unsigned Lsock_num = 0;
-  unsigned Lsock_alloc = 256;
-  struct hwloc_solaris_Lsock {
-    unsigned Psock;
-  } * Lsock = malloc(Lsock_alloc * sizeof(*Lsock));
+  unsigned Lpkg_num = 0;
+  unsigned Lpkg_alloc = 256;
+  struct hwloc_solaris_Lpkg {
+    unsigned Ppkg;
+  } * Lpkg = malloc(Lpkg_alloc * sizeof(*Lpkg));
 
-  unsigned sockid, coreid, cpuid;
+  unsigned pkgid, coreid, cpuid;
   unsigned i;
 
   for (i = 0; i < Pproc_alloc; i++) {
     Pproc[i].Lproc = -1;
-    Pproc[i].Lsock = -1;
-    Pproc[i].Psock = -1;
+    Pproc[i].Lpkg = -1;
+    Pproc[i].Ppkg = -1;
     Pproc[i].Lcore = -1;
   }
 
@@ -500,7 +500,7 @@ hwloc_look_kstat(struct hwloc_topology *topology)
     free(Pproc);
     free(Lproc);
     free(Lcore);
-    free(Lsock);
+    free(Lpkg);
     return 0;
   }
 
@@ -524,8 +524,8 @@ hwloc_look_kstat(struct hwloc_topology *topology)
 	Pproc = realloc(Pproc, Pproc_alloc * sizeof(*Pproc));
 	for(i = Pproc_alloc/2; i < Pproc_alloc; i++) {
 	  Pproc[i].Lproc = -1;
-	  Pproc[i].Lsock = -1;
-	  Pproc[i].Psock = -1;
+	  Pproc[i].Lpkg = -1;
+	  Pproc[i].Ppkg = -1;
 	  Pproc[i].Lcore = -1;
 	}
       }
@@ -559,26 +559,26 @@ hwloc_look_kstat(struct hwloc_topology *topology)
 	stat = (kstat_named_t *) kstat_data_lookup(ksp, "chip_id");
 	if (!stat)
 	  {
-	    if (Lsock_num)
-	      fprintf(stderr, "could not read socket id for CPU%u: %s\n", cpuid, strerror(errno));
+	    if (Lpkg_num)
+	      fprintf(stderr, "could not read package id for CPU%u: %s\n", cpuid, strerror(errno));
 	    else
-	      hwloc_debug("could not read socket id for CPU%u: %s\n", cpuid, strerror(errno));
+	      hwloc_debug("could not read package id for CPU%u: %s\n", cpuid, strerror(errno));
 	    look_chips = 0;
 	    continue;
 	  }
 	switch (stat->data_type) {
 	  case KSTAT_DATA_INT32:
-	    sockid = stat->value.i32;
+	    pkgid = stat->value.i32;
 	    break;
 	  case KSTAT_DATA_UINT32:
-	    sockid = stat->value.ui32;
+	    pkgid = stat->value.ui32;
 	    break;
 #ifdef _INT64_TYPE
 	  case KSTAT_DATA_UINT64:
-	    sockid = stat->value.ui64;
+	    pkgid = stat->value.ui64;
 	    break;
 	  case KSTAT_DATA_INT64:
-	    sockid = stat->value.i64;
+	    pkgid = stat->value.i64;
 	    break;
 #endif
 	  default:
@@ -586,18 +586,18 @@ hwloc_look_kstat(struct hwloc_topology *topology)
 	    look_chips = 0;
 	    continue;
 	}
-	Pproc[cpuid].Psock = sockid;
-	for (i = 0; i < Lsock_num; i++)
-	  if (sockid == Lsock[i].Psock)
+	Pproc[cpuid].Ppkg = pkgid;
+	for (i = 0; i < Lpkg_num; i++)
+	  if (pkgid == Lpkg[i].Ppkg)
 	    break;
-	Pproc[cpuid].Lsock = i;
-	hwloc_debug("%u on socket %u (%u)\n", cpuid, i, sockid);
-	if (i == Lsock_num) {
-	  if (Lsock_num == Lsock_alloc) {
-	    Lsock_alloc *= 2;
-	    Lsock = realloc(Lsock, Lsock_alloc * sizeof(*Lsock));
+	Pproc[cpuid].Lpkg = i;
+	hwloc_debug("%u on package %u (%u)\n", cpuid, i, pkgid);
+	if (i == Lpkg_num) {
+	  if (Lpkg_num == Lpkg_alloc) {
+	    Lpkg_alloc *= 2;
+	    Lpkg = realloc(Lpkg, Lpkg_alloc * sizeof(*Lpkg));
 	  }
-	  Lsock[Lsock_num++].Psock = sockid;
+	  Lpkg[Lpkg_num++].Ppkg = pkgid;
 	}
       } while(0);
 
@@ -634,7 +634,7 @@ hwloc_look_kstat(struct hwloc_topology *topology)
 	    continue;
 	}
 	for (i = 0; i < Lcore_num; i++)
-	  if (coreid == Lcore[i].Pcore && Pproc[cpuid].Psock == Lcore[i].Psock)
+	  if (coreid == Lcore[i].Pcore && Pproc[cpuid].Ppkg == Lcore[i].Ppkg)
 	    break;
 	Pproc[cpuid].Lcore = i;
 	hwloc_debug("%u on core %u (%u)\n", cpuid, i, coreid);
@@ -643,7 +643,7 @@ hwloc_look_kstat(struct hwloc_topology *topology)
 	    Lcore_alloc *= 2;
 	    Lcore = realloc(Lcore, Lcore_alloc * sizeof(*Lcore));
 	  }
-	  Lcore[Lcore_num].Psock = Pproc[cpuid].Psock;
+	  Lcore[Lcore_num].Ppkg = Pproc[cpuid].Ppkg;
 	  Lcore[Lcore_num++].Pcore = coreid;
 	}
       } while(0);
@@ -656,18 +656,18 @@ hwloc_look_kstat(struct hwloc_topology *topology)
   if (look_chips) {
     struct hwloc_obj *obj;
     unsigned j,k;
-    hwloc_debug("%d Sockets\n", Lsock_num);
-    for (j = 0; j < Lsock_num; j++) {
-      obj = hwloc_alloc_setup_object(HWLOC_OBJ_SOCKET, Lsock[j].Psock);
+    hwloc_debug("%d Packages\n", Lpkg_num);
+    for (j = 0; j < Lpkg_num; j++) {
+      obj = hwloc_alloc_setup_object(HWLOC_OBJ_PACKAGE, Lpkg[j].Ppkg);
       if (CPUType)
 	hwloc_obj_add_info(obj, "CPUType", CPUType);
       if (CPUModel)
 	hwloc_obj_add_info(obj, "CPUModel", CPUModel);
       obj->cpuset = hwloc_bitmap_alloc();
       for(k=0; k<Pproc_max; k++)
-	if (Pproc[k].Lsock == j)
+	if (Pproc[k].Lpkg == j)
 	  hwloc_bitmap_set(obj->cpuset, k);
-      hwloc_debug_1arg_bitmap("Socket %d has cpuset %s\n", j, obj->cpuset);
+      hwloc_debug_1arg_bitmap("Package %d has cpuset %s\n", j, obj->cpuset);
       hwloc_insert_object_by_cpuset(topology, obj);
     }
     hwloc_debug("%s", "\n");
@@ -709,7 +709,7 @@ hwloc_look_kstat(struct hwloc_topology *topology)
   free(Pproc);
   free(Lproc);
   free(Lcore);
-  free(Lsock);
+  free(Lpkg);
 
   return Lproc_num > 0;
 }
@@ -763,7 +763,7 @@ hwloc_set_solaris_hooks(struct hwloc_binding_hooks *hooks,
   hooks->get_thisproc_membind = hwloc_solaris_get_thisproc_membind;
   hooks->get_thisthread_membind = hwloc_solaris_get_thisthread_membind;
 #endif /* HAVE_LIBLGRP */
-#ifdef MADV_ACCESS_LWP 
+#ifdef MADV_ACCESS_LWP
   hooks->set_area_membind = hwloc_solaris_set_area_membind;
   support->membind->firsttouch_membind = 1;
   support->membind->bind_membind = 1;
@@ -797,6 +797,7 @@ static struct hwloc_disc_component hwloc_solaris_disc_component = {
 
 const struct hwloc_component hwloc_solaris_component = {
   HWLOC_COMPONENT_ABI,
+  NULL, NULL,
   HWLOC_COMPONENT_TYPE_DISC,
   0,
   &hwloc_solaris_disc_component
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-synthetic.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-synthetic.c
index c374a3d..db7087b 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-synthetic.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-synthetic.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2010 Université Bordeaux 1
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2010 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -20,9 +20,17 @@
 
 struct hwloc_synthetic_level_data_s {
   unsigned arity;
+  unsigned long totalwidth;
   hwloc_obj_type_t type;
   unsigned depth; /* For caches/groups */
   hwloc_obj_cache_type_t cachetype; /* For caches */
+  hwloc_uint64_t memorysize; /* For caches/memory */
+
+  /* the indexes= attribute before parsing */
+  const char *index_string;
+  unsigned long index_string_length;
+  /* the array of explicit indexes after parsing */
+  unsigned *index_array;
 
   /* used while filling the topology */
   unsigned next_os_index; /* id of the next object for that level */
@@ -35,6 +43,336 @@ struct hwloc_synthetic_backend_data_s {
   struct hwloc_synthetic_level_data_s level[HWLOC_SYNTHETIC_MAX_DEPTH];
 };
 
+struct hwloc_synthetic_intlv_loop_s {
+  unsigned step;
+  unsigned nb;
+  unsigned level_depth;
+};
+
+static void
+hwloc_synthetic_process_level_indexes(struct hwloc_synthetic_backend_data_s *data,
+				      unsigned curleveldepth,
+				      int verbose)
+{
+  struct hwloc_synthetic_level_data_s *curlevel = &data->level[curleveldepth];
+  unsigned long total = curlevel->totalwidth;
+  const char *attr = curlevel->index_string;
+  unsigned long length = curlevel->index_string_length;
+  unsigned *array = NULL;
+  struct hwloc_synthetic_intlv_loop_s * loops = NULL;
+  unsigned long i;
+
+  if (!attr)
+    return;
+
+  array = calloc(total, sizeof(*array));
+  if (!array) {
+    if (verbose)
+      fprintf(stderr, "Failed to allocate synthetic index array of size %lu\n", total);
+    goto out;
+  }
+
+  i = strspn(attr, "0123456789,");
+  if (i == length) {
+    /* explicit array of indexes */
+
+    for(i=0; i<total; i++) {
+      const char *next;
+      unsigned idx = strtoul(attr, (char **) &next, 10);
+      if (next == attr) {
+	if (verbose)
+	  fprintf(stderr, "Failed to read synthetic index #%lu at '%s'\n", i, attr);
+	goto out_with_array;
+      }
+
+      array[i] = idx;
+      if (i != total-1) {
+	if (*next != ',') {
+	  if (verbose)
+	    fprintf(stderr, "Missing comma after synthetic index #%lu at '%s'\n", i, attr);
+	  goto out_with_array;
+	}
+	attr = next+1;
+      } else {
+	attr = next;
+      }
+    }
+    curlevel->index_array = array;
+
+  } else {
+    /* interleaving */
+    unsigned nr_loops = 1, cur_loop;
+    unsigned minstep = total;
+    unsigned long nbs = 1;
+    unsigned j, mul;
+    const char *tmp;
+
+    tmp = attr;
+    while (tmp) {
+      tmp = strchr(tmp, ':');
+      if (!tmp || tmp >= attr+length)
+	break;
+      nr_loops++;
+      tmp++;
+    }
+    /* nr_loops colon-separated fields, but we may need one more at the end */
+    loops = malloc((nr_loops+1)*sizeof(*loops));
+    if (!loops) {
+      if (verbose)
+	fprintf(stderr, "Failed to allocate synthetic index interleave loop array of size %u\n", nr_loops);
+      goto out_with_array;
+    }
+
+    if (*attr >= '0' && *attr <= '9') {
+      /* interleaving as x*y:z*t:... */
+      unsigned step, nb;
+
+      tmp = attr;
+      cur_loop = 0;
+      while (tmp) {
+	char *tmp2, *tmp3;
+	step = (unsigned) strtol(tmp, &tmp2, 0);
+	if (tmp2 == tmp || *tmp2 != '*') {
+	  if (verbose)
+	    fprintf(stderr, "Failed to read synthetic index interleaving loop '%s' without number before '*'\n", tmp);
+	  goto out_with_loops;
+	}
+	if (!step) {
+	  if (verbose)
+	    fprintf(stderr, "Invalid interleaving loop with step 0 at '%s'\n", tmp);
+	  goto out_with_loops;
+	}
+	tmp2++;
+	nb = (unsigned) strtol(tmp2, &tmp3, 0);
+	if (tmp3 == tmp2 || (*tmp3 && *tmp3 != ':' && *tmp3 != ')' && *tmp3 != ' ')) {
+	  if (verbose)
+	    fprintf(stderr, "Failed to read synthetic index interleaving loop '%s' without number between '*' and ':'\n", tmp);
+	  goto out_with_loops;
+	}
+	if (!nb) {
+	  if (verbose)
+	    fprintf(stderr, "Invalid interleaving loop with number 0 at '%s'\n", tmp2);
+	  goto out_with_loops;
+	}
+	loops[cur_loop].step = step;
+	loops[cur_loop].nb = nb;
+	if (step < minstep)
+	  minstep = step;
+	nbs *= nb;
+	cur_loop++;
+	if (*tmp3 == ')' || *tmp3 == ' ')
+	  break;
+	tmp = (const char*) (tmp3+1);
+      }
+
+    } else {
+      /* interleaving as type1:type2:... */
+      hwloc_obj_type_t type;
+      hwloc_obj_cache_type_t cachetypeattr;
+      int depthattr;
+      int err;
+
+      /* find level depths for each interleaving loop */
+      tmp = attr;
+      cur_loop = 0;
+      while (tmp) {
+	err = hwloc_obj_type_sscanf(tmp, &type, &depthattr, &cachetypeattr, sizeof(cachetypeattr));
+	if (err < 0) {
+	  if (verbose)
+	    fprintf(stderr, "Failed to read synthetic index interleaving loop type '%s'\n", tmp);
+	  goto out_with_loops;
+	}
+	if (type == HWLOC_OBJ_MISC || type == HWLOC_OBJ_BRIDGE || type == HWLOC_OBJ_PCI_DEVICE || type == HWLOC_OBJ_OS_DEVICE) {
+	  if (verbose)
+	    fprintf(stderr, "Misc object type disallowed in synthetic index interleaving loop type '%s'\n", tmp);
+	  goto out_with_loops;
+	}
+	for(i=0; i<curleveldepth; i++) {
+	  if (type != data->level[i].type)
+	    continue;
+	  if ((type == HWLOC_OBJ_GROUP || type == HWLOC_OBJ_CACHE)
+	      && depthattr != -1
+	      && (unsigned) depthattr != data->level[i].depth)
+	    continue;
+	  if (type == HWLOC_OBJ_CACHE
+	      && cachetypeattr != (hwloc_obj_cache_type_t) -1
+	      && cachetypeattr != data->level[i].cachetype)
+	    continue;
+	  loops[cur_loop].level_depth = i;
+	  break;
+	}
+	if (i == curleveldepth) {
+	  if (verbose)
+	    fprintf(stderr, "Failed to find level for synthetic index interleaving loop type '%s' above '%s'\n",
+		    tmp, hwloc_obj_type_string(curlevel->type));
+	  goto out_with_loops;
+	}
+	tmp = strchr(tmp, ':');
+	if (!tmp || tmp > attr+length)
+	  break;
+	tmp++;
+	cur_loop++;
+      }
+
+      /* compute actual loop step/nb */
+      for(cur_loop=0; cur_loop<nr_loops; cur_loop++) {
+	unsigned mydepth = loops[cur_loop].level_depth;
+	unsigned prevdepth = 0;
+	unsigned step, nb;
+	for(i=0; i<nr_loops; i++) {
+	  if (loops[i].level_depth == mydepth && i != cur_loop) {
+	    if (verbose)
+	      fprintf(stderr, "Invalid duplicate interleaving loop type in synthetic index '%s'\n", attr);
+	    goto out_with_loops;
+	  }
+	  if (loops[i].level_depth < mydepth
+	      && loops[i].level_depth > prevdepth)
+	    prevdepth = loops[i].level_depth;
+	}
+	step = curlevel->totalwidth / data->level[mydepth].totalwidth; /* number of objects below us */
+	nb = data->level[mydepth].totalwidth / data->level[prevdepth].totalwidth; /* number of us within parent */
+
+	loops[cur_loop].step = step;
+	loops[cur_loop].nb = nb;
+	assert(nb);
+	assert(step);
+	if (step < minstep)
+	  minstep = step;
+	nbs *= nb;
+      }
+    }
+    assert(nbs);
+
+    if (nbs != total) {
+      /* one loop of total/nbs steps is missing, add it if it's just the smallest one */
+      if (minstep == total/nbs) {
+	loops[nr_loops].step = 1;
+	loops[nr_loops].nb = total/nbs;
+	nr_loops++;
+      } else {
+	if (verbose)
+	  fprintf(stderr, "Invalid index interleaving total width %lu instead of %lu\n", nbs, total);
+	goto out_with_loops;
+      }
+    }
+
+    /* generate the array of indexes */
+    mul = 1;
+    for(i=0; i<nr_loops; i++) {
+      unsigned step = loops[i].step;
+      unsigned nb = loops[i].nb;
+      for(j=0; j<total; j++)
+	array[j] += ((j / step) % nb) * mul;
+      mul *= nb;
+    }
+
+    /* check that we have the right values (cannot pass total, cannot give duplicate 0) */
+    for(j=0; j<total; j++) {
+      if (array[j] >= total) {
+	if (verbose)
+	  fprintf(stderr, "Invalid index interleaving generates out-of-range index %u\n", array[j]);
+	goto out_with_loops;
+      }
+      if (!array[j] && j) {
+	if (verbose)
+	  fprintf(stderr, "Invalid index interleaving generates duplicate index values\n");
+	goto out_with_loops;
+      }
+    }
+
+    free(loops);
+    curlevel->index_array = array;
+  }
+
+  return;
+
+ out_with_loops:
+  free(loops);
+ out_with_array:
+  free(array);
+ out:
+  return;
+}
+
+static hwloc_uint64_t
+hwloc_synthetic_parse_memory_attr(const char *attr, const char **endp)
+{
+  const char *endptr;
+  hwloc_uint64_t size;
+  size = strtoull(attr, (char **) &endptr, 0);
+  if (!hwloc_strncasecmp(endptr, "TB", 2)) {
+    size <<= 40;
+    endptr += 2;
+  } else if (!hwloc_strncasecmp(endptr, "GB", 2)) {
+    size <<= 30;
+    endptr += 2;
+  } else if (!hwloc_strncasecmp(endptr, "MB", 2)) {
+    size <<= 20;
+    endptr += 2;
+  } else if (!hwloc_strncasecmp(endptr, "kB", 2)) {
+    size <<= 10;
+    endptr += 2;
+  }
+  *endp = endptr;
+  return size;
+}
+
+static int
+hwloc_synthetic_parse_level_attrs(const char *attrs, const char **next_posp,
+				  struct hwloc_synthetic_level_data_s *curlevel,
+				  int verbose)
+{
+  hwloc_obj_type_t type = curlevel->type;
+  const char *next_pos;
+  hwloc_uint64_t memorysize = 0;
+  const char *index_string = NULL;
+  unsigned long index_string_length = 0;
+
+  next_pos = (const char *) strchr(attrs, ')');
+  if (!next_pos) {
+    if (verbose)
+      fprintf(stderr, "Missing attribute closing bracket in synthetic string doesn't have a number of objects at '%s'\n", attrs);
+    errno = EINVAL;
+    return -1;
+  }
+
+  while (')' != *attrs) {
+    if (HWLOC_OBJ_CACHE == type && !strncmp("size=", attrs, 5)) {
+      memorysize = hwloc_synthetic_parse_memory_attr(attrs+5, &attrs);
+
+    } else if (HWLOC_OBJ_CACHE != type && !strncmp("memory=", attrs, 7)) {
+      memorysize = hwloc_synthetic_parse_memory_attr(attrs+7, &attrs);
+
+    } else if (!strncmp("indexes=", attrs, 8)) {
+      index_string = attrs+8;
+      attrs += 8;
+      index_string_length = strcspn(attrs, " )");
+      attrs += index_string_length;
+
+    } else {
+      if (verbose)
+	fprintf(stderr, "Unknown attribute at '%s'\n", attrs);
+      errno = EINVAL;
+      return -1;
+    }
+
+    if (' ' == *attrs)
+      attrs++;
+    else if (')' != *attrs) {
+      if (verbose)
+	fprintf(stderr, "Missing parameter separator at '%s'\n", attrs);
+      errno = EINVAL;
+      return -1;
+    }
+  }
+
+  curlevel->memorysize = memorysize;
+  curlevel->index_string = index_string;
+  curlevel->index_string_length = index_string_length;
+  *next_posp = next_pos+1;
+  return 0;
+}
+
 /* Read from description a series of integers describing a symmetrical
    topology and update the hwloc_synthetic_backend_data_s accordingly.  On
    success, return zero.  */
@@ -49,17 +387,34 @@ hwloc_backend_synthetic_init(struct hwloc_synthetic_backend_data_s *data,
   int nb_machine_levels = 0, nb_node_levels = 0;
   int nb_pu_levels = 0;
   int verbose = 0;
-  char *env = getenv("HWLOC_SYNTHETIC_VERBOSE");
+  const char *env = getenv("HWLOC_SYNTHETIC_VERBOSE");
+  int err;
+  unsigned long totalarity = 1;
 
   if (env)
     verbose = atoi(env);
 
+  /* default values before we add root attributes */
+  data->level[0].totalwidth = 1;
+  data->level[0].type = HWLOC_OBJ_MACHINE;
+  data->level[0].index_string = NULL;
+  data->level[0].index_array = NULL;
+  data->level[0].memorysize = 0;
+  if (*description == '(') {
+    err = hwloc_synthetic_parse_level_attrs(description+1, &description, &data->level[0], verbose);
+    if (err < 0)
+      return err;
+  }
+
   for (pos = description, count = 1; *pos; pos = next_pos) {
 #define HWLOC_OBJ_TYPE_UNKNOWN ((hwloc_obj_type_t) -1)
     hwloc_obj_type_t type = HWLOC_OBJ_TYPE_UNKNOWN;
     int typedepth = -1;
     hwloc_obj_cache_type_t cachetype = (hwloc_obj_cache_type_t) -1;
 
+    /* initialize parent arity to 0 so that the levels are not infinite */
+    data->level[count-1].arity = 0;
+
     while (*pos == ' ')
       pos++;
 
@@ -71,7 +426,13 @@ hwloc_backend_synthetic_init(struct hwloc_synthetic_backend_data_s *data,
 	if (verbose)
 	  fprintf(stderr, "Synthetic string with unknown object type at '%s'\n", pos);
 	errno = EINVAL;
-	return -1;
+	goto error;
+      }
+      if (type == HWLOC_OBJ_MISC || type == HWLOC_OBJ_BRIDGE || type == HWLOC_OBJ_PCI_DEVICE || type == HWLOC_OBJ_OS_DEVICE) {
+	if (verbose)
+	  fprintf(stderr, "Synthetic string with disallowed object type at '%s'\n", pos);
+	errno = EINVAL;
+	goto error;
       }
 
       next_pos = strchr(pos, ':');
@@ -79,35 +440,47 @@ hwloc_backend_synthetic_init(struct hwloc_synthetic_backend_data_s *data,
 	if (verbose)
 	  fprintf(stderr,"Synthetic string doesn't have a `:' after object type at '%s'\n", pos);
 	errno = EINVAL;
-	return -1;
+	goto error;
       }
       pos = next_pos + 1;
     }
+    data->level[count].type = type;
+    data->level[count].depth = (unsigned) typedepth;
+    data->level[count].cachetype = cachetype;
+
     item = strtoul(pos, (char **)&next_pos, 0);
     if (next_pos == pos) {
       if (verbose)
 	fprintf(stderr,"Synthetic string doesn't have a number of objects at '%s'\n", pos);
       errno = EINVAL;
-      return -1;
+      goto error;
+    }
+    data->level[count-1].arity = (unsigned)item;
+
+    totalarity *= item;
+    data->level[count].totalwidth = totalarity;
+    data->level[count].index_string = NULL;
+    data->level[count].index_array = NULL;
+    data->level[count].memorysize = 0;
+    if (*next_pos == '(') {
+      err = hwloc_synthetic_parse_level_attrs(next_pos+1, &next_pos, &data->level[count], verbose);
+      if (err < 0)
+	goto error;
     }
 
     if (count + 1 >= HWLOC_SYNTHETIC_MAX_DEPTH) {
       if (verbose)
 	fprintf(stderr,"Too many synthetic levels, max %d\n", HWLOC_SYNTHETIC_MAX_DEPTH);
       errno = EINVAL;
-      return -1;
+      goto error;
     }
     if (item > UINT_MAX) {
       if (verbose)
 	fprintf(stderr,"Too big arity, max %u\n", UINT_MAX);
       errno = EINVAL;
-      return -1;
+      goto error;
     }
 
-    data->level[count-1].arity = (unsigned)item;
-    data->level[count].type = type;
-    data->level[count].depth = (unsigned) typedepth;
-    data->level[count].cachetype = cachetype;
     count++;
   }
 
@@ -115,7 +488,7 @@ hwloc_backend_synthetic_init(struct hwloc_synthetic_backend_data_s *data,
     if (verbose)
       fprintf(stderr, "Synthetic string doesn't contain any object\n");
     errno = EINVAL;
-    return -1;
+    goto error;
   }
 
   for(i=count-1; i>0; i--) {
@@ -131,12 +504,11 @@ hwloc_backend_synthetic_init(struct hwloc_synthetic_backend_data_s *data,
 	switch (data->level[i+1].type) {
 	case HWLOC_OBJ_PU: type = HWLOC_OBJ_CORE; break;
 	case HWLOC_OBJ_CORE: type = HWLOC_OBJ_CACHE; break;
-	case HWLOC_OBJ_CACHE: type = HWLOC_OBJ_SOCKET; break;
-	case HWLOC_OBJ_SOCKET: type = HWLOC_OBJ_NODE; break;
-	case HWLOC_OBJ_NODE:
-	case HWLOC_OBJ_GROUP: type = HWLOC_OBJ_GROUP; break;
+	case HWLOC_OBJ_CACHE: type = HWLOC_OBJ_PACKAGE; break;
+	case HWLOC_OBJ_PACKAGE: type = HWLOC_OBJ_NUMANODE; break;
+	case HWLOC_OBJ_NUMANODE:
 	case HWLOC_OBJ_MACHINE:
-	case HWLOC_OBJ_MISC: type = HWLOC_OBJ_MISC; break;
+	case HWLOC_OBJ_GROUP: type = HWLOC_OBJ_GROUP; break;
 	default:
 	  assert(0);
 	}
@@ -153,7 +525,7 @@ hwloc_backend_synthetic_init(struct hwloc_synthetic_backend_data_s *data,
       case HWLOC_OBJ_GROUP:
 	group_depth++;
 	break;
-      case HWLOC_OBJ_NODE:
+      case HWLOC_OBJ_NUMANODE:
 	nb_node_levels++;
 	break;
       case HWLOC_OBJ_MACHINE:
@@ -207,18 +579,86 @@ hwloc_backend_synthetic_init(struct hwloc_synthetic_backend_data_s *data,
     if (type == HWLOC_OBJ_GROUP) {
       if (curlevel->depth == (unsigned)-1)
 	curlevel->depth = group_depth--;
+
     } else if (type == HWLOC_OBJ_CACHE) {
       if (curlevel->depth == (unsigned)-1)
 	curlevel->depth = cache_depth--;
       if (curlevel->cachetype == (hwloc_obj_cache_type_t) -1)
 	curlevel->cachetype = curlevel->depth == 1 ? HWLOC_OBJ_CACHE_DATA : HWLOC_OBJ_CACHE_UNIFIED;
+      if (!curlevel->memorysize) {
+	if (1 == curlevel->depth)
+	  /* 32Kb in L1 */
+	  curlevel->memorysize = 32*1024;
+	else
+	  /* *4 at each level, starting from 1MB for L2, unified */
+	  curlevel->memorysize = 256*1024 << (2*curlevel->depth);
+      }
+
+    } else if (type == HWLOC_OBJ_NUMANODE && !curlevel->memorysize) {
+      /* 1GB in memory nodes. */
+      curlevel->memorysize = 1024*1024*1024;
     }
+
+    hwloc_synthetic_process_level_indexes(data, i, verbose);
   }
 
   data->string = strdup(description);
   data->level[count-1].arity = 0;
-
   return 0;
+
+ error:
+  for(i=0; i<HWLOC_SYNTHETIC_MAX_DEPTH; i++) {
+    struct hwloc_synthetic_level_data_s *curlevel = &data->level[i];
+    free(curlevel->index_array);
+    if (!curlevel->arity)
+      break;
+  }
+  return -1;
+}
+
+static void
+hwloc_synthetic__post_look_hooks(struct hwloc_synthetic_level_data_s *curlevel,
+				 hwloc_obj_t obj)
+{
+  switch (obj->type) {
+  case HWLOC_OBJ_GROUP:
+    obj->attr->group.depth = curlevel->depth;
+    break;
+  case HWLOC_OBJ_SYSTEM:
+    break;
+  case HWLOC_OBJ_MACHINE:
+    break;
+  case HWLOC_OBJ_NUMANODE:
+    break;
+  case HWLOC_OBJ_PACKAGE:
+    break;
+  case HWLOC_OBJ_CACHE:
+    obj->attr->cache.depth = curlevel->depth;
+    obj->attr->cache.linesize = 64;
+    obj->attr->cache.type = curlevel->cachetype;
+    obj->attr->cache.size = curlevel->memorysize;
+    break;
+  case HWLOC_OBJ_CORE:
+    break;
+  case HWLOC_OBJ_PU:
+    break;
+  case HWLOC_OBJ_BRIDGE:
+  case HWLOC_OBJ_PCI_DEVICE:
+  case HWLOC_OBJ_OS_DEVICE:
+  case HWLOC_OBJ_MISC:
+  case HWLOC_OBJ_TYPE_MAX:
+    /* Should never happen */
+    assert(0);
+    break;
+  }
+  if (curlevel->memorysize && HWLOC_OBJ_CACHE != obj->type) {
+    obj->memory.local_memory = curlevel->memorysize;
+    obj->memory.page_types_len = 1;
+    obj->memory.page_types = malloc(sizeof(*obj->memory.page_types));
+    memset(obj->memory.page_types, 0, sizeof(*obj->memory.page_types));
+    obj->memory.page_types[0].size = 4096;
+    obj->memory.page_types[0].count = curlevel->memorysize / 4096;
+  }
 }
 
 /*
@@ -229,35 +669,27 @@ hwloc_backend_synthetic_init(struct hwloc_synthetic_backend_data_s *data,
  * - generated cpus should be added to parent_cpuset.
  * - next cpu number to be used should be returned.
  */
-static unsigned
+static void
 hwloc__look_synthetic(struct hwloc_topology *topology,
 		      struct hwloc_synthetic_backend_data_s *data,
-		      int level, unsigned first_cpu,
+		      int level,
 		      hwloc_bitmap_t parent_cpuset)
 {
   hwloc_obj_t obj;
   unsigned i;
   struct hwloc_synthetic_level_data_s *curlevel = &data->level[level];
   hwloc_obj_type_t type = curlevel->type;
+  unsigned os_index;
 
   /* pre-hooks */
   switch (type) {
-    case HWLOC_OBJ_MISC:
-      break;
     case HWLOC_OBJ_GROUP:
       break;
-    case HWLOC_OBJ_SYSTEM:
-    case HWLOC_OBJ_BRIDGE:
-    case HWLOC_OBJ_PCI_DEVICE:
-    case HWLOC_OBJ_OS_DEVICE:
-      /* Shouldn't happen.  */
-      abort();
-      break;
     case HWLOC_OBJ_MACHINE:
       break;
-    case HWLOC_OBJ_NODE:
+    case HWLOC_OBJ_NUMANODE:
       break;
-    case HWLOC_OBJ_SOCKET:
+    case HWLOC_OBJ_PACKAGE:
       break;
     case HWLOC_OBJ_CACHE:
       break;
@@ -265,80 +697,40 @@ hwloc__look_synthetic(struct hwloc_topology *topology,
       break;
     case HWLOC_OBJ_PU:
       break;
+    case HWLOC_OBJ_SYSTEM:
+    case HWLOC_OBJ_BRIDGE:
+    case HWLOC_OBJ_PCI_DEVICE:
+    case HWLOC_OBJ_OS_DEVICE:
+    case HWLOC_OBJ_MISC:
     case HWLOC_OBJ_TYPE_MAX:
       /* Should never happen */
       assert(0);
       break;
   }
 
-  obj = hwloc_alloc_setup_object(type, curlevel->next_os_index++);
+  os_index = curlevel->next_os_index++;
+  if (curlevel->index_array)
+    os_index = curlevel->index_array[os_index];
+  obj = hwloc_alloc_setup_object(type, os_index);
   obj->cpuset = hwloc_bitmap_alloc();
 
   if (!curlevel->arity) {
-    hwloc_bitmap_set(obj->cpuset, first_cpu++);
+    hwloc_bitmap_set(obj->cpuset, os_index);
   } else {
     for (i = 0; i < curlevel->arity; i++)
-      first_cpu = hwloc__look_synthetic(topology, data, level + 1, first_cpu, obj->cpuset);
+      hwloc__look_synthetic(topology, data, level + 1, obj->cpuset);
   }
 
-  if (type == HWLOC_OBJ_NODE) {
+  if (type == HWLOC_OBJ_NUMANODE) {
     obj->nodeset = hwloc_bitmap_alloc();
-    hwloc_bitmap_set(obj->nodeset, obj->os_index);
+    hwloc_bitmap_set(obj->nodeset, os_index);
   }
 
   hwloc_bitmap_or(parent_cpuset, parent_cpuset, obj->cpuset);
 
-  /* post-hooks */
-  switch (type) {
-    case HWLOC_OBJ_MISC:
-      break;
-    case HWLOC_OBJ_GROUP:
-      obj->attr->group.depth = curlevel->depth;
-      break;
-    case HWLOC_OBJ_SYSTEM:
-    case HWLOC_OBJ_BRIDGE:
-    case HWLOC_OBJ_PCI_DEVICE:
-    case HWLOC_OBJ_OS_DEVICE:
-      abort();
-      break;
-    case HWLOC_OBJ_MACHINE:
-      break;
-    case HWLOC_OBJ_NODE:
-      /* 1GB in memory nodes, 256k 4k-pages.  */
-      obj->memory.local_memory = 1024*1024*1024;
-      obj->memory.page_types_len = 1;
-      obj->memory.page_types = malloc(sizeof(*obj->memory.page_types));
-      memset(obj->memory.page_types, 0, sizeof(*obj->memory.page_types));
-      obj->memory.page_types[0].size = 4096;
-      obj->memory.page_types[0].count = 256*1024;
-      break;
-    case HWLOC_OBJ_SOCKET:
-      break;
-    case HWLOC_OBJ_CACHE:
-      obj->attr->cache.depth = curlevel->depth;
-      obj->attr->cache.linesize = 64;
-      obj->attr->cache.type = curlevel->cachetype;
-      if (obj->attr->cache.depth == 1) {
-	/* 32Kb in L1d */
-	obj->attr->cache.size = 32*1024;
-      } else {
-	/* *4 at each level, starting from 1MB for L2, unified */
-	obj->attr->cache.size = 256*1024 << (2*obj->attr->cache.depth);
-      }
-      break;
-    case HWLOC_OBJ_CORE:
-      break;
-    case HWLOC_OBJ_PU:
-      break;
-    case HWLOC_OBJ_TYPE_MAX:
-      /* Should never happen */
-      assert(0);
-      break;
-  }
+  hwloc_synthetic__post_look_hooks(curlevel, obj);
 
   hwloc_insert_object_by_cpuset(topology, obj);
-
-  return first_cpu;
 }
 
 static int
@@ -347,7 +739,7 @@ hwloc_look_synthetic(struct hwloc_backend *backend)
   struct hwloc_topology *topology = backend->topology;
   struct hwloc_synthetic_backend_data_s *data = backend->private_data;
   hwloc_bitmap_t cpuset = hwloc_bitmap_alloc();
-  unsigned first_cpu = 0, i;
+  unsigned i;
 
   assert(!topology->levels[0][0]->cpuset);
 
@@ -363,9 +755,10 @@ hwloc_look_synthetic(struct hwloc_backend *backend)
 
   /* update first level type according to the synthetic type array */
   topology->levels[0][0]->type = data->level[0].type;
+  hwloc_synthetic__post_look_hooks(&data->level[0], topology->levels[0][0]);
 
   for (i = 0; i < data->level[0].arity; i++)
-    first_cpu = hwloc__look_synthetic(topology, data, 1, first_cpu, cpuset);
+    hwloc__look_synthetic(topology, data, 1, cpuset);
 
   hwloc_bitmap_free(cpuset);
 
@@ -378,6 +771,13 @@ static void
 hwloc_synthetic_backend_disable(struct hwloc_backend *backend)
 {
   struct hwloc_synthetic_backend_data_s *data = backend->private_data;
+  unsigned i;
+  for(i=0; i<HWLOC_SYNTHETIC_MAX_DEPTH; i++) {
+    struct hwloc_synthetic_level_data_s *curlevel = &data->level[i];
+    free(curlevel->index_array);
+    if (!curlevel->arity)
+      break;
+  }
   free(data->string);
   free(data);
 }
@@ -437,7 +837,262 @@ static struct hwloc_disc_component hwloc_synthetic_disc_component = {
 
 const struct hwloc_component hwloc_synthetic_component = {
   HWLOC_COMPONENT_ABI,
+  NULL, NULL,
   HWLOC_COMPONENT_TYPE_DISC,
   0,
   &hwloc_synthetic_disc_component
 };
+
+static int hwloc_topology_export_synthetic_indexes(struct hwloc_topology * topology,
+						   hwloc_obj_t obj,
+						   char *buffer, size_t buflen)
+{
+  unsigned depth = obj->depth;
+  unsigned total = topology->level_nbobjects[depth];
+  unsigned step = 1;
+  unsigned nr_loops = 0;
+  struct hwloc_synthetic_intlv_loop_s *loops = NULL;
+  hwloc_obj_t cur;
+  unsigned i, j;
+  ssize_t tmplen = buflen;
+  char *tmp = buffer;
+  int res, ret = 0;
+
+  /* must start with 0 */
+  if (obj->os_index)
+    goto exportall;
+
+  while (step != total) {
+    /* must be a divider of the total */
+    if (total % step)
+      goto exportall;
+
+    /* look for os_index == step */
+    for(i=1; i<total; i++)
+      if (topology->levels[depth][i]->os_index == step)
+	break;
+    if (i == total)
+      goto exportall;
+    for(j=2; j<total/i; j++)
+      if (topology->levels[depth][i*j]->os_index != step*j)
+	break;
+
+    nr_loops++;
+    loops = realloc(loops, nr_loops*sizeof(*loops));
+    if (!loops)
+      goto exportall;
+    loops[nr_loops-1].step = i;
+    loops[nr_loops-1].nb = j;
+    step *= j;
+  }
+
+  /* check this interleaving */
+  for(i=0; i<total; i++) {
+    unsigned ind = 0;
+    unsigned mul = 1;
+    for(j=0; j<nr_loops; j++) {
+      ind += (i / loops[j].step) % loops[j].nb * mul;
+      mul *= loops[j].nb;
+    }
+    if (topology->levels[depth][i]->os_index != ind)
+      goto exportall;
+  }
+
+  /* success, print it */
+  for(j=0; j<nr_loops; j++) {
+    res = hwloc_snprintf(tmp, tmplen, "%u*%u%s", loops[j].step, loops[j].nb,
+			 j == nr_loops-1 ? ")" : ":");
+    if (res < 0) {
+      free(loops);
+      return -1;
+    }
+    ret += res;
+    if (res >= tmplen)
+      res = tmplen>0 ? tmplen - 1 : 0;
+    tmp += res;
+    tmplen -= res;
+  }
+
+  if (loops)
+    free(loops);
+
+  return ret;
+
+ exportall:
+  if (loops)
+    free(loops);
+
+  /* dump all indexes */
+  cur = obj;
+  while (cur) {
+    res = snprintf(tmp, tmplen, "%u%s", cur->os_index,
+		   cur->next_cousin ? "," : ")");
+    if (res < 0)
+      return -1;
+    ret += res;
+    if (res >= tmplen)
+      res = tmplen>0 ? tmplen - 1 : 0;
+    tmp += res;
+    tmplen -= res;
+    cur = cur->next_cousin;
+  }
+  return ret;
+}
+
+static int hwloc_topology_export_synthetic_obj_attr(struct hwloc_topology * topology,
+						    hwloc_obj_t obj,
+						    char *buffer, size_t buflen)
+{
+  const char * separator = " ";
+  const char * prefix = "(";
+  char cachesize[64] = "";
+  char memsize[64] = "";
+  int needindexes = 0;
+
+  if (HWLOC_OBJ_CACHE == obj->type && obj->attr->cache.size) {
+    snprintf(cachesize, sizeof(cachesize), "%ssize=%llu",
+	     prefix, (unsigned long long) obj->attr->cache.size);
+    prefix = separator;
+  }
+  if (obj->memory.local_memory) {
+    snprintf(memsize, sizeof(memsize), "%smemory=%llu",
+	     prefix, (unsigned long long) obj->memory.local_memory);
+    prefix = separator;
+  }
+  if (obj->type == HWLOC_OBJ_PU || obj->type == HWLOC_OBJ_NUMANODE) {
+    hwloc_obj_t cur = obj;
+    while (cur) {
+      if (cur->os_index != cur->logical_index) {
+	needindexes = 1;
+	break;
+      }
+      cur = cur->next_cousin;
+    }
+  }
+  if (*cachesize || *memsize || needindexes) {
+    ssize_t tmplen = buflen;
+    char *tmp = buffer;
+    int res, ret = 0;
+
+    res = hwloc_snprintf(tmp, tmplen, "%s%s%s", cachesize, memsize, needindexes ? "" : ")");
+    if (res < 0)
+      return -1;
+    ret += res;
+    if (res >= tmplen)
+      res = tmplen>0 ? tmplen - 1 : 0;
+    tmp += res;
+    tmplen -= res;
+
+    if (needindexes) {
+      res = snprintf(tmp, tmplen, "%sindexes=", prefix);
+      if (res < 0)
+	return -1;
+      ret += res;
+      if (res >= tmplen)
+	res = tmplen>0 ? tmplen - 1 : 0;
+      tmp += res;
+      tmplen -= res;
+
+      res = hwloc_topology_export_synthetic_indexes(topology, obj, tmp, tmplen);
+      if (res < 0)
+	return -1;
+      ret += res;
+      if (res >= tmplen)
+	res = tmplen>0 ? tmplen - 1 : 0;
+      tmp += res;
+      tmplen -= res;
+    }
+    return ret;
+  } else {
+    return 0;
+  }
+}
+
+int
+hwloc_topology_export_synthetic(struct hwloc_topology * topology,
+				char *buffer, size_t buflen,
+				unsigned long flags)
+{
+  hwloc_obj_t obj = hwloc_get_root_obj(topology);
+  ssize_t tmplen = buflen;
+  char *tmp = buffer;
+  int res, ret = 0;
+   int arity;
+  const char * separator = " ";
+  const char * prefix = "";
+
+  if (flags & ~(HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_EXTENDED_TYPES|HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_ATTRS)) {
+    errno = EINVAL;
+    return -1;
+  }
+
+  /* TODO: add a flag to ignore symmetric_subtree and I/Os.
+   * just assume things are symmetric with the left branches of the tree.
+   * but the number of objects per level may be wrong, what to do with OS index array in this case?
+   * only allow ignoring symmetric_subtree if the level width remains OK?
+   */
+
+  /* TODO: add a root object by default, with a prefix such as tree=
+   * so that we can backward-compatibly recognize whether there's a root or not.
+   * and add a flag to disable it.
+   */
+
+  /* TODO: flag to force all indexes, not only for PU and NUMA? */
+
+  if (!obj->symmetric_subtree) {
+    errno = EINVAL;
+    return -1;
+  }
+
+  if (!(flags & HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_ATTRS)) {
+    /* root attributes */
+    res = hwloc_topology_export_synthetic_obj_attr(topology, obj, tmp, tmplen);
+    if (res < 0)
+      return -1;
+    ret += res;
+    if (ret > 0)
+      prefix = separator;
+    if (res >= tmplen)
+      res = tmplen>0 ? tmplen - 1 : 0;
+    tmp += res;
+    tmplen -= res;
+  }
+
+  arity = obj->arity;
+  while (arity) {
+    /* for each level */
+    obj = obj->first_child;
+    if (flags & HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_EXTENDED_TYPES) {
+      res = hwloc_snprintf(tmp, tmplen, "%s%s:%u", prefix, hwloc_obj_type_string(obj->type), arity);
+    } else {
+      char types[64];
+      hwloc_obj_type_snprintf(types, sizeof(types), obj, 1);
+      res = hwloc_snprintf(tmp, tmplen, "%s%s:%u", prefix, types, arity);
+    }
+    if (res < 0)
+      return -1;
+    ret += res;
+    if (res >= tmplen)
+      res = tmplen>0 ? tmplen - 1 : 0;
+    tmp += res;
+    tmplen -= res;
+
+    if (!(flags & HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_ATTRS)) {
+      /* obj attributes */
+      res = hwloc_topology_export_synthetic_obj_attr(topology, obj, tmp, tmplen);
+      if (res < 0)
+	return -1;
+      ret += res;
+      if (res >= tmplen)
+	res = tmplen>0 ? tmplen - 1 : 0;
+      tmp += res;
+      tmplen -= res;
+    }
+
+    /* next level */
+    prefix = separator;
+    arity = obj->arity;
+  }
+
+  return ret;
+}
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-windows.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-windows.c
index bda7571..371aaa1 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-windows.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-windows.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2012 Inria.  All rights reserved.
- * Copyright © 2009-2012 Université Bordeaux 1
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2012 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -533,11 +533,11 @@ hwloc_look_windows(struct hwloc_backend *backend)
 	id = -1;
 	switch (procInfo[i].Relationship) {
 	  case RelationNumaNode:
-	    type = HWLOC_OBJ_NODE;
+	    type = HWLOC_OBJ_NUMANODE;
 	    id = procInfo[i].NumaNode.NodeNumber;
 	    break;
 	  case RelationProcessorPackage:
-	    type = HWLOC_OBJ_SOCKET;
+	    type = HWLOC_OBJ_PACKAGE;
 	    break;
 	  case RelationCache:
 	    type = HWLOC_OBJ_CACHE;
@@ -559,7 +559,7 @@ hwloc_look_windows(struct hwloc_backend *backend)
 	hwloc_debug_2args_bitmap("%s#%u bitmap %s\n", hwloc_obj_type_string(type), id, obj->cpuset);
 
 	switch (type) {
-	  case HWLOC_OBJ_NODE:
+	  case HWLOC_OBJ_NUMANODE:
 	    {
 	      ULONGLONG avail;
 	      obj->nodeset = hwloc_bitmap_alloc();
@@ -644,13 +644,13 @@ hwloc_look_windows(struct hwloc_backend *backend)
 	id = -1;
 	switch (procInfo->Relationship) {
 	  case RelationNumaNode:
-	    type = HWLOC_OBJ_NODE;
+	    type = HWLOC_OBJ_NUMANODE;
             num = 1;
             GroupMask = &procInfo->NumaNode.GroupMask;
 	    id = procInfo->NumaNode.NodeNumber;
 	    break;
 	  case RelationProcessorPackage:
-	    type = HWLOC_OBJ_SOCKET;
+	    type = HWLOC_OBJ_PACKAGE;
             num = procInfo->Processor.GroupCount;
             GroupMask = procInfo->Processor.GroupMask;
 	    break;
@@ -695,7 +695,7 @@ hwloc_look_windows(struct hwloc_backend *backend)
 	hwloc_debug("%s#%u bitmap %s\n", hwloc_obj_type_string(type), id, obj->cpuset);
 
 	switch (type) {
-	  case HWLOC_OBJ_NODE:
+	  case HWLOC_OBJ_NUMANODE:
 	    {
 	      ULONGLONG avail;
 	      obj->nodeset = hwloc_bitmap_alloc();
@@ -715,7 +715,6 @@ hwloc_look_windows(struct hwloc_backend *backend)
 	    }
 	  case HWLOC_OBJ_CACHE:
 	    obj->attr->cache.size = procInfo->Cache.CacheSize;
-	    obj->attr->cache.associativity = procInfo->Cache.Associativity;
 	    obj->attr->cache.associativity = procInfo->Cache.Associativity == CACHE_FULLY_ASSOCIATIVE ? -1 : procInfo->Cache.Associativity ;
 	    obj->attr->cache.linesize = procInfo->Cache.LineSize;
 	    obj->attr->cache.depth = procInfo->Cache.Level;
@@ -806,6 +805,7 @@ static struct hwloc_disc_component hwloc_windows_disc_component = {
 
 const struct hwloc_component hwloc_windows_component = {
   HWLOC_COMPONENT_ABI,
+  NULL, NULL,
   HWLOC_COMPONENT_TYPE_DISC,
   0,
   &hwloc_windows_disc_component
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-x86.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-x86.c
index 611aea1..db91a5e 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-x86.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-x86.c
@@ -1,6 +1,6 @@
 /*
- * Copyright © 2010-2014 Inria.  All rights reserved.
- * Copyright © 2010-2013 Université Bordeaux 1
+ * Copyright © 2010-2015 Inria.  All rights reserved.
+ * Copyright © 2010-2013 Université Bordeaux
  * Copyright © 2010-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  *
@@ -22,7 +22,14 @@
 
 #include <private/cpuid-x86.h>
 
+struct hwloc_x86_backend_data_s {
+  unsigned nbprocs;
+  hwloc_bitmap_t apicid_set;
+  int apicid_unique;
+};
+
 #define has_topoext(features) ((features)[6] & (1 << 22))
+#define has_x2apic(features) ((features)[4] & (1 << 21))
 
 struct cacheinfo {
   unsigned type;
@@ -33,7 +40,7 @@ struct cacheinfo {
   unsigned linepart;
   int ways;
   unsigned sets;
-  unsigned size;
+  unsigned long size;
 };
 
 struct procinfo {
@@ -42,7 +49,7 @@ struct procinfo {
   unsigned max_log_proc;
   unsigned max_nbcores;
   unsigned max_nbthreads;
-  unsigned socketid;
+  unsigned packageid;
   unsigned nodeid;
   unsigned unitid;
   unsigned logprocid;
@@ -54,6 +61,7 @@ struct procinfo {
   struct cacheinfo *cache;
   char cpuvendor[13];
   char cpumodel[3*4*4+1];
+  unsigned cpustepping;
   unsigned cpumodelnumber;
   unsigned cpufamilynumber;
 };
@@ -64,11 +72,11 @@ enum cpuid_type {
   unknown
 };
 
-static void fill_amd_cache(struct procinfo *infos, unsigned level, unsigned cpuid)
+static void fill_amd_cache(struct procinfo *infos, unsigned level, int type, unsigned cpuid)
 {
   struct cacheinfo *cache;
   unsigned cachenum;
-  unsigned size = 0;
+  unsigned long size = 0;
 
   if (level == 1)
     size = ((cpuid >> 24)) << 10;
@@ -83,7 +91,7 @@ static void fill_amd_cache(struct procinfo *infos, unsigned level, unsigned cpui
   infos->cache = realloc(infos->cache, infos->numcaches*sizeof(*infos->cache));
   cache = &infos->cache[cachenum];
 
-  cache->type = 1;
+  cache->type = type;
   cache->level = level;
   if (level <= 2)
     cache->nbthreads_sharing = 1;
@@ -104,13 +112,14 @@ static void fill_amd_cache(struct procinfo *infos, unsigned level, unsigned cpui
   cache->size = size;
   cache->sets = 0;
 
-  hwloc_debug("cache L%u t%u linesize %u ways %u size %uKB\n", cache->level, cache->nbthreads_sharing, cache->linesize, cache->ways, cache->size >> 10);
+  hwloc_debug("cache L%u t%u linesize %u ways %u size %luKB\n", cache->level, cache->nbthreads_sharing, cache->linesize, cache->ways, cache->size >> 10);
 }
 
 /* Fetch information from the processor itself thanks to cpuid and store it in
  * infos for summarize to analyze them globally */
-static void look_proc(struct procinfo *infos, unsigned highest_cpuid, unsigned highest_ext_cpuid, unsigned *features, enum cpuid_type cpuid_type)
+static void look_proc(struct hwloc_backend *backend, struct procinfo *infos, unsigned highest_cpuid, unsigned highest_ext_cpuid, unsigned *features, enum cpuid_type cpuid_type)
 {
+  struct hwloc_x86_backend_data_s *data = backend->private_data;
   unsigned eax, ebx, ecx = 0, edx;
   unsigned cachenum;
   struct cacheinfo *cache;
@@ -119,6 +128,17 @@ static void look_proc(struct procinfo *infos, unsigned highest_cpuid, unsigned h
 
   infos->present = 1;
 
+  /* on return from this function, the following fields must be set in infos:
+   * packageid, nodeid, unitid, coreid, threadid, or -1
+   * apicid
+   * levels and levels slots in otherids[]
+   * numcaches and numcaches slots in caches[]
+   *
+   * max_log_proc, max_nbthreads, max_nbcores, logprocid
+   * are only used temporarily inside this function and its callees.
+   */
+
+  /* Get apicid, max_log_proc, packageid, logprocid from cpuid 0x01 */
   eax = 0x01;
   hwloc_x86_cpuid(&eax, &ebx, &ecx, &edx);
   infos->apicid = ebx >> 24;
@@ -127,32 +147,36 @@ static void look_proc(struct procinfo *infos, unsigned highest_cpuid, unsigned h
   else
     infos->max_log_proc = 1;
   hwloc_debug("APIC ID 0x%02x max_log_proc %u\n", infos->apicid, infos->max_log_proc);
-  infos->socketid = infos->apicid / infos->max_log_proc;
+  infos->packageid = infos->apicid / infos->max_log_proc;
   infos->logprocid = infos->apicid % infos->max_log_proc;
-  hwloc_debug("phys %u thread %u\n", infos->socketid, infos->logprocid);
-
-  memset(regs, 0, sizeof(regs));
-  regs[0] = 0;
-  hwloc_x86_cpuid(&regs[0], &regs[1], &regs[3], &regs[2]);
-  memcpy(infos->cpuvendor, regs+1, 4*3);
-  infos->cpuvendor[12] = '\0';
-
-  memset(regs, 0, sizeof(regs));
-  regs[0] = 1;
-  hwloc_x86_cpuid(&regs[0], &regs[1], &regs[2], &regs[3]);
-  _model          = (regs[0]>>4) & 0xf;
-  _extendedmodel  = (regs[0]>>16) & 0xf;
-  _family         = (regs[0]>>8) & 0xf;
-  _extendedfamily = (regs[0]>>20) & 0xff;
-  if (!strncmp(infos->cpuvendor, "Genu", 4)
-      || (!strncmp(infos->cpuvendor, "Auth", 4) && _family == 0xf)) {
+  hwloc_debug("phys %u thread %u\n", infos->packageid, infos->logprocid);
+
+  /* Get cpu model/family/stepping numbers from same cpuid */
+  _model          = (eax>>4) & 0xf;
+  _extendedmodel  = (eax>>16) & 0xf;
+  _family         = (eax>>8) & 0xf;
+  _extendedfamily = (eax>>20) & 0xff;
+  if ((cpuid_type == intel || cpuid_type == amd) && _family == 0xf) {
     infos->cpufamilynumber = _family + _extendedfamily;
-    infos->cpumodelnumber = _model + (_extendedmodel << 4);
   } else {
     infos->cpufamilynumber = _family;
+  }
+  if ((cpuid_type == intel && (_family == 0x6 || _family == 0xf))
+      || (cpuid_type == amd && _family == 0xf)) {
+    infos->cpumodelnumber = _model + (_extendedmodel << 4);
+  } else {
     infos->cpumodelnumber = _model;
   }
+  infos->cpustepping = eax & 0xf;
 
+  /* Get cpu vendor string from cpuid 0x00 */
+  memset(regs, 0, sizeof(regs));
+  regs[0] = 0;
+  hwloc_x86_cpuid(&regs[0], &regs[1], &regs[3], &regs[2]);
+  memcpy(infos->cpuvendor, regs+1, 4*3);
+  /* infos was calloc'ed, already ends with \0 */
+
+  /* Get cpu model string from cpuid 0x80000002-4 */
   if (highest_ext_cpuid >= 0x80000004) {
     memset(regs, 0, sizeof(regs));
     regs[0] = 0x80000002;
@@ -164,11 +188,12 @@ static void look_proc(struct procinfo *infos, unsigned highest_cpuid, unsigned h
     regs[0] = 0x80000004;
     hwloc_x86_cpuid(&regs[0], &regs[1], &regs[2], &regs[3]);
     memcpy(infos->cpumodel + 4*4*2, regs, 4*4);
-    infos->cpumodel[3*4*4] = 0;
-  } else
-    infos->cpumodel[0] = 0;
+    /* infos was calloc'ed, already ends with \0 */
+  }
 
-  /* Intel doesn't actually provide 0x80000008 information */
+  /* Get core/thread information from cpuid 0x80000008
+   * (not supported on Intel)
+   */
   if (cpuid_type != intel && highest_ext_cpuid >= 0x80000008) {
     unsigned coreidsize;
     eax = 0x80000008;
@@ -177,12 +202,19 @@ static void look_proc(struct procinfo *infos, unsigned highest_cpuid, unsigned h
     hwloc_debug("core ID size: %u\n", coreidsize);
     if (!coreidsize) {
       infos->max_nbcores = (ecx & 0xff) + 1;
-    } else 
+    } else
       infos->max_nbcores = 1 << coreidsize;
     hwloc_debug("Thus max # of cores: %u\n", infos->max_nbcores);
     /* Still no multithreaded AMD */
     infos->max_nbthreads = 1 ;
     hwloc_debug("and max # of threads: %u\n", infos->max_nbthreads);
+    /* The legacy max_log_proc is deprecated, it can be smaller than max_nbcores,
+     * which is the maximum number of cores that the processor could theoretically support
+     * (see "Multiple Core Calculation" in the AMD CPUID specification).
+     * Recompute packageid/logprocid/threadid/coreid accordingly.
+     */
+    infos->packageid = infos->apicid / infos->max_nbcores;
+    infos->logprocid = infos->apicid % infos->max_nbcores;
     infos->threadid = infos->logprocid % infos->max_nbthreads;
     infos->coreid = infos->logprocid / infos->max_nbthreads;
     hwloc_debug("this is thread %u of core %u\n", infos->threadid, infos->coreid);
@@ -191,7 +223,10 @@ static void look_proc(struct procinfo *infos, unsigned highest_cpuid, unsigned h
   infos->numcaches = 0;
   infos->cache = NULL;
 
-  /* AMD topology extension */
+  /* Get apicid, nodeid, unitid from cpuid 0x8000001e
+   * and cache information from cpuid 0x8000001d
+   * (AMD topology extension)
+   */
   if (cpuid_type != intel && has_topoext(features)) {
     unsigned apic_id, node_id, nodes_per_proc, unit_id, cores_per_unit;
 
@@ -221,7 +256,7 @@ static void look_proc(struct procinfo *infos, unsigned highest_cpuid, unsigned h
     cache = infos->cache = malloc(infos->numcaches * sizeof(*infos->cache));
 
     for (cachenum = 0; ; cachenum++) {
-      unsigned linesize, linepart, ways, sets;
+      unsigned long linesize, linepart, ways, sets;
       unsigned type;
       eax = 0x8000001d;
       ecx = cachenum;
@@ -249,28 +284,41 @@ static void look_proc(struct procinfo *infos, unsigned highest_cpuid, unsigned h
       cache->sets = sets = ecx + 1;
       cache->size = linesize * linepart * ways * sets;
 
-      hwloc_debug("cache %u type %u L%u t%u c%u linesize %u linepart %u ways %u sets %u, size %uKB\n", cachenum, cache->type, cache->level, cache->nbthreads_sharing, infos->max_nbcores, linesize, linepart, ways, sets, cache->size >> 10);
+      hwloc_debug("cache %u type %u L%u t%u c%u linesize %lu linepart %lu ways %lu sets %lu, size %uKB\n", cachenum, cache->type, cache->level, cache->nbthreads_sharing, infos->max_nbcores, linesize, linepart, ways, sets, cache->size >> 10);
 
       cache++;
     }
   } else {
-    /* Intel doesn't actually provide 0x80000005 information */
+    /* If there's no topoext,
+     * get cache information from cpuid 0x80000005 and 0x80000006
+     * (not supported on Intel)
+     */
     if (cpuid_type != intel && highest_ext_cpuid >= 0x80000005) {
       eax = 0x80000005;
       hwloc_x86_cpuid(&eax, &ebx, &ecx, &edx);
-      fill_amd_cache(infos, 1, ecx);
+      fill_amd_cache(infos, 1, 1, ecx); /* L1d */
+      fill_amd_cache(infos, 1, 2, edx); /* L1i */
     }
-
-    /* Intel doesn't actually provide 0x80000006 information */
     if (cpuid_type != intel && highest_ext_cpuid >= 0x80000006) {
       eax = 0x80000006;
       hwloc_x86_cpuid(&eax, &ebx, &ecx, &edx);
-      fill_amd_cache(infos, 2, ecx);
-      fill_amd_cache(infos, 3, edx);
+      if (ecx & 0xf000)
+	/* This is actually supported on Intel but LinePerTag isn't returned in bits 8-11.
+	 * Could be useful if some Intels (at least before Core micro-architecture)
+	 * support this leaf without leaf 0x4.
+	 */
+	fill_amd_cache(infos, 2, 3, ecx); /* L2u */
+      if (edx & 0xf000)
+	fill_amd_cache(infos, 3, 3, edx); /* L3u */
+      /* FIXME: AMD MagnyCours family 0x10 model 0x9 with 8 cores or more actually
+       * have the L3 split in two halves, and associativity is divided as well (48)
+       */
     }
   }
 
-  /* AMD doesn't actually provide 0x04 information */
+  /* Get thread/core + cache information from cpuid 0x04
+   * (not supported on AMD)
+   */
   if (cpuid_type != amd && highest_cpuid >= 0x04) {
     for (cachenum = 0; ; cachenum++) {
       unsigned type;
@@ -285,12 +333,22 @@ static void look_proc(struct procinfo *infos, unsigned highest_cpuid, unsigned h
       if (type == 0)
 	break;
       infos->numcaches++;
+
+      if (!cachenum) {
+	/* by the way, get thread/core information from the first cache */
+	infos->max_nbcores = ((eax >> 26) & 0x3f) + 1;
+	infos->max_nbthreads = infos->max_log_proc / infos->max_nbcores;
+	hwloc_debug("thus %u threads\n", infos->max_nbthreads);
+	infos->threadid = infos->logprocid % infos->max_nbthreads;
+	infos->coreid = infos->logprocid / infos->max_nbthreads;
+	hwloc_debug("this is thread %u of core %u\n", infos->threadid, infos->coreid);
+      }
     }
 
     cache = infos->cache = malloc(infos->numcaches * sizeof(*infos->cache));
 
     for (cachenum = 0; ; cachenum++) {
-      unsigned linesize, linepart, ways, sets;
+      unsigned long linesize, linepart, ways, sets;
       unsigned type;
       eax = 0x04;
       ecx = cachenum;
@@ -304,7 +362,6 @@ static void look_proc(struct procinfo *infos, unsigned highest_cpuid, unsigned h
       cache->type = type;
       cache->level = (eax >> 5) & 0x7;
       cache->nbthreads_sharing = ((eax >> 14) & 0xfff) + 1;
-      infos->max_nbcores = ((eax >> 26) & 0x3f) + 1;
 
       cache->linesize = linesize = (ebx & 0xfff) + 1;
       cache->linepart = linepart = ((ebx >> 12) & 0x3ff) + 1;
@@ -317,18 +374,16 @@ static void look_proc(struct procinfo *infos, unsigned highest_cpuid, unsigned h
       cache->sets = sets = ecx + 1;
       cache->size = linesize * linepart * ways * sets;
 
-      hwloc_debug("cache %u type %u L%u t%u c%u linesize %u linepart %u ways %u sets %u, size %uKB\n", cachenum, cache->type, cache->level, cache->nbthreads_sharing, infos->max_nbcores, linesize, linepart, ways, sets, cache->size >> 10);
-      infos->max_nbthreads = infos->max_log_proc / infos->max_nbcores;
-      hwloc_debug("thus %u threads\n", infos->max_nbthreads);
-      infos->threadid = infos->logprocid % infos->max_nbthreads;
-      infos->coreid = infos->logprocid / infos->max_nbthreads;
-      hwloc_debug("this is thread %u of core %u\n", infos->threadid, infos->coreid);
+      hwloc_debug("cache %u type %u L%u t%u c%u linesize %lu linepart %lu ways %lu sets %lu, size %uKB\n", cachenum, cache->type, cache->level, cache->nbthreads_sharing, infos->max_nbcores, linesize, linepart, ways, sets, cache->size >> 10);
 
       cache++;
     }
   }
 
-  if (cpuid_type == intel && highest_cpuid >= 0x0b) {
+  /* Get package/core/thread information from cpuid 0x0b
+   * (Intel x2APIC)
+   */
+  if (cpuid_type == intel && has_x2apic(features)) {
     unsigned level, apic_nextshift, apic_number, apic_type, apic_id = 0, apic_shift = 0, id;
     for (level = 0; ; level++) {
       ecx = level;
@@ -368,12 +423,17 @@ static void look_proc(struct procinfo *infos, unsigned highest_cpuid, unsigned h
 	}
 	apic_shift = apic_nextshift;
       }
-      infos->socketid = apic_id >> apic_shift;
-      hwloc_debug("x2APIC remainder: %d\n", infos->socketid);
-    } else
-      infos->otherids = NULL;
-  } else
-    infos->otherids = NULL;
+      infos->apicid = apic_id;
+      infos->packageid = apic_id >> apic_shift;
+      hwloc_debug("x2APIC remainder: %d\n", infos->packageid);
+      hwloc_debug("this is thread %u of core %u\n", infos->threadid, infos->coreid);
+    }
+  }
+
+  if (hwloc_bitmap_isset(data->apicid_set, infos->apicid))
+    data->apicid_unique = 0;
+  else
+    hwloc_bitmap_set(data->apicid_set, infos->apicid);
 }
 
 static void
@@ -381,26 +441,31 @@ hwloc_x86_add_cpuinfos(hwloc_obj_t obj, struct procinfo *info, int nodup)
 {
   char number[8];
   hwloc_obj_add_info_nodup(obj, "CPUVendor", info->cpuvendor, nodup);
+  snprintf(number, sizeof(number), "%u", info->cpufamilynumber);
+  hwloc_obj_add_info_nodup(obj, "CPUFamilyNumber", number, nodup);
+  snprintf(number, sizeof(number), "%u", info->cpumodelnumber);
+  hwloc_obj_add_info_nodup(obj, "CPUModelNumber", number, nodup);
   if (info->cpumodel[0]) {
     const char *c = info->cpumodel;
     while (*c == ' ')
       c++;
     hwloc_obj_add_info_nodup(obj, "CPUModel", c, nodup);
   }
-  snprintf(number, sizeof(number), "%u", info->cpumodelnumber);
-  hwloc_obj_add_info_nodup(obj, "CPUModelNumber", number, nodup);
-  snprintf(number, sizeof(number), "%u", info->cpufamilynumber);
-  hwloc_obj_add_info_nodup(obj, "CPUFamilyNumber", number, nodup);
+  snprintf(number, sizeof(number), "%u", info->cpustepping);
+  hwloc_obj_add_info_nodup(obj, "CPUStepping", number, nodup);
 }
 
 /* Analyse information stored in infos, and build/annotate topology levels accordingly */
-static void summarize(hwloc_topology_t topology, struct procinfo *infos, unsigned nbprocs,
-		      int fulldiscovery)
+static void summarize(struct hwloc_backend *backend, struct procinfo *infos, int fulldiscovery)
 {
+  struct hwloc_topology *topology = backend->topology;
+  struct hwloc_x86_backend_data_s *data = backend->private_data;
+  unsigned nbprocs = data->nbprocs;
   hwloc_bitmap_t complete_cpuset = hwloc_bitmap_alloc();
   unsigned i, j, l, level, type;
-  unsigned nbsockets = 0;
+  unsigned nbpackages = 0;
   int one = -1;
+  unsigned next_group_depth = topology->next_group_depth;
 
   for (i = 0; i < nbprocs; i++)
     if (infos[i].present) {
@@ -418,84 +483,84 @@ static void summarize(hwloc_topology_t topology, struct procinfo *infos, unsigne
    * Only annotate existing objects for now.
    */
 
-  /* Look for sockets */
+  /* Look for packages */
   if (fulldiscovery) {
-    hwloc_bitmap_t sockets_cpuset = hwloc_bitmap_dup(complete_cpuset);
-    hwloc_bitmap_t socket_cpuset;
-    hwloc_obj_t socket;
+    hwloc_bitmap_t packages_cpuset = hwloc_bitmap_dup(complete_cpuset);
+    hwloc_bitmap_t package_cpuset;
+    hwloc_obj_t package;
 
-    while ((i = hwloc_bitmap_first(sockets_cpuset)) != (unsigned) -1) {
-      unsigned socketid = infos[i].socketid;
+    while ((i = hwloc_bitmap_first(packages_cpuset)) != (unsigned) -1) {
+      unsigned packageid = infos[i].packageid;
 
-      socket_cpuset = hwloc_bitmap_alloc();
+      package_cpuset = hwloc_bitmap_alloc();
       for (j = i; j < nbprocs; j++) {
-        if (infos[j].socketid == socketid) {
-          hwloc_bitmap_set(socket_cpuset, j);
-          hwloc_bitmap_clr(sockets_cpuset, j);
+        if (infos[j].packageid == packageid) {
+          hwloc_bitmap_set(package_cpuset, j);
+          hwloc_bitmap_clr(packages_cpuset, j);
         }
       }
-      socket = hwloc_alloc_setup_object(HWLOC_OBJ_SOCKET, socketid);
-      socket->cpuset = socket_cpuset;
+      package = hwloc_alloc_setup_object(HWLOC_OBJ_PACKAGE, packageid);
+      package->cpuset = package_cpuset;
 
-      hwloc_x86_add_cpuinfos(socket, &infos[i], 0);
+      hwloc_x86_add_cpuinfos(package, &infos[i], 0);
 
-      hwloc_debug_1arg_bitmap("os socket %u has cpuset %s\n",
-          socketid, socket_cpuset);
-      hwloc_insert_object_by_cpuset(topology, socket);
-      nbsockets++;
+      hwloc_debug_1arg_bitmap("os package %u has cpuset %s\n",
+          packageid, package_cpuset);
+      hwloc_insert_object_by_cpuset(topology, package);
+      nbpackages++;
     }
-    hwloc_bitmap_free(sockets_cpuset);
+    hwloc_bitmap_free(packages_cpuset);
 
   } else {
-    /* Annotate sockets previously-existing sockets */
-    hwloc_obj_t socket = NULL;
+    /* Annotate packages previously-existing packages */
+    hwloc_obj_t package = NULL;
     int same = 1;
-    nbsockets = hwloc_get_nbobjs_by_type(topology, HWLOC_OBJ_SOCKET);
-    /* check whether all sockets have the same info */
+    nbpackages = hwloc_get_nbobjs_by_type(topology, HWLOC_OBJ_PACKAGE);
+    /* check whether all packages have the same info */
     for(i=1; i<nbprocs; i++) {
       if (strcmp(infos[i].cpumodel, infos[0].cpumodel)) {
 	same = 0;
 	break;
       }
     }
-    /* now iterate over sockets and annotate them */
-    while ((socket = hwloc_get_next_obj_by_type(topology, HWLOC_OBJ_SOCKET, socket)) != NULL) {
-      if (socket->os_index == (unsigned) -1) {
-	/* try to fix the socket OS index if unknown.
+    /* now iterate over packages and annotate them */
+    while ((package = hwloc_get_next_obj_by_type(topology, HWLOC_OBJ_PACKAGE, package)) != NULL) {
+      if (package->os_index == (unsigned) -1) {
+	/* try to fix the package OS index if unknown.
 	 * FIXME: ideally, we should check all bits in case x86 and the native backend disagree.
 	 */
 	for(i=0; i<nbprocs; i++) {
-	  if (hwloc_bitmap_isset(socket->cpuset, i)) {
-	    socket->os_index = infos[i].socketid;
+	  if (hwloc_bitmap_isset(package->cpuset, i)) {
+	    package->os_index = infos[i].packageid;
 	    break;
 	  }
 	}
       }
       for(i=0; i<nbprocs; i++) {
-	/* if there's a single socket, it's the one we want.
+	/* if there's a single package, it's the one we want.
 	 * if the index is ok, it's the one we want.
-	 * if the index is unknown but all sockets have the same id, that's fine
+	 * if the index is unknown but all packages have the same id, that's fine
 	 */
-	if (nbsockets == 1 || infos[i].socketid == socket->os_index || (same && socket->os_index == (unsigned) -1)) {
-	  hwloc_x86_add_cpuinfos(socket, &infos[i], 1);
+	if (nbpackages == 1 || infos[i].packageid == package->os_index || (same && package->os_index == (unsigned) -1)) {
+	  hwloc_x86_add_cpuinfos(package, &infos[i], 1);
 	  break;
 	}
       }
     }
   }
-  /* If there was no socket, annotate the Machine instead */
-  if ((!nbsockets) && infos[0].cpumodel[0]) {
+  /* If there was no package, annotate the Machine instead */
+  if ((!nbpackages) && infos[0].cpumodel[0]) {
     hwloc_x86_add_cpuinfos(hwloc_get_root_obj(topology), &infos[0], 1);
   }
 
-  /* Look for Numa nodes inside sockets */
+  /* Look for Numa nodes inside packages */
   if (fulldiscovery) {
     hwloc_bitmap_t nodes_cpuset = hwloc_bitmap_dup(complete_cpuset);
     hwloc_bitmap_t node_cpuset;
     hwloc_obj_t node;
 
     while ((i = hwloc_bitmap_first(nodes_cpuset)) != (unsigned) -1) {
-      unsigned socketid = infos[i].socketid;
+      unsigned packageid = infos[i].packageid;
       unsigned nodeid = infos[i].nodeid;
 
       if (nodeid == (unsigned)-1) {
@@ -510,13 +575,15 @@ static void summarize(hwloc_topology_t topology, struct procinfo *infos, unsigne
 	  continue;
 	}
 
-        if (infos[j].socketid == socketid && infos[j].nodeid == nodeid) {
+        if (infos[j].packageid == packageid && infos[j].nodeid == nodeid) {
           hwloc_bitmap_set(node_cpuset, j);
           hwloc_bitmap_clr(nodes_cpuset, j);
         }
       }
-      node = hwloc_alloc_setup_object(HWLOC_OBJ_NODE, nodeid);
+      node = hwloc_alloc_setup_object(HWLOC_OBJ_NUMANODE, nodeid);
       node->cpuset = node_cpuset;
+      node->nodeset = hwloc_bitmap_alloc();
+      hwloc_bitmap_set(node->nodeset, nodeid);
       hwloc_debug_1arg_bitmap("os node %u has cpuset %s\n",
           nodeid, node_cpuset);
       hwloc_insert_object_by_cpuset(topology, node);
@@ -524,14 +591,14 @@ static void summarize(hwloc_topology_t topology, struct procinfo *infos, unsigne
     hwloc_bitmap_free(nodes_cpuset);
   }
 
-  /* Look for Compute units inside sockets */
+  /* Look for Compute units inside packages */
   if (fulldiscovery) {
     hwloc_bitmap_t units_cpuset = hwloc_bitmap_dup(complete_cpuset);
     hwloc_bitmap_t unit_cpuset;
     hwloc_obj_t unit;
 
     while ((i = hwloc_bitmap_first(units_cpuset)) != (unsigned) -1) {
-      unsigned socketid = infos[i].socketid;
+      unsigned packageid = infos[i].packageid;
       unsigned unitid = infos[i].unitid;
 
       if (unitid == (unsigned)-1) {
@@ -546,7 +613,7 @@ static void summarize(hwloc_topology_t topology, struct procinfo *infos, unsigne
 	  continue;
 	}
 
-        if (infos[j].socketid == socketid && infos[j].unitid == unitid) {
+        if (infos[j].packageid == packageid && infos[j].unitid == unitid) {
           hwloc_bitmap_set(unit_cpuset, j);
           hwloc_bitmap_clr(units_cpuset, j);
         }
@@ -578,9 +645,12 @@ static void summarize(hwloc_topology_t topology, struct procinfo *infos, unsigne
 	      hwloc_bitmap_clr(unknowns_cpuset, j);
 	    }
 	  }
-	  unknown_obj = hwloc_alloc_setup_object(HWLOC_OBJ_MISC, unknownid);
+	  unknown_obj = hwloc_alloc_setup_object(HWLOC_OBJ_GROUP, unknownid);
 	  unknown_obj->cpuset = unknown_cpuset;
 	  unknown_obj->os_level = level;
+	  unknown_obj->attr->group.depth = topology->next_group_depth + level;
+	  if (next_group_depth <= topology->next_group_depth + level)
+	    next_group_depth = topology->next_group_depth + level + 1;
 	  hwloc_debug_2args_bitmap("os unknown%d %u has cpuset %s\n",
 	      level, unknownid, unknown_cpuset);
 	  hwloc_insert_object_by_cpuset(topology, unknown_obj);
@@ -597,7 +667,7 @@ static void summarize(hwloc_topology_t topology, struct procinfo *infos, unsigne
     hwloc_obj_t core;
 
     while ((i = hwloc_bitmap_first(cores_cpuset)) != (unsigned) -1) {
-      unsigned socketid = infos[i].socketid;
+      unsigned packageid = infos[i].packageid;
       unsigned coreid = infos[i].coreid;
 
       if (coreid == (unsigned) -1) {
@@ -612,7 +682,7 @@ static void summarize(hwloc_topology_t topology, struct procinfo *infos, unsigne
 	  continue;
 	}
 
-        if (infos[j].socketid == socketid && infos[j].coreid == coreid) {
+        if (infos[j].packageid == packageid && infos[j].coreid == coreid) {
           hwloc_bitmap_set(core_cpuset, j);
           hwloc_bitmap_clr(cores_cpuset, j);
         }
@@ -644,7 +714,7 @@ static void summarize(hwloc_topology_t topology, struct procinfo *infos, unsigne
 	hwloc_obj_t cache;
 
 	while ((i = hwloc_bitmap_first(caches_cpuset)) != (unsigned) -1) {
-	  unsigned socketid = infos[i].socketid;
+	  unsigned packageid = infos[i].packageid;
 
 	  for (l = 0; l < infos[i].numcaches; l++) {
 	    if (infos[i].cache[l].level == level && infos[i].cache[l].type == type)
@@ -672,7 +742,7 @@ static void summarize(hwloc_topology_t topology, struct procinfo *infos, unsigne
 		hwloc_bitmap_clr(caches_cpuset, j);
 		continue;
 	      }
-	      if (infos[j].socketid == socketid && infos[j].apicid / infos[j].cache[l2].nbthreads_sharing == cacheid) {
+	      if (infos[j].packageid == packageid && infos[j].apicid / infos[j].cache[l2].nbthreads_sharing == cacheid) {
 		hwloc_bitmap_set(cache_cpuset, j);
 		hwloc_bitmap_clr(caches_cpuset, j);
 	      }
@@ -712,14 +782,18 @@ static void summarize(hwloc_topology_t topology, struct procinfo *infos, unsigne
   }
 
   hwloc_bitmap_free(complete_cpuset);
+  topology->next_group_depth = next_group_depth;
 }
 
 static int
-look_procs(struct hwloc_topology *topology, unsigned nbprocs, struct procinfo *infos, int fulldiscovery,
+look_procs(struct hwloc_backend *backend, struct procinfo *infos, int fulldiscovery,
 	   unsigned highest_cpuid, unsigned highest_ext_cpuid, unsigned *features, enum cpuid_type cpuid_type,
 	   int (*get_cpubind)(hwloc_topology_t topology, hwloc_cpuset_t set, int flags),
 	   int (*set_cpubind)(hwloc_topology_t topology, hwloc_const_cpuset_t set, int flags))
 {
+  struct hwloc_x86_backend_data_s *data = backend->private_data;
+  struct hwloc_topology *topology = backend->topology;
+  unsigned nbprocs = data->nbprocs;
   hwloc_bitmap_t orig_cpuset = hwloc_bitmap_alloc();
   hwloc_bitmap_t set;
   unsigned i;
@@ -738,14 +812,16 @@ look_procs(struct hwloc_topology *topology, unsigned nbprocs, struct procinfo *i
       hwloc_debug("could not bind to CPU%d: %s\n", i, strerror(errno));
       continue;
     }
-    look_proc(&infos[i], highest_cpuid, highest_ext_cpuid, features, cpuid_type);
+    look_proc(backend, &infos[i], highest_cpuid, highest_ext_cpuid, features, cpuid_type);
   }
 
   set_cpubind(topology, orig_cpuset, 0);
   hwloc_bitmap_free(set);
   hwloc_bitmap_free(orig_cpuset);
 
-  summarize(topology, infos, nbprocs, fulldiscovery);
+  if (!data->apicid_unique)
+    fulldiscovery = 0;
+  summarize(backend, infos, fulldiscovery);
   return fulldiscovery; /* success, but objects added only if fulldiscovery */
 }
 
@@ -794,8 +870,10 @@ static int fake_set_cpubind(hwloc_topology_t topology __hwloc_attribute_unused,
 }
 
 static
-int hwloc_look_x86(struct hwloc_topology *topology, unsigned nbprocs, int fulldiscovery)
+int hwloc_look_x86(struct hwloc_backend *backend, int fulldiscovery)
 {
+  struct hwloc_x86_backend_data_s *data = backend->private_data;
+  unsigned nbprocs = data->nbprocs;
   unsigned eax, ebx, ecx = 0, edx;
   unsigned i;
   unsigned highest_cpuid;
@@ -838,7 +916,7 @@ int hwloc_look_x86(struct hwloc_topology *topology, unsigned nbprocs, int fulldi
     goto out;
   for (i = 0; i < nbprocs; i++) {
     infos[i].nodeid = (unsigned) -1;
-    infos[i].socketid = (unsigned) -1;
+    infos[i].packageid = (unsigned) -1;
     infos[i].unitid = (unsigned) -1;
     infos[i].coreid = (unsigned) -1;
     infos[i].threadid = (unsigned) -1;
@@ -883,7 +961,7 @@ int hwloc_look_x86(struct hwloc_topology *topology, unsigned nbprocs, int fulldi
 
   hwloc_x86_os_state_save(&os_state);
 
-  ret = look_procs(topology, nbprocs, infos, fulldiscovery,
+  ret = look_procs(backend, infos, fulldiscovery,
 		   highest_cpuid, highest_ext_cpuid, features, cpuid_type,
 		   get_cpubind, set_cpubind);
   if (ret >= 0)
@@ -892,8 +970,8 @@ int hwloc_look_x86(struct hwloc_topology *topology, unsigned nbprocs, int fulldi
 
   if (nbprocs == 1) {
     /* only one processor, no need to bind */
-    look_proc(&infos[0], highest_cpuid, highest_ext_cpuid, features, cpuid_type);
-    summarize(topology, infos, nbprocs, fulldiscovery);
+    look_proc(backend, &infos[0], highest_cpuid, highest_ext_cpuid, features, cpuid_type);
+    summarize(backend, infos, fulldiscovery);
     ret = fulldiscovery;
   }
 
@@ -912,11 +990,13 @@ out:
 static int
 hwloc_x86_discover(struct hwloc_backend *backend)
 {
+  struct hwloc_x86_backend_data_s *data = backend->private_data;
   struct hwloc_topology *topology = backend->topology;
-  unsigned nbprocs = hwloc_fallback_nbprocessors(topology);
   int alreadypus = 0;
   int ret;
 
+  data->nbprocs = hwloc_fallback_nbprocessors(topology);
+
   if (!topology->is_thissystem) {
     hwloc_debug("%s", "\nno x86 detection (not thissystem)\n");
     return 0;
@@ -924,14 +1004,14 @@ hwloc_x86_discover(struct hwloc_backend *backend)
 
   if (topology->levels[0][0]->cpuset) {
     /* somebody else discovered things */
-    if (topology->nb_levels == 2 && topology->level_nbobjects[1] == nbprocs) {
+    if (topology->nb_levels == 2 && topology->level_nbobjects[1] == data->nbprocs) {
       /* only PUs were discovered, as much as we would, complete the topology with everything else */
       alreadypus = 1;
       goto fulldiscovery;
     }
 
     /* several object types were added, we can't easily complete, just annotate a bit */
-    ret = hwloc_look_x86(topology, nbprocs, 0);
+    ret = hwloc_look_x86(backend, 0);
     if (ret)
       hwloc_obj_add_info(topology->levels[0][0], "Backend", "x86");
     return 0;
@@ -941,11 +1021,11 @@ hwloc_x86_discover(struct hwloc_backend *backend)
   }
 
 fulldiscovery:
-  hwloc_look_x86(topology, nbprocs, 1);
+  hwloc_look_x86(backend, 1);
   /* if failed, just continue and create PUs */
 
   if (!alreadypus)
-    hwloc_setup_pu_level(topology, nbprocs);
+    hwloc_setup_pu_level(topology, data->nbprocs);
 
   hwloc_obj_add_info(topology->levels[0][0], "Backend", "x86");
 
@@ -962,6 +1042,14 @@ fulldiscovery:
   return 1;
 }
 
+static void
+hwloc_x86_backend_disable(struct hwloc_backend *backend)
+{
+  struct hwloc_x86_backend_data_s *data = backend->private_data;
+  hwloc_bitmap_free(data->apicid_set);
+  free(data);
+}
+
 static struct hwloc_backend *
 hwloc_x86_component_instantiate(struct hwloc_disc_component *component,
 				const void *_data1 __hwloc_attribute_unused,
@@ -969,13 +1057,33 @@ hwloc_x86_component_instantiate(struct hwloc_disc_component *component,
 				const void *_data3 __hwloc_attribute_unused)
 {
   struct hwloc_backend *backend;
+  struct hwloc_x86_backend_data_s *data;
 
   backend = hwloc_backend_alloc(component);
   if (!backend)
-    return NULL;
+    goto out;
+
+  data = malloc(sizeof(*data));
+  if (!data) {
+    errno = ENOMEM;
+    goto out_with_backend;
+  }
+
+  backend->private_data = data;
   backend->flags = HWLOC_BACKEND_FLAG_NEED_LEVELS;
   backend->discover = hwloc_x86_discover;
+  backend->disable = hwloc_x86_backend_disable;
+
+  /* default values */
+  data->apicid_set = hwloc_bitmap_alloc();
+  data->apicid_unique = 1;
+
   return backend;
+
+ out_with_backend:
+  free(backend);
+ out:
+  return NULL;
 }
 
 static struct hwloc_disc_component hwloc_x86_disc_component = {
@@ -989,6 +1097,7 @@ static struct hwloc_disc_component hwloc_x86_disc_component = {
 
 const struct hwloc_component hwloc_x86_component = {
   HWLOC_COMPONENT_ABI,
+  NULL, NULL,
   HWLOC_COMPONENT_TYPE_DISC,
   0,
   &hwloc_x86_disc_component
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-xml-libxml.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-xml-libxml.c
index 88348c9..ce3250c 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-xml-libxml.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-xml-libxml.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2011 Université Bordeaux 1
+ * Copyright © 2009-2011 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -41,7 +41,7 @@ typedef struct hwloc__libxml_import_state_data_s {
   xmlNode *node; /* current libxml node, always valid */
   xmlNode *child; /* last processed child, or NULL if none yet */
   xmlAttr *attr; /* last processed attribute, or NULL if none yet */
-} * hwloc__libxml_import_state_data_t;
+} __hwloc_attribute_may_alias * hwloc__libxml_import_state_data_t;
 
 static int
 hwloc__libxml_import_next_attr(hwloc__xml_import_state_t state, char **namep, char **valuep)
@@ -86,12 +86,7 @@ hwloc__libxml_import_find_child(hwloc__xml_import_state_t state,
   hwloc__libxml_import_state_data_t lchildstate = (void*) childstate->data;
   xmlNode *child;
   childstate->parent = state;
-  childstate->next_attr = state->next_attr;
-  childstate->find_child = state->find_child;
-  childstate->close_tag = state->close_tag;
-  childstate->close_child = state->close_child;
-  childstate->get_content = state->get_content;
-  childstate->close_content = state->close_content;
+  childstate->global = state->global;
   if (!lstate->child)
     return 0;
   child = lstate->child->next;
@@ -182,12 +177,12 @@ hwloc_libxml_look_init(struct hwloc_xml_backend_data_s *bdata,
     goto failed;
   }
 
-  state->next_attr = hwloc__libxml_import_next_attr;
-  state->find_child = hwloc__libxml_import_find_child;
-  state->close_tag = hwloc__libxml_import_close_tag;
-  state->close_child = hwloc__libxml_import_close_child;
-  state->get_content = hwloc__libxml_import_get_content;
-  state->close_content = hwloc__libxml_import_close_content;
+  state->global->next_attr = hwloc__libxml_import_next_attr;
+  state->global->find_child = hwloc__libxml_import_find_child;
+  state->global->close_tag = hwloc__libxml_import_close_tag;
+  state->global->close_child = hwloc__libxml_import_close_child;
+  state->global->get_content = hwloc__libxml_import_get_content;
+  state->global->close_content = hwloc__libxml_import_close_content;
   state->parent = NULL;
   lstate->node = root_node;
   lstate->child = root_node->children;
@@ -199,22 +194,16 @@ hwloc_libxml_look_init(struct hwloc_xml_backend_data_s *bdata,
 }
 
 static int
-hwloc_libxml_import_diff(const char *xmlpath, const char *xmlbuffer, int xmlbuflen, hwloc_topology_diff_t *firstdiffp, char **refnamep)
+hwloc_libxml_import_diff(struct hwloc__xml_import_state_s *state, const char *xmlpath, const char *xmlbuffer, int xmlbuflen, hwloc_topology_diff_t *firstdiffp, char **refnamep)
 {
-  struct hwloc__xml_import_state_s state;
-  hwloc__libxml_import_state_data_t lstate = (void*) state.data;
+  hwloc__libxml_import_state_data_t lstate = (void*) state->data;
   char *refname = NULL;
   xmlDoc *doc = NULL;
   xmlNode* root_node;
   xmlDtd *dtd;
   int ret;
 
-  assert(sizeof(*lstate) <= sizeof(state.data));
-
-  if (hwloc_plugin_check_namespace("xml_libxml", "hwloc__xml_verbose") < 0) {
-    errno = ENOSYS;
-    return -1;
-  }
+  assert(sizeof(*lstate) <= sizeof(state->data));
 
   LIBXML_TEST_VERSION;
   hwloc_libxml2_disable_stderrwarnings();
@@ -252,20 +241,20 @@ hwloc_libxml_import_diff(const char *xmlpath, const char *xmlbuffer, int xmlbufl
     goto out_with_doc;
   }
 
-  state.next_attr = hwloc__libxml_import_next_attr;
-  state.find_child = hwloc__libxml_import_find_child;
-  state.close_tag = hwloc__libxml_import_close_tag;
-  state.close_child = hwloc__libxml_import_close_child;
-  state.get_content = hwloc__libxml_import_get_content;
-  state.close_content = hwloc__libxml_import_close_content;
-  state.parent = NULL;
+  state->global->next_attr = hwloc__libxml_import_next_attr;
+  state->global->find_child = hwloc__libxml_import_find_child;
+  state->global->close_tag = hwloc__libxml_import_close_tag;
+  state->global->close_child = hwloc__libxml_import_close_child;
+  state->global->get_content = hwloc__libxml_import_get_content;
+  state->global->close_content = hwloc__libxml_import_close_content;
+  state->parent = NULL;
   lstate->node = root_node;
   lstate->child = root_node->children;
   lstate->attr = NULL;
 
   while (1) {
     char *attrname, *attrvalue;
-    if (state.next_attr(&state, &attrname, &attrvalue) < 0)
+    if (state->global->next_attr(state, &attrname, &attrvalue) < 0)
       break;
     if (!strcmp(attrname, "refname")) {
       free(refname);
@@ -274,7 +263,7 @@ hwloc_libxml_import_diff(const char *xmlpath, const char *xmlbuffer, int xmlbufl
       goto out_with_doc;
   }
 
-  ret = hwloc__xml_import_diff(&state, firstdiffp);
+  ret = hwloc__xml_import_diff(state, firstdiffp);
   if (refnamep && !ret)
     *refnamep = refname;
   else
@@ -305,11 +294,6 @@ hwloc_libxml_backend_init(struct hwloc_xml_backend_data_s *bdata,
 {
   xmlDoc *doc = NULL;
 
-  if (hwloc_plugin_check_namespace("xml_libxml", "hwloc__xml_verbose") < 0) {
-    errno = ENOSYS;
-    return -1;
-  }
-
   LIBXML_TEST_VERSION;
   hwloc_libxml2_disable_stderrwarnings();
 
@@ -340,7 +324,7 @@ hwloc_libxml_backend_init(struct hwloc_xml_backend_data_s *bdata,
 
 typedef struct hwloc__libxml_export_state_data_s {
   xmlNodePtr current_node; /* current node to output */
-} * hwloc__libxml_export_state_data_t;
+} __hwloc_attribute_may_alias * hwloc__libxml_export_state_data_t;
 
 static void
 hwloc__libxml_export_new_child(hwloc__xml_export_state_t parentstate,
@@ -418,11 +402,6 @@ hwloc_libxml_export_file(hwloc_topology_t topology, const char *filename)
   xmlDocPtr doc;
   int ret;
 
-  if (hwloc_plugin_check_namespace("xml_libxml", "hwloc__xml_verbose") < 0) {
-    errno = ENOSYS;
-    return -1;
-  }
-
   errno = 0; /* set to 0 so that we know if libxml2 changed it */
 
   doc = hwloc__libxml2_prepare_export(topology);
@@ -443,11 +422,6 @@ hwloc_libxml_export_buffer(hwloc_topology_t topology, char **xmlbuffer, int *buf
 {
   xmlDocPtr doc;
 
-  if (hwloc_plugin_check_namespace("xml_libxml", "hwloc__xml_verbose") < 0) {
-    errno = ENOSYS;
-    return -1;
-  }
-
   doc = hwloc__libxml2_prepare_export(topology);
   xmlDocDumpFormatMemoryEnc(doc, (xmlChar **)xmlbuffer, buflen, "UTF-8", 1);
   xmlFreeDoc(doc);
@@ -495,11 +469,6 @@ hwloc_libxml_export_diff_file(hwloc_topology_diff_t diff, const char *refname, c
   xmlDocPtr doc;
   int ret;
 
-  if (hwloc_plugin_check_namespace("xml_libxml", "hwloc__xml_verbose") < 0) {
-    errno = ENOSYS;
-    return -1;
-  }
-
   errno = 0; /* set to 0 so that we know if libxml2 changed it */
 
   doc = hwloc__libxml2_prepare_export_diff(diff, refname);
@@ -520,11 +489,6 @@ hwloc_libxml_export_diff_buffer(hwloc_topology_diff_t diff, const char *refname,
 {
   xmlDocPtr doc;
 
-  if (hwloc_plugin_check_namespace("xml_libxml", "hwloc__xml_verbose") < 0) {
-    errno = ENOSYS;
-    return -1;
-  }
-
   doc = hwloc__libxml2_prepare_export_diff(diff, refname);
   xmlDocDumpFormatMemoryEnc(doc, (xmlChar **)xmlbuffer, buflen, "UTF-8", 1);
   xmlFreeDoc(doc);
@@ -556,12 +520,23 @@ static struct hwloc_xml_component hwloc_libxml_xml_component = {
   &hwloc_xml_libxml_callbacks
 };
 
+static int
+hwloc_xml_libxml_component_init(unsigned long flags)
+{
+  if (flags)
+    return -1;
+  if (hwloc_plugin_check_namespace("xml_libxml", "hwloc__xml_verbose") < 0)
+    return -1;
+  return 0;
+}
+
 #ifdef HWLOC_INSIDE_PLUGIN
 HWLOC_DECLSPEC extern const struct hwloc_component hwloc_xml_libxml_component;
 #endif
 
 const struct hwloc_component hwloc_xml_libxml_component = {
   HWLOC_COMPONENT_ABI,
+  hwloc_xml_libxml_component_init, NULL,
   HWLOC_COMPONENT_TYPE_XML,
   0,
   &hwloc_libxml_xml_component
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-xml-nolibxml.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-xml-nolibxml.c
index 6dc09ec..a93d9d4 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-xml-nolibxml.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-xml-nolibxml.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2011 Université Bordeaux 1
+ * Copyright © 2009-2011 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -36,7 +36,7 @@ typedef struct hwloc__nolibxml_import_state_data_s {
   char *attrbuffer; /* buffer containing the next attribute of the current node */
   char *tagname; /* tag name of the current node */
   int closed; /* set if the current node is auto-closing */
-} * hwloc__nolibxml_import_state_data_t;
+} __hwloc_attribute_may_alias * hwloc__nolibxml_import_state_data_t;
 
 static char *
 hwloc__nolibxml_import_ignore_spaces(char *buffer)
@@ -119,12 +119,7 @@ hwloc__nolibxml_import_find_child(hwloc__xml_import_state_t state,
   int namelen;
 
   childstate->parent = state;
-  childstate->next_attr = state->next_attr;
-  childstate->find_child = state->find_child;
-  childstate->close_tag = state->close_tag;
-  childstate->close_child = state->close_child;
-  childstate->get_content = state->get_content;
-  childstate->close_content = state->close_content;
+  childstate->global = state->global;
 
   /* auto-closed tags have no children */
   if (nstate->closed)
@@ -274,12 +269,12 @@ hwloc_nolibxml_look_init(struct hwloc_xml_backend_data_s *bdata,
   if (strncmp(buffer, "<topology>", 10))
     goto failed;
 
-  state->next_attr = hwloc__nolibxml_import_next_attr;
-  state->find_child = hwloc__nolibxml_import_find_child;
-  state->close_tag = hwloc__nolibxml_import_close_tag;
-  state->close_child = hwloc__nolibxml_import_close_child;
-  state->get_content = hwloc__nolibxml_import_get_content;
-  state->close_content = hwloc__nolibxml_import_close_content;
+  state->global->next_attr = hwloc__nolibxml_import_next_attr;
+  state->global->find_child = hwloc__nolibxml_import_find_child;
+  state->global->close_tag = hwloc__nolibxml_import_close_tag;
+  state->global->close_child = hwloc__nolibxml_import_close_child;
+  state->global->get_content = hwloc__nolibxml_import_get_content;
+  state->global->close_content = hwloc__nolibxml_import_close_content;
   state->parent = NULL;
   nstate->closed = 0;
   nstate->tagbuffer = buffer+10;
@@ -408,17 +403,18 @@ out:
 }
 
 static int
-hwloc_nolibxml_import_diff(const char *xmlpath, const char *xmlbuffer, int xmlbuflen,
+hwloc_nolibxml_import_diff(struct hwloc__xml_import_state_s *state,
+			   const char *xmlpath, const char *xmlbuffer, int xmlbuflen,
 			   hwloc_topology_diff_t *firstdiffp, char **refnamep)
 {
-  struct hwloc__xml_import_state_s state, childstate;
-  hwloc__nolibxml_import_state_data_t nstate = (void*) state.data;
+  hwloc__nolibxml_import_state_data_t nstate = (void*) state->data;
+  struct hwloc__xml_import_state_s childstate;
   char *refname = NULL;
   char *buffer, *tmp, *tag;
   size_t buflen;
   int ret;
 
-  assert(sizeof(*nstate) <= sizeof(state.data));
+  assert(sizeof(*nstate) <= sizeof(state->data));
 
   if (xmlbuffer) {
     buffer = malloc(xmlbuflen);
@@ -442,20 +438,20 @@ hwloc_nolibxml_import_diff(const char *xmlpath, const char *xmlbuffer, int xmlbu
     tmp++;
   }
 
-  state.next_attr = hwloc__nolibxml_import_next_attr;
-  state.find_child = hwloc__nolibxml_import_find_child;
-  state.close_tag = hwloc__nolibxml_import_close_tag;
-  state.close_child = hwloc__nolibxml_import_close_child;
-  state.get_content = hwloc__nolibxml_import_get_content;
-  state.close_content = hwloc__nolibxml_import_close_content;
-  state.parent = NULL;
+  state->global->next_attr = hwloc__nolibxml_import_next_attr;
+  state->global->find_child = hwloc__nolibxml_import_find_child;
+  state->global->close_tag = hwloc__nolibxml_import_close_tag;
+  state->global->close_child = hwloc__nolibxml_import_close_child;
+  state->global->get_content = hwloc__nolibxml_import_get_content;
+  state->global->close_content = hwloc__nolibxml_import_close_content;
+  state->parent = NULL;
   nstate->closed = 0;
   nstate->tagbuffer = tmp;
   nstate->tagname = NULL;
   nstate->attrbuffer = NULL;
 
   /* find root */
-  ret = hwloc__nolibxml_import_find_child(&state, &childstate, &tag);
+  ret = hwloc__nolibxml_import_find_child(state, &childstate, &tag);
   if (ret < 0)
     goto out_with_buffer;
   if (strcmp(tag, "topologydiff"))
@@ -498,7 +494,7 @@ typedef struct hwloc__nolibxml_export_state_data_s {
   unsigned indent; /* indentation level for the next line */
   unsigned nr_children;
   unsigned has_content;
-} * hwloc__nolibxml_export_state_data_t;
+} __hwloc_attribute_may_alias * hwloc__nolibxml_export_state_data_t;
 
 static void
 hwloc__nolibxml_export_update_buffer(hwloc__nolibxml_export_state_data_t ndata, int res)
@@ -847,6 +843,7 @@ static struct hwloc_xml_component hwloc_nolibxml_xml_component = {
 
 const struct hwloc_component hwloc_xml_nolibxml_component = {
   HWLOC_COMPONENT_ABI,
+  NULL, NULL,
   HWLOC_COMPONENT_TYPE_XML,
   0,
   &hwloc_nolibxml_xml_component
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-xml.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-xml.c
index 9335009..d9e2e46 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-xml.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-xml.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2011 Université Bordeaux 1
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2011 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -19,7 +19,7 @@ hwloc__xml_verbose(void)
   static int first = 1;
   static int verbose = 0;
   if (first) {
-    char *env = getenv("HWLOC_XML_VERBOSE");
+    const char *env = getenv("HWLOC_XML_VERBOSE");
     if (env)
       verbose = atoi(env);
     first = 0;
@@ -27,6 +27,34 @@ hwloc__xml_verbose(void)
   return verbose;
 }
 
+static int
+hwloc_nolibxml_import(void)
+{
+  static int first = 1;
+  static int nolibxml = 0;
+  if (first) {
+    const char *env = getenv("HWLOC_NO_LIBXML_IMPORT");
+    if (env)
+      nolibxml = atoi(env);
+    first = 0;
+  }
+  return nolibxml;
+}
+
+static int
+hwloc_nolibxml_export(void)
+{
+  static int first = 1;
+  static int nolibxml = 0;
+  if (first) {
+    const char *env = getenv("HWLOC_NO_LIBXML_EXPORT");
+    if (env)
+      nolibxml = atoi(env);
+    first = 0;
+  }
+  return nolibxml;
+}
+
 /*********************************
  ********* XML callbacks *********
  *********************************/
@@ -51,7 +79,7 @@ hwloc_xml_callbacks_reset(void)
 {
   hwloc_nolibxml_callbacks = NULL;
   hwloc_libxml_callbacks = NULL;
-}			       
+}
 
 /************************************************
  ********* XML import (common routines) *********
@@ -59,7 +87,8 @@ hwloc_xml_callbacks_reset(void)
 
 static void
 hwloc__xml_import_object_attr(struct hwloc_topology *topology __hwloc_attribute_unused, struct hwloc_obj *obj,
-			      const char *name, const char *value)
+			      const char *name, const char *value,
+			      hwloc__xml_import_state_t state)
 {
   if (!strcmp(name, "type")) {
     /* already handled */
@@ -99,7 +128,8 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology __hwloc_attribute_
     if (obj->type == HWLOC_OBJ_CACHE)
       obj->attr->cache.size = lvalue;
     else if (hwloc__xml_verbose())
-      fprintf(stderr, "ignoring cache_size attribute for non-cache object type\n");
+      fprintf(stderr, "%s: ignoring cache_size attribute for non-cache object type\n",
+	      state->global->msgprefix);
   }
 
   else if (!strcmp(name, "cache_linesize")) {
@@ -107,7 +137,8 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology __hwloc_attribute_
     if (obj->type == HWLOC_OBJ_CACHE)
       obj->attr->cache.linesize = lvalue;
     else if (hwloc__xml_verbose())
-      fprintf(stderr, "ignoring cache_linesize attribute for non-cache object type\n");
+      fprintf(stderr, "%s: ignoring cache_linesize attribute for non-cache object type\n",
+	      state->global->msgprefix);
   }
 
   else if (!strcmp(name, "cache_associativity")) {
@@ -115,7 +146,8 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology __hwloc_attribute_
     if (obj->type == HWLOC_OBJ_CACHE)
       obj->attr->cache.associativity = lvalue;
     else if (hwloc__xml_verbose())
-      fprintf(stderr, "ignoring cache_associativity attribute for non-cache object type\n");
+      fprintf(stderr, "%s: ignoring cache_associativity attribute for non-cache object type\n",
+	      state->global->msgprefix);
   }
 
   else if (!strcmp(name, "cache_type")) {
@@ -126,9 +158,11 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology __hwloc_attribute_
 	  || lvalue == HWLOC_OBJ_CACHE_INSTRUCTION)
 	obj->attr->cache.type = (hwloc_obj_cache_type_t) lvalue;
       else
-	fprintf(stderr, "ignoring invalid cache_type attribute %ld\n", lvalue);
+	fprintf(stderr, "%s: ignoring invalid cache_type attribute %ld\n",
+		state->global->msgprefix, lvalue);
     } else if (hwloc__xml_verbose())
-      fprintf(stderr, "ignoring cache_type attribute for non-cache object type\n");
+      fprintf(stderr, "%s: ignoring cache_type attribute for non-cache object type\n",
+	      state->global->msgprefix);
   }
 
   else if (!strcmp(name, "local_memory"))
@@ -148,7 +182,8 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology __hwloc_attribute_
 	break;
       default:
 	if (hwloc__xml_verbose())
-	  fprintf(stderr, "ignoring depth attribute for object type without depth\n");
+	  fprintf(stderr, "%s: ignoring depth attribute for object type without depth\n",
+		  state->global->msgprefix);
 	break;
     }
   }
@@ -161,7 +196,8 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology __hwloc_attribute_
       if (sscanf(value, "%04x:%02x:%02x.%01x",
 		 &domain, &bus, &dev, &func) != 4) {
 	if (hwloc__xml_verbose())
-	  fprintf(stderr, "ignoring invalid pci_busid format string %s\n", value);
+	  fprintf(stderr, "%s: ignoring invalid pci_busid format string %s\n",
+		  state->global->msgprefix, value);
       } else {
 	obj->attr->pcidev.domain = domain;
 	obj->attr->pcidev.bus = bus;
@@ -172,7 +208,8 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology __hwloc_attribute_
     }
     default:
       if (hwloc__xml_verbose())
-	fprintf(stderr, "ignoring pci_busid attribute for non-PCI object\n");
+	fprintf(stderr, "%s: ignoring pci_busid attribute for non-PCI object\n",
+		state->global->msgprefix);
       break;
     }
   }
@@ -185,7 +222,8 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology __hwloc_attribute_
       if (sscanf(value, "%04x [%04x:%04x] [%04x:%04x] %02x",
 		 &classid, &vendor, &device, &subvendor, &subdevice, &revision) != 6) {
 	if (hwloc__xml_verbose())
-	  fprintf(stderr, "ignoring invalid pci_type format string %s\n", value);
+	  fprintf(stderr, "%s: ignoring invalid pci_type format string %s\n",
+		  state->global->msgprefix, value);
       } else {
 	obj->attr->pcidev.class_id = classid;
 	obj->attr->pcidev.vendor_id = vendor;
@@ -198,7 +236,8 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology __hwloc_attribute_
     }
     default:
       if (hwloc__xml_verbose())
-	fprintf(stderr, "ignoring pci_type attribute for non-PCI object\n");
+	fprintf(stderr, "%s: ignoring pci_type attribute for non-PCI object\n",
+		state->global->msgprefix);
       break;
     }
   }
@@ -212,7 +251,8 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology __hwloc_attribute_
     }
     default:
       if (hwloc__xml_verbose())
-	fprintf(stderr, "ignoring pci_link_speed attribute for non-PCI object\n");
+	fprintf(stderr, "%s: ignoring pci_link_speed attribute for non-PCI object\n",
+		state->global->msgprefix);
       break;
     }
   }
@@ -223,7 +263,8 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology __hwloc_attribute_
       unsigned upstream_type, downstream_type;
       if (sscanf(value, "%u-%u", &upstream_type, &downstream_type) != 2) {
 	if (hwloc__xml_verbose())
-	  fprintf(stderr, "ignoring invalid bridge_type format string %s\n", value);
+	  fprintf(stderr, "%s: ignoring invalid bridge_type format string %s\n",
+		  state->global->msgprefix, value);
       } else {
 	obj->attr->bridge.upstream_type = (hwloc_obj_bridge_type_t) upstream_type;
 	obj->attr->bridge.downstream_type = (hwloc_obj_bridge_type_t) downstream_type;
@@ -232,7 +273,8 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology __hwloc_attribute_
     }
     default:
       if (hwloc__xml_verbose())
-	fprintf(stderr, "ignoring bridge_type attribute for non-bridge object\n");
+	fprintf(stderr, "%s: ignoring bridge_type attribute for non-bridge object\n",
+		state->global->msgprefix);
       break;
     }
   }
@@ -244,7 +286,8 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology __hwloc_attribute_
       if (sscanf(value, "%04x:[%02x-%02x]",
 		 &domain, &secbus, &subbus) != 3) {
 	if (hwloc__xml_verbose())
-	  fprintf(stderr, "ignoring invalid bridge_pci format string %s\n", value);
+	  fprintf(stderr, "%s: ignoring invalid bridge_pci format string %s\n",
+		  state->global->msgprefix, value);
       } else {
 	obj->attr->bridge.downstream.pci.domain = domain;
 	obj->attr->bridge.downstream.pci.secondary_bus = secbus;
@@ -254,7 +297,8 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology __hwloc_attribute_
     }
     default:
       if (hwloc__xml_verbose())
-	fprintf(stderr, "ignoring bridge_pci attribute for non-bridge object\n");
+	fprintf(stderr, "%s: ignoring bridge_pci attribute for non-bridge object\n",
+		state->global->msgprefix);
       break;
     }
   }
@@ -265,14 +309,16 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology __hwloc_attribute_
       unsigned osdev_type;
       if (sscanf(value, "%u", &osdev_type) != 1) {
 	if (hwloc__xml_verbose())
-	  fprintf(stderr, "ignoring invalid osdev_type format string %s\n", value);
+	  fprintf(stderr, "%s: ignoring invalid osdev_type format string %s\n",
+		  state->global->msgprefix, value);
       } else
 	obj->attr->osdev.type = (hwloc_obj_osdev_type_t) osdev_type;
       break;
     }
     default:
       if (hwloc__xml_verbose())
-	fprintf(stderr, "ignoring osdev_type attribute for non-osdev object\n");
+	fprintf(stderr, "%s: ignoring osdev_type attribute for non-osdev object\n",
+		state->global->msgprefix);
       break;
     }
   }
@@ -284,10 +330,10 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology __hwloc_attribute_
    * deprecated (from 1.0)
    */
   else if (!strcmp(name, "dmi_board_vendor")) {
-    hwloc_obj_add_info(obj, "DMIBoardVendor", strdup(value));
+    hwloc_obj_add_info(obj, "DMIBoardVendor", value);
   }
   else if (!strcmp(name, "dmi_board_name")) {
-    hwloc_obj_add_info(obj, "DMIBoardName", strdup(value));
+    hwloc_obj_add_info(obj, "DMIBoardName", value);
   }
 
   /*************************
@@ -299,21 +345,22 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology __hwloc_attribute_
       case HWLOC_OBJ_CACHE:
 	obj->attr->cache.size = lvalue << 10;
 	break;
-      case HWLOC_OBJ_NODE:
+      case HWLOC_OBJ_NUMANODE:
       case HWLOC_OBJ_MACHINE:
       case HWLOC_OBJ_SYSTEM:
 	obj->memory.local_memory = lvalue << 10;
 	break;
       default:
 	if (hwloc__xml_verbose())
-	  fprintf(stderr, "ignoring memory_kB attribute for object type without memory\n");
+	  fprintf(stderr, "%s: ignoring memory_kB attribute for object type without memory\n",
+		  state->global->msgprefix);
 	break;
     }
   }
   else if (!strcmp(name, "huge_page_size_kB")) {
     unsigned long lvalue = strtoul(value, NULL, 10);
     switch (obj->type) {
-      case HWLOC_OBJ_NODE:
+      case HWLOC_OBJ_NUMANODE:
       case HWLOC_OBJ_MACHINE:
       case HWLOC_OBJ_SYSTEM:
 	if (!obj->memory.page_types) {
@@ -324,14 +371,15 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology __hwloc_attribute_
 	break;
       default:
 	if (hwloc__xml_verbose())
-	  fprintf(stderr, "ignoring huge_page_size_kB attribute for object type without huge pages\n");
+	  fprintf(stderr, "%s: ignoring huge_page_size_kB attribute for object type without huge pages\n",
+		  state->global->msgprefix);
 	break;
     }
   }
   else if (!strcmp(name, "huge_page_free")) {
     unsigned long lvalue = strtoul(value, NULL, 10);
     switch (obj->type) {
-      case HWLOC_OBJ_NODE:
+      case HWLOC_OBJ_NUMANODE:
       case HWLOC_OBJ_MACHINE:
       case HWLOC_OBJ_SYSTEM:
 	if (!obj->memory.page_types) {
@@ -342,7 +390,8 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology __hwloc_attribute_
 	break;
       default:
 	if (hwloc__xml_verbose())
-	  fprintf(stderr, "ignoring huge_page_free attribute for object type without huge pages\n");
+	  fprintf(stderr, "%s: ignoring huge_page_free attribute for object type without huge pages\n",
+		  state->global->msgprefix);
 	break;
     }
   }
@@ -353,7 +402,8 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology __hwloc_attribute_
 
 
   else if (hwloc__xml_verbose())
-    fprintf(stderr, "ignoring unknown object attribute %s\n", name);
+    fprintf(stderr, "%s: ignoring unknown object attribute %s\n",
+	    state->global->msgprefix, name);
 }
 
 
@@ -366,7 +416,7 @@ hwloc__xml_import_info(hwloc_topology_t topology __hwloc_attribute_unused, hwloc
 
   while (1) {
     char *attrname, *attrvalue;
-    if (state->next_attr(state, &attrname, &attrvalue) < 0)
+    if (state->global->next_attr(state, &attrname, &attrvalue) < 0)
       break;
     if (!strcmp(attrname, "name"))
       infoname = attrvalue;
@@ -380,7 +430,7 @@ hwloc__xml_import_info(hwloc_topology_t topology __hwloc_attribute_unused, hwloc
     /* empty strings are ignored by libxml */
     hwloc_obj_add_info(obj, infoname, infovalue ? infovalue : "");
 
-  return state->close_tag(state);
+  return state->global->close_tag(state);
 }
 
 static int
@@ -391,7 +441,7 @@ hwloc__xml_import_pagetype(hwloc_topology_t topology __hwloc_attribute_unused, h
 
   while (1) {
     char *attrname, *attrvalue;
-    if (state->next_attr(state, &attrname, &attrvalue) < 0)
+    if (state->global->next_attr(state, &attrname, &attrvalue) < 0)
       break;
     if (!strcmp(attrname, "size"))
       size = strtoull(attrvalue, NULL, 10);
@@ -409,7 +459,7 @@ hwloc__xml_import_pagetype(hwloc_topology_t topology __hwloc_attribute_unused, h
     obj->memory.page_types[idx].count = count;
   }
 
-  return state->close_tag(state);
+  return state->global->close_tag(state);
 }
 
 static int
@@ -424,7 +474,7 @@ hwloc__xml_import_distances(struct hwloc_xml_backend_data_s *data,
 
   while (1) {
     char *attrname, *attrvalue;
-    if (state->next_attr(state, &attrname, &attrvalue) < 0)
+    if (state->global->next_attr(state, &attrname, &attrvalue) < 0)
       break;
     if (!strcmp(attrname, "nbobjs"))
       nbobjs = strtoul(attrvalue, NULL, 10);
@@ -453,7 +503,7 @@ hwloc__xml_import_distances(struct hwloc_xml_backend_data_s *data,
       char *attrname, *attrvalue;
       float val;
 
-      ret = state->find_child(state, &childstate, &tag);
+      ret = state->global->find_child(state, &childstate, &tag);
       if (ret <= 0 || strcmp(tag, "latency")) {
 	/* a latency child is needed */
 	free(distances->distances.latency);
@@ -461,7 +511,7 @@ hwloc__xml_import_distances(struct hwloc_xml_backend_data_s *data,
 	return -1;
       }
 
-      ret = state->next_attr(&childstate, &attrname, &attrvalue);
+      ret = state->global->next_attr(&childstate, &attrname, &attrvalue);
       if (ret < 0 || strcmp(attrname, "value")) {
 	free(distances->distances.latency);
 	free(distances);
@@ -473,11 +523,11 @@ hwloc__xml_import_distances(struct hwloc_xml_backend_data_s *data,
       if (val > latmax)
 	latmax = val;
 
-      ret = state->close_tag(&childstate);
+      ret = state->global->close_tag(&childstate);
       if (ret < 0)
 	return -1;
 
-      state->close_child(&childstate);
+      state->global->close_child(&childstate);
     }
 
     distances->distances.latency_max = latmax;
@@ -490,7 +540,7 @@ hwloc__xml_import_distances(struct hwloc_xml_backend_data_s *data,
     distances->next = NULL;
   }
 
-  return state->close_tag(state);
+  return state->global->close_tag(state);
 }
 
 static int
@@ -503,7 +553,7 @@ hwloc__xml_import_userdata(hwloc_topology_t topology __hwloc_attribute_unused, h
 
   while (1) {
     char *attrname, *attrvalue;
-    if (state->next_attr(state, &attrname, &attrvalue) < 0)
+    if (state->global->next_attr(state, &attrname, &attrvalue) < 0)
       break;
     if (!strcmp(attrname, "length"))
       length = strtoul(attrvalue, NULL, 10);
@@ -521,7 +571,7 @@ hwloc__xml_import_userdata(hwloc_topology_t topology __hwloc_attribute_unused, h
     if (encoded) {
       char *encoded_buffer;
       size_t encoded_length = 4*((length+2)/3);
-      ret = state->get_content(state, &encoded_buffer, encoded_length);
+      ret = state->global->get_content(state, &encoded_buffer, encoded_length);
       if (ret < 0)
         return -1;
       if (ret) {
@@ -537,14 +587,14 @@ hwloc__xml_import_userdata(hwloc_topology_t topology __hwloc_attribute_unused, h
       }
     } else {
       char *buffer;
-      ret = state->get_content(state, &buffer, length);
+      ret = state->global->get_content(state, &buffer, length);
       if (ret < 0)
         return -1;
       topology->userdata_import_cb(topology, obj, name, buffer, length);
     }
-    state->close_content(state);
+    state->global->close_content(state);
   }
-  return state->close_tag(state);
+  return state->global->close_tag(state);
 }
 
 static int
@@ -553,24 +603,78 @@ hwloc__xml_import_object(hwloc_topology_t topology,
 			 hwloc_obj_t obj,
 			 hwloc__xml_import_state_t state)
 {
+  hwloc_obj_t parent = obj->parent;
+
   /* process attributes */
   while (1) {
     char *attrname, *attrvalue;
-    if (state->next_attr(state, &attrname, &attrvalue) < 0)
+    if (state->global->next_attr(state, &attrname, &attrvalue) < 0)
       break;
     if (!strcmp(attrname, "type")) {
       if (hwloc_obj_type_sscanf(attrvalue, &obj->type, NULL, NULL, 0) < 0)
-        return -1;
+	goto error;
     } else {
       /* type needed first */
       if (obj->type == (hwloc_obj_type_t)-1)
-        return -1;
-      hwloc__xml_import_object_attr(topology, obj, attrname, attrvalue);
+	goto error;
+      hwloc__xml_import_object_attr(topology, obj, attrname, attrvalue, state);
     }
   }
 
-  if (obj->parent) {
+  if (parent) {
     /* root->parent is NULL, and root is already inserted */
+
+    /* warn if inserting out-of-order */
+    if (parent->cpuset) { /* don't compare children if multinode parent */
+      hwloc_obj_t *current;
+      for (current = &parent->first_child; *current; current = &(*current)->next_sibling) {
+	hwloc_bitmap_t curcpuset = (*current)->cpuset;
+	if (obj->cpuset && (!curcpuset || hwloc__object_cpusets_compare_first(obj, *current) < 0)) {
+	  static int reported = 0;
+	  if (!reported && !hwloc_hide_errors()) {
+	    char *progname = hwloc_progname(topology);
+	    const char *origversion = hwloc_obj_get_info_by_name(topology->levels[0][0], "hwlocVersion");
+	    const char *origprogname = hwloc_obj_get_info_by_name(topology->levels[0][0], "ProcessName");
+	    char *c1, *cc1, t1[64];
+	    char *c2 = NULL, *cc2 = NULL, t2[64];
+	    hwloc_bitmap_asprintf(&c1, obj->cpuset);
+	    hwloc_bitmap_asprintf(&cc1, obj->complete_cpuset);
+	    hwloc_obj_type_snprintf(t1, sizeof(t1), obj, 0);
+	    if (curcpuset)
+	      hwloc_bitmap_asprintf(&c2, curcpuset);
+	    if ((*current)->complete_cpuset)
+	      hwloc_bitmap_asprintf(&cc2, (*current)->complete_cpuset);
+	    hwloc_obj_type_snprintf(t2, sizeof(t2), *current, 0);
+	    fprintf(stderr, "****************************************************************************\n");
+	    fprintf(stderr, "* hwloc has encountered an out-of-order XML topology load.\n");
+	    fprintf(stderr, "* Object %s cpuset %s complete %s\n",
+		    t1, c1, cc1);
+	    fprintf(stderr, "* was inserted after object %s with %s and %s.\n",
+		    t2, c2 ? c2 : "none", cc2 ? cc2 : "none");
+	    fprintf(stderr, "* The error occured in hwloc %s inside process `%s', while\n",
+		    HWLOC_VERSION,
+		    progname ? progname : "<unknown>");
+	    if (origversion || origprogname)
+	      fprintf(stderr, "* the input XML was generated by hwloc %s inside process `%s'.\n",
+		      origversion ? origversion : "(unknown version)",
+		      origprogname ? origprogname : "<unknown>");
+	    else
+	      fprintf(stderr, "* the input XML was generated by an unspecified ancient hwloc release.\n");
+	    fprintf(stderr, "* Please check that your input topology XML file is valid.\n");
+	    fprintf(stderr, "****************************************************************************\n");
+	    free(c1);
+	    free(cc1);
+	    if (c2)
+	      free(c2);
+	    if (cc2)
+	      free(cc2);
+	    free(progname);
+	    reported = 1;
+	  }
+	}
+      }
+    }
+
     hwloc_insert_object_by_parent(topology, obj->parent /* filled by the caller */, obj);
     /* insert_object_by_parent() doesn't merge during insert, so obj is still valid */
   }
@@ -581,9 +685,9 @@ hwloc__xml_import_object(hwloc_topology_t topology,
     char *tag;
     int ret;
 
-    ret = state->find_child(state, &childstate, &tag);
+    ret = state->global->find_child(state, &childstate, &tag);
     if (ret < 0)
-      return -1;
+      goto error;
     if (!ret)
       break;
 
@@ -603,12 +707,16 @@ hwloc__xml_import_object(hwloc_topology_t topology,
       ret = -1;
 
     if (ret < 0)
-      return ret;
+      goto error;
 
-    state->close_child(&childstate);
+    state->global->close_child(&childstate);
   }
 
-  return state->close_tag(state);
+  return state->global->close_tag(state);
+
+ error:
+  hwloc_free_unlinked_object(obj);
+  return -1;
 }
 
 static int
@@ -627,7 +735,7 @@ hwloc__xml_import_diff_one(hwloc__xml_import_state_t state,
 
   while (1) {
     char *attrname, *attrvalue;
-    if (state->next_attr(state, &attrname, &attrvalue) < 0)
+    if (state->global->next_attr(state, &attrname, &attrvalue) < 0)
       break;
     if (!strcmp(attrname, "type"))
       type_s = attrvalue;
@@ -645,8 +753,12 @@ hwloc__xml_import_diff_one(hwloc__xml_import_state_t state,
       obj_attr_oldvalue_s = attrvalue;
     else if (!strcmp(attrname, "obj_attr_newvalue"))
       obj_attr_newvalue_s = attrvalue;
-    else
+    else {
+      if (hwloc__xml_verbose())
+	fprintf(stderr, "%s: ignoring unknown diff attribute %s\n",
+		state->global->msgprefix, attrname);
       return -1;
+    }
   }
 
   if (type_s) {
@@ -659,17 +771,29 @@ hwloc__xml_import_diff_one(hwloc__xml_import_state_t state,
       hwloc_topology_diff_t diff;
 
       /* obj_attr mandatory generic attributes */
-      if (!obj_depth_s || !obj_index_s || !obj_attr_type_s)
+      if (!obj_depth_s || !obj_index_s || !obj_attr_type_s) {
+	if (hwloc__xml_verbose())
+	  fprintf(stderr, "%s: missing mandatory obj attr generic attributes\n",
+		  state->global->msgprefix);
 	break;
+      }
 
       /* obj_attr mandatory attributes common to all subtypes */
-      if (!obj_attr_oldvalue_s || !obj_attr_newvalue_s)
+      if (!obj_attr_oldvalue_s || !obj_attr_newvalue_s) {
+	if (hwloc__xml_verbose())
+	  fprintf(stderr, "%s: missing mandatory obj attr value attributes\n",
+		  state->global->msgprefix);
 	break;
+      }
 
       /* mandatory attributes for obj_attr_info subtype */
       obj_attr_type = atoi(obj_attr_type_s);
-      if (obj_attr_type == HWLOC_TOPOLOGY_DIFF_OBJ_ATTR_INFO && !obj_attr_name_s)
+      if (obj_attr_type == HWLOC_TOPOLOGY_DIFF_OBJ_ATTR_INFO && !obj_attr_name_s) {
+	if (hwloc__xml_verbose())
+	  fprintf(stderr, "%s: missing mandatory obj attr info name attribute\n",
+		  state->global->msgprefix);
 	break;
+      }
 
       /* now we know we have everything we need */
       diff = malloc(sizeof(*diff));
@@ -705,7 +829,7 @@ hwloc__xml_import_diff_one(hwloc__xml_import_state_t state,
     }
   }
 
-  return state->close_tag(state);
+  return state->global->close_tag(state);
 }
 
 int
@@ -720,7 +844,7 @@ hwloc__xml_import_diff(hwloc__xml_import_state_t state,
     char *tag;
     int ret;
 
-    ret = state->find_child(state, &childstate, &tag);
+    ret = state->global->find_child(state, &childstate, &tag);
     if (ret < 0)
       return -1;
     if (!ret)
@@ -734,7 +858,7 @@ hwloc__xml_import_diff(hwloc__xml_import_state_t state,
     if (ret < 0)
       return ret;
 
-    state->close_child(&childstate);
+    state->global->close_child(&childstate);
   }
 
   *firstdiffp = firstdiff;
@@ -747,7 +871,8 @@ hwloc__xml_import_diff(hwloc__xml_import_state_t state,
 
 static int
 hwloc_xml__handle_distances(struct hwloc_topology *topology,
-			    struct hwloc_xml_backend_data_s *data)
+			    struct hwloc_xml_backend_data_s *data,
+			    const char *msgprefix)
 {
   struct hwloc_xml_imported_distances_s *xmldist, *next = data->first_distances;
 
@@ -766,8 +891,8 @@ hwloc_xml__handle_distances(struct hwloc_topology *topology,
     if (nbobjs != xmldist->distances.nbobjs) {
       /* distances invalid, drop */
       if (hwloc__xml_verbose())
-	fprintf(stderr, "ignoring invalid distance matrix with %u objs instead of %u\n",
-		xmldist->distances.nbobjs, nbobjs);
+	fprintf(stderr, "%s: ignoring invalid distance matrix with %u objs instead of %u\n",
+		msgprefix, xmldist->distances.nbobjs, nbobjs);
       free(xmldist->distances.latency);
     } else {
       /* distances valid, add it to the internal OS distances list for grouping */
@@ -803,6 +928,8 @@ hwloc_look_xml(struct hwloc_backend *backend)
   hwloc_localeswitch_declare;
   int ret;
 
+  state.global = data;
+
   assert(!topology->levels[0][0]->cpuset);
 
   hwloc_localeswitch_init();
@@ -814,22 +941,22 @@ hwloc_look_xml(struct hwloc_backend *backend)
     goto failed;
 
   /* find root object tag and import it */
-  ret = state.find_child(&state, &childstate, &tag);
+  ret = state.global->find_child(&state, &childstate, &tag);
   if (ret < 0 || !ret || strcmp(tag, "object"))
     goto failed;
   ret = hwloc__xml_import_object(topology, data, topology->levels[0][0], &childstate);
   if (ret < 0)
     goto failed;
-  state.close_child(&childstate);
+  state.global->close_child(&childstate);
 
   /* find end of topology tag */
-  state.close_tag(&state);
+  state.global->close_tag(&state);
 
   /* keep the "Backend" information intact */
   /* we could add "BackendSource=XML" to notify that XML was used between the actual backend and here */
 
   /* if we added some distances, we must check them, and make them groupable */
-  if (hwloc_xml__handle_distances(topology, data) < 0)
+  if (hwloc_xml__handle_distances(topology, data, data->msgprefix) < 0)
     goto err;
   data->first_distances = data->last_distances = NULL;
   topology->support.discovery->pu = 1;
@@ -841,7 +968,8 @@ hwloc_look_xml(struct hwloc_backend *backend)
   if (data->look_failed)
     data->look_failed(data);
   if (hwloc__xml_verbose())
-    fprintf(stderr, "XML component discovery failed.\n");
+    fprintf(stderr, "%s: XML component discovery failed.\n",
+	    data->msgprefix);
  err:
   hwloc_localeswitch_fini();
   return -1;
@@ -853,11 +981,22 @@ hwloc_topology_diff_load_xml(hwloc_topology_t topology __hwloc_attribute_unused,
 			     const char *xmlpath,
 			     hwloc_topology_diff_t *firstdiffp, char **refnamep)
 {
+  struct hwloc__xml_import_state_s state;
+  struct hwloc_xml_backend_data_s fakedata; /* only for storing global info during parsing */
   hwloc_localeswitch_declare;
-  char *env;
+  const char *basename;
   int force_nolibxml;
   int ret;
 
+  state.global = &fakedata;
+
+  basename = strrchr(xmlpath, '/');
+  if (basename)
+    basename++;
+  else
+    basename = xmlpath;
+  fakedata.msgprefix = strdup(basename);
+
   if (!hwloc_libxml_callbacks && !hwloc_nolibxml_callbacks) {
     errno = ENOSYS;
     return -1;
@@ -867,13 +1006,12 @@ hwloc_topology_diff_load_xml(hwloc_topology_t topology __hwloc_attribute_unused,
 
   *firstdiffp = NULL;
 
-  env = getenv("HWLOC_NO_LIBXML_IMPORT");
-  force_nolibxml = (env && atoi(env));
+  force_nolibxml = hwloc_nolibxml_import();
 retry:
   if (!hwloc_libxml_callbacks || (hwloc_nolibxml_callbacks && force_nolibxml))
-    ret = hwloc_nolibxml_callbacks->import_diff(xmlpath, NULL, 0, firstdiffp, refnamep);
+    ret = hwloc_nolibxml_callbacks->import_diff(&state, xmlpath, NULL, 0, firstdiffp, refnamep);
   else {
-    ret = hwloc_libxml_callbacks->import_diff(xmlpath, NULL, 0, firstdiffp, refnamep);
+    ret = hwloc_libxml_callbacks->import_diff(&state, xmlpath, NULL, 0, firstdiffp, refnamep);
     if (ret < 0 && errno == ENOSYS) {
       hwloc_libxml_callbacks = NULL;
       goto retry;
@@ -881,6 +1019,8 @@ retry:
   }
 
   hwloc_localeswitch_fini();
+
+  free(fakedata.msgprefix);
   return ret;
 }
 
@@ -890,11 +1030,15 @@ hwloc_topology_diff_load_xmlbuffer(hwloc_topology_t topology __hwloc_attribute_u
 				   const char *xmlbuffer, int buflen,
 				   hwloc_topology_diff_t *firstdiffp, char **refnamep)
 {
+  struct hwloc__xml_import_state_s state;
+  struct hwloc_xml_backend_data_s fakedata; /* only for storing global info during parsing */
   hwloc_localeswitch_declare;
-  char *env;
   int force_nolibxml;
   int ret;
 
+  state.global = &fakedata;
+  fakedata.msgprefix = "xmldiffbuffer";
+
   if (!hwloc_libxml_callbacks && !hwloc_nolibxml_callbacks) {
     errno = ENOSYS;
     return -1;
@@ -904,13 +1048,12 @@ hwloc_topology_diff_load_xmlbuffer(hwloc_topology_t topology __hwloc_attribute_u
 
   *firstdiffp = NULL;
 
-  env = getenv("HWLOC_NO_LIBXML_IMPORT");
-  force_nolibxml = (env && atoi(env));
-retry:
+  force_nolibxml = hwloc_nolibxml_import();
+ retry:
   if (!hwloc_libxml_callbacks || (hwloc_nolibxml_callbacks && force_nolibxml))
-    ret = hwloc_nolibxml_callbacks->import_diff(NULL, xmlbuffer, buflen, firstdiffp, refnamep);
+    ret = hwloc_nolibxml_callbacks->import_diff(&state, NULL, xmlbuffer, buflen, firstdiffp, refnamep);
   else {
-    ret = hwloc_libxml_callbacks->import_diff(NULL, xmlbuffer, buflen, firstdiffp, refnamep);
+    ret = hwloc_libxml_callbacks->import_diff(&state, NULL, xmlbuffer, buflen, firstdiffp, refnamep);
     if (ret < 0 && errno == ENOSYS) {
       hwloc_libxml_callbacks = NULL;
       goto retry;
@@ -1188,7 +1331,6 @@ hwloc__xml_export_diff(hwloc__xml_export_state_t parentstate, hwloc_topology_dif
 int hwloc_topology_export_xml(hwloc_topology_t topology, const char *filename)
 {
   hwloc_localeswitch_declare;
-  char *env;
   int force_nolibxml;
   int ret;
 
@@ -1199,8 +1341,7 @@ int hwloc_topology_export_xml(hwloc_topology_t topology, const char *filename)
 
   hwloc_localeswitch_init();
 
-  env = getenv("HWLOC_NO_LIBXML_EXPORT");
-  force_nolibxml = (env && atoi(env));
+  force_nolibxml = hwloc_nolibxml_export();
 retry:
   if (!hwloc_libxml_callbacks || (hwloc_nolibxml_callbacks && force_nolibxml))
     ret = hwloc_nolibxml_callbacks->export_file(topology, filename);
@@ -1220,7 +1361,6 @@ retry:
 int hwloc_topology_export_xmlbuffer(hwloc_topology_t topology, char **xmlbuffer, int *buflen)
 {
   hwloc_localeswitch_declare;
-  char *env;
   int force_nolibxml;
   int ret;
 
@@ -1231,8 +1371,7 @@ int hwloc_topology_export_xmlbuffer(hwloc_topology_t topology, char **xmlbuffer,
 
   hwloc_localeswitch_init();
 
-  env = getenv("HWLOC_NO_LIBXML_EXPORT");
-  force_nolibxml = (env && atoi(env));
+  force_nolibxml = hwloc_nolibxml_export();
 retry:
   if (!hwloc_libxml_callbacks || (hwloc_nolibxml_callbacks && force_nolibxml))
     ret = hwloc_nolibxml_callbacks->export_buffer(topology, xmlbuffer, buflen);
@@ -1256,7 +1395,6 @@ hwloc_topology_diff_export_xml(hwloc_topology_t topology __hwloc_attribute_unuse
 {
   hwloc_localeswitch_declare;
   hwloc_topology_diff_t tmpdiff;
-  char *env;
   int force_nolibxml;
   int ret;
 
@@ -1276,8 +1414,7 @@ hwloc_topology_diff_export_xml(hwloc_topology_t topology __hwloc_attribute_unuse
 
   hwloc_localeswitch_init();
 
-  env = getenv("HWLOC_NO_LIBXML_EXPORT");
-  force_nolibxml = (env && atoi(env));
+  force_nolibxml = hwloc_nolibxml_export();
 retry:
   if (!hwloc_libxml_callbacks || (hwloc_nolibxml_callbacks && force_nolibxml))
     ret = hwloc_nolibxml_callbacks->export_diff_file(diff, refname, filename);
@@ -1301,7 +1438,6 @@ hwloc_topology_diff_export_xmlbuffer(hwloc_topology_t topology __hwloc_attribute
 {
   hwloc_localeswitch_declare;
   hwloc_topology_diff_t tmpdiff;
-  char *env;
   int force_nolibxml;
   int ret;
 
@@ -1321,8 +1457,7 @@ hwloc_topology_diff_export_xmlbuffer(hwloc_topology_t topology __hwloc_attribute
 
   hwloc_localeswitch_init();
 
-  env = getenv("HWLOC_NO_LIBXML_EXPORT");
-  force_nolibxml = (env && atoi(env));
+  force_nolibxml = hwloc_nolibxml_export();
 retry:
   if (!hwloc_libxml_callbacks || (hwloc_nolibxml_callbacks && force_nolibxml))
     ret = hwloc_nolibxml_callbacks->export_diff_buffer(diff, refname, xmlbuffer, buflen);
@@ -1340,7 +1475,6 @@ retry:
 
 void hwloc_free_xmlbuffer(hwloc_topology_t topology __hwloc_attribute_unused, char *xmlbuffer)
 {
-  char *env;
   int force_nolibxml;
 
   if (!hwloc_libxml_callbacks && !hwloc_nolibxml_callbacks) {
@@ -1348,8 +1482,7 @@ void hwloc_free_xmlbuffer(hwloc_topology_t topology __hwloc_attribute_unused, ch
     return ;
   }
 
-  env = getenv("HWLOC_NO_LIBXML_EXPORT");
-  force_nolibxml = (env && atoi(env));
+  force_nolibxml = hwloc_nolibxml_export();
   if (!hwloc_libxml_callbacks || (hwloc_nolibxml_callbacks && force_nolibxml))
     hwloc_nolibxml_callbacks->free_buffer(xmlbuffer);
   else
@@ -1444,6 +1577,7 @@ hwloc_xml_backend_disable(struct hwloc_backend *backend)
 {
   struct hwloc_xml_backend_data_s *data = backend->private_data;
   data->backend_exit(data);
+  free(data->msgprefix);
   free(data);
 }
 
@@ -1455,11 +1589,11 @@ hwloc_xml_component_instantiate(struct hwloc_disc_component *component,
 {
   struct hwloc_xml_backend_data_s *data;
   struct hwloc_backend *backend;
-  char *env;
   int force_nolibxml;
   const char * xmlpath = (const char *) _data1;
   const char * xmlbuffer = (const char *) _data2;
   int xmlbuflen = (int)(uintptr_t) _data3;
+  const char *basename;
   int err;
 
   if (!hwloc_libxml_callbacks && !hwloc_nolibxml_callbacks) {
@@ -1487,8 +1621,18 @@ hwloc_xml_component_instantiate(struct hwloc_disc_component *component,
   backend->disable = hwloc_xml_backend_disable;
   backend->is_thissystem = 0;
 
-  env = getenv("HWLOC_NO_LIBXML_IMPORT");
-  force_nolibxml = (env && atoi(env));
+  if (xmlpath) {
+    basename = strrchr(xmlpath, '/');
+    if (basename)
+      basename++;
+    else
+      basename = xmlpath;
+  } else {
+    basename = "xmlbuffer";
+  }
+  data->msgprefix = strdup(basename);
+
+  force_nolibxml = hwloc_nolibxml_import();
 retry:
   if (!hwloc_libxml_callbacks || (hwloc_nolibxml_callbacks && force_nolibxml))
     err = hwloc_nolibxml_callbacks->backend_init(data, xmlpath, xmlbuffer, xmlbuflen);
@@ -1505,6 +1649,7 @@ retry:
   return backend;
 
  out_with_data:
+  free(data->msgprefix);
   free(data);
  out_with_backend:
   free(backend);
@@ -1523,6 +1668,7 @@ static struct hwloc_disc_component hwloc_xml_disc_component = {
 
 const struct hwloc_component hwloc_xml_component = {
   HWLOC_COMPONENT_ABI,
+  NULL, NULL,
   HWLOC_COMPONENT_TYPE_DISC,
   0,
   &hwloc_xml_disc_component
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology.c
index 2acad02..1636730 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2012 Université Bordeaux 1
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2012 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -72,14 +72,16 @@ void hwloc_report_os_error(const char *msg, int line)
 
     if (!reported && !hwloc_hide_errors()) {
         fprintf(stderr, "****************************************************************************\n");
-        fprintf(stderr, "* hwloc has encountered what looks like an error from the operating system.\n");
+        fprintf(stderr, "* hwloc %s has encountered what looks like an error from the operating system.\n", HWLOC_VERSION);
         fprintf(stderr, "*\n");
         fprintf(stderr, "* %s\n", msg);
         fprintf(stderr, "* Error occurred in topology.c line %d\n", line);
         fprintf(stderr, "*\n");
-        fprintf(stderr, "* Please report this error message to the hwloc user's mailing list,\n");
+        fprintf(stderr, "* The following FAQ entry in the hwloc documentation may help:\n");
+        fprintf(stderr, "*   What should I do when hwloc reports \"operating system\" warnings?\n");
+        fprintf(stderr, "* Otherwise please report this error message to the hwloc user's mailing list,\n");
 #ifdef HWLOC_LINUX_SYS
-        fprintf(stderr, "* along with the output from the hwloc-gather-topology script.\n");
+        fprintf(stderr, "* along with the output+tarball generated by the hwloc-gather-topology script.\n");
 #else
 	fprintf(stderr, "* along with any relevant topology information from your platform.\n");
 #endif
@@ -199,13 +201,20 @@ hwloc_setup_pu_level(struct hwloc_topology *topology,
     }
 }
 
+#ifdef HWLOC_DEBUG
+/* Just for debugging.  */
 static void
-print_object(struct hwloc_topology *topology, int indent __hwloc_attribute_unused, hwloc_obj_t obj)
+hwloc_debug_print_object(int indent __hwloc_attribute_unused, hwloc_obj_t obj)
 {
-  char line[256], *cpuset = NULL;
+  char type[64], idx[10], attr[1024], *cpuset = NULL;
   hwloc_debug("%*s", 2*indent, "");
-  hwloc_obj_snprintf(line, sizeof(line), topology, obj, "#", 1);
-  hwloc_debug("%s", line);
+  hwloc_obj_type_snprintf(type, sizeof(type), obj, 1);
+  if (obj->os_index != (unsigned) -1)
+    snprintf(idx, sizeof(idx), "#%u", obj->os_index);
+  else
+    *idx = '\0';
+  hwloc_obj_attr_snprintf(attr, sizeof(attr), obj, " ", 1);
+  hwloc_debug("%s%s%s%s%s", type, idx, *attr ? "(" : "", attr, *attr ? ")" : "");
   if (obj->name)
     hwloc_debug(" name %s", obj->name);
   if (obj->cpuset) {
@@ -248,16 +257,17 @@ print_object(struct hwloc_topology *topology, int indent __hwloc_attribute_unuse
   hwloc_debug("%s", "\n");
 }
 
-/* Just for debugging.  */
 static void
-print_objects(struct hwloc_topology *topology __hwloc_attribute_unused, int indent __hwloc_attribute_unused, hwloc_obj_t obj __hwloc_attribute_unused)
+hwloc_debug_print_objects(int indent __hwloc_attribute_unused, hwloc_obj_t obj)
 {
-#ifdef HWLOC_DEBUG
-  print_object(topology, indent, obj);
+  hwloc_debug_print_object(indent, obj);
   for (obj = obj->first_child; obj; obj = obj->next_sibling)
-    print_objects(topology, indent + 1, obj);
-#endif
+    hwloc_debug_print_objects(indent + 1, obj);
 }
+#else /* !HWLOC_DEBUG */
+#define hwloc_debug_print_object(indent, obj) do { /* nothing */ } while (0)
+#define hwloc_debug_print_objects(indent, obj) do { /* nothing */ } while (0)
+#endif /* !HWLOC_DEBUG */
 
 void hwloc__free_infos(struct hwloc_obj_info_s *infos, unsigned count)
 {
@@ -331,6 +341,16 @@ void hwloc_obj_add_info_nodup(hwloc_obj_t obj, const char *name, const char *val
   hwloc__add_info(&obj->infos, &obj->infos_count, name, value);
 }
 
+/* Traverse children of a parent in a safe way: reread the next pointer as
+ * appropriate to prevent crash on child deletion:  */
+#define for_each_child_safe(child, parent, pchild) \
+  for (pchild = &(parent)->first_child, child = *pchild; \
+       child; \
+       /* Check whether the current child was not dropped.  */ \
+       (*pchild == child ? pchild = &(child->next_sibling) : NULL), \
+       /* Get pointer to next childect.  */ \
+        child = *pchild)
+
 /* Free an object and all its content.  */
 void
 hwloc_free_unlinked_object(hwloc_obj_t obj)
@@ -355,6 +375,60 @@ hwloc_free_unlinked_object(hwloc_obj_t obj)
   free(obj);
 }
 
+/* insert the (non-empty) list of sibling starting at firstnew as new children of newparent,
+ * and return the address of the pointer to the next one
+ */
+static hwloc_obj_t *
+insert_siblings_list(hwloc_obj_t *firstp, hwloc_obj_t firstnew, hwloc_obj_t newparent)
+{
+  hwloc_obj_t tmp;
+  assert(firstnew);
+  *firstp = tmp = firstnew;
+  tmp->parent = newparent;
+  while (tmp->next_sibling) {
+    tmp = tmp->next_sibling;
+  }
+  return &tmp->next_sibling;
+}
+
+/* Remove an object from its parent and free it.
+ * Only updates next_sibling/first_child pointers,
+ * so may only be used during early discovery.
+ * Children are inserted where the object was.
+ */
+static void
+unlink_and_free_single_object(hwloc_obj_t *pparent)
+{
+  hwloc_obj_t old = *pparent;
+  hwloc_obj_t *lastp;
+
+  if (old->first_child)
+    /* insert old object children as new siblings below parent instead of old */
+    lastp = insert_siblings_list(pparent, old->first_child, old->parent);
+  else
+    lastp = pparent;
+  /* append old siblings back */
+  *lastp = old->next_sibling;
+
+  hwloc_free_unlinked_object(old);
+}
+
+/* Remove an object and its children from its parent and free them.
+ * Only updates next_sibling/first_child pointers,
+ * so may only be used during early discovery.
+ */
+static void
+unlink_and_free_object_and_children(hwloc_obj_t *pobj)
+{
+  hwloc_obj_t obj = *pobj, child, *pchild;
+
+  for_each_child_safe(child, obj, pchild)
+    unlink_and_free_object_and_children(pchild);
+
+  *pobj = obj->next_sibling;
+  hwloc_free_unlinked_object(obj);
+}
+
 static void
 hwloc__duplicate_object(struct hwloc_obj *newobj,
 			struct hwloc_obj *src)
@@ -407,6 +481,9 @@ hwloc__duplicate_objects(struct hwloc_topology *newtopology,
   while ((child = hwloc_get_next_child(newtopology, src, child)) != NULL)
     hwloc__duplicate_objects(newtopology, newobj, child);
 
+  /* no need to check the children order here, the source topology
+   * is supposed to be OK already, and we have debug asserts.
+   */
   hwloc_insert_object_by_parent(newtopology, newparent, newobj);
 }
 
@@ -499,20 +576,6 @@ hwloc_topology_dup(hwloc_topology_t *newp,
   return -1;
 }
 
-/*
- * How to compare objects based on types.
- *
- * Note that HIGHER/LOWER is only a (consistent) heuristic, used to sort
- * objects with same cpuset consistently.
- * Only EQUAL / not EQUAL can be relied upon.
- */
-
-enum hwloc_type_cmp_e {
-  HWLOC_TYPE_HIGHER,
-  HWLOC_TYPE_DEEPER,
-  HWLOC_TYPE_EQUAL
-};
-
 /* WARNING: The indexes of this array MUST match the ordering that of
    the obj_order_type[] array, below.  Specifically, the values must
    be laid out such that:
@@ -537,8 +600,8 @@ enum hwloc_type_cmp_e {
 static const unsigned obj_type_order[] = {
     /* first entry is HWLOC_OBJ_SYSTEM */  0,
     /* next entry is HWLOC_OBJ_MACHINE */  1,
-    /* next entry is HWLOC_OBJ_NODE */     3,
-    /* next entry is HWLOC_OBJ_SOCKET */   4,
+    /* next entry is HWLOC_OBJ_NUMANODE */ 3,
+    /* next entry is HWLOC_OBJ_PACKAGE */  4,
     /* next entry is HWLOC_OBJ_CACHE */    5,
     /* next entry is HWLOC_OBJ_CORE */     6,
     /* next entry is HWLOC_OBJ_PU */       10,
@@ -553,8 +616,8 @@ static const hwloc_obj_type_t obj_order_type[] = {
   HWLOC_OBJ_SYSTEM,
   HWLOC_OBJ_MACHINE,
   HWLOC_OBJ_GROUP,
-  HWLOC_OBJ_NODE,
-  HWLOC_OBJ_SOCKET,
+  HWLOC_OBJ_NUMANODE,
+  HWLOC_OBJ_PACKAGE,
   HWLOC_OBJ_CACHE,
   HWLOC_OBJ_CORE,
   HWLOC_OBJ_BRIDGE,
@@ -570,7 +633,7 @@ static const hwloc_obj_type_t obj_order_type[] = {
  * Always keep Machine/PU/PCIDev/OSDev
  * then System/Node
  * then Core
- * then Socket
+ * then Package
  * then Cache
  * then always drop Group/Misc/Bridge.
  *
@@ -579,8 +642,8 @@ static const hwloc_obj_type_t obj_order_type[] = {
 static const int obj_type_priority[] = {
   /* first entry is HWLOC_OBJ_SYSTEM */     80,
   /* next entry is HWLOC_OBJ_MACHINE */     100,
-  /* next entry is HWLOC_OBJ_NODE */        80,
-  /* next entry is HWLOC_OBJ_SOCKET */      40,
+  /* next entry is HWLOC_OBJ_NUMANODE */    80,
+  /* next entry is HWLOC_OBJ_PACKAGE */     40,
   /* next entry is HWLOC_OBJ_CACHE */       20,
   /* next entry is HWLOC_OBJ_CORE */        60,
   /* next entry is HWLOC_OBJ_PU */          100,
@@ -625,7 +688,15 @@ int hwloc_compare_types (hwloc_obj_type_t type1, hwloc_obj_type_t type2)
   return order1 - order2;
 }
 
-static enum hwloc_type_cmp_e
+enum hwloc_obj_cmp_e {
+  HWLOC_OBJ_EQUAL = HWLOC_BITMAP_EQUAL,			/**< \brief Equal */
+  HWLOC_OBJ_INCLUDED = HWLOC_BITMAP_INCLUDED,		/**< \brief Strictly included into */
+  HWLOC_OBJ_CONTAINS = HWLOC_BITMAP_CONTAINS,		/**< \brief Strictly contains */
+  HWLOC_OBJ_INTERSECTS = HWLOC_BITMAP_INTERSECTS,	/**< \brief Intersects, but no inclusion! */
+  HWLOC_OBJ_DIFFERENT = HWLOC_BITMAP_DIFFERENT		/**< \brief No intersection */
+};
+
+static enum hwloc_obj_cmp_e
 hwloc_type_cmp(hwloc_obj_t obj1, hwloc_obj_t obj2)
 {
   hwloc_obj_type_t type1 = obj1->type;
@@ -634,62 +705,54 @@ hwloc_type_cmp(hwloc_obj_t obj1, hwloc_obj_t obj2)
 
   compare = hwloc_compare_types(type1, type2);
   if (compare == HWLOC_TYPE_UNORDERED)
-    return HWLOC_TYPE_EQUAL; /* we cannot do better */
+    return HWLOC_OBJ_DIFFERENT; /* we cannot do better */
   if (compare > 0)
-    return HWLOC_TYPE_DEEPER;
+    return HWLOC_OBJ_INCLUDED;
   if (compare < 0)
-    return HWLOC_TYPE_HIGHER;
+    return HWLOC_OBJ_CONTAINS;
 
   /* Caches have the same types but can have different depths.  */
   if (type1 == HWLOC_OBJ_CACHE) {
     if (obj1->attr->cache.depth < obj2->attr->cache.depth)
-      return HWLOC_TYPE_DEEPER;
+      return HWLOC_OBJ_INCLUDED;
     else if (obj1->attr->cache.depth > obj2->attr->cache.depth)
-      return HWLOC_TYPE_HIGHER;
+      return HWLOC_OBJ_CONTAINS;
     else if (obj1->attr->cache.type > obj2->attr->cache.type)
       /* consider icache deeper than dcache and dcache deeper than unified */
-      return HWLOC_TYPE_DEEPER;
+      return HWLOC_OBJ_INCLUDED;
     else if (obj1->attr->cache.type < obj2->attr->cache.type)
       /* consider icache deeper than dcache and dcache deeper than unified */
-      return HWLOC_TYPE_HIGHER;
+      return HWLOC_OBJ_CONTAINS;
   }
 
   /* Group objects have the same types but can have different depths.  */
   if (type1 == HWLOC_OBJ_GROUP) {
     if (obj1->attr->group.depth == (unsigned) -1
 	|| obj2->attr->group.depth == (unsigned) -1)
-      return HWLOC_TYPE_EQUAL;
+      return HWLOC_OBJ_EQUAL;
     if (obj1->attr->group.depth < obj2->attr->group.depth)
-      return HWLOC_TYPE_DEEPER;
+      return HWLOC_OBJ_INCLUDED;
     else if (obj1->attr->group.depth > obj2->attr->group.depth)
-      return HWLOC_TYPE_HIGHER;
+      return HWLOC_OBJ_CONTAINS;
   }
 
   /* Bridges objects have the same types but can have different depths.  */
   if (type1 == HWLOC_OBJ_BRIDGE) {
     if (obj1->attr->bridge.depth < obj2->attr->bridge.depth)
-      return HWLOC_TYPE_DEEPER;
+      return HWLOC_OBJ_INCLUDED;
     else if (obj1->attr->bridge.depth > obj2->attr->bridge.depth)
-      return HWLOC_TYPE_HIGHER;
+      return HWLOC_OBJ_CONTAINS;
   }
 
-  return HWLOC_TYPE_EQUAL;
+  return HWLOC_OBJ_EQUAL;
 }
 
 /*
  * How to compare objects based on cpusets.
  */
 
-enum hwloc_obj_cmp_e {
-  HWLOC_OBJ_EQUAL,	/**< \brief Equal */
-  HWLOC_OBJ_INCLUDED,	/**< \brief Strictly included into */
-  HWLOC_OBJ_CONTAINS,	/**< \brief Strictly contains */
-  HWLOC_OBJ_INTERSECTS,	/**< \brief Intersects, but no inclusion! */
-  HWLOC_OBJ_DIFFERENT	/**< \brief No intersection */
-};
-
 static int
-hwloc_obj_cmp(hwloc_obj_t obj1, hwloc_obj_t obj2)
+hwloc_obj_cmp_sets(hwloc_obj_t obj1, hwloc_obj_t obj2)
 {
   hwloc_bitmap_t set1, set2;
 
@@ -706,50 +769,7 @@ hwloc_obj_cmp(hwloc_obj_t obj1, hwloc_obj_t obj2)
     return HWLOC_OBJ_DIFFERENT;
   }
 
-  if (hwloc_bitmap_isequal(set1, set2)) {
-
-    /* Same sets, subsort by type to have a consistent ordering.  */
-
-    switch (hwloc_type_cmp(obj1, obj2)) {
-      case HWLOC_TYPE_DEEPER:
-	return HWLOC_OBJ_INCLUDED;
-      case HWLOC_TYPE_HIGHER:
-	return HWLOC_OBJ_CONTAINS;
-
-      case HWLOC_TYPE_EQUAL:
-        if (obj1->type == HWLOC_OBJ_MISC) {
-          /* Misc objects may vary by name */
-          int res = strcmp(obj1->name, obj2->name);
-          if (res < 0)
-            return HWLOC_OBJ_INCLUDED;
-          if (res > 0)
-            return HWLOC_OBJ_CONTAINS;
-          if (res == 0)
-            return HWLOC_OBJ_EQUAL;
-        }
-
-	/* Same sets and types!  Let's hope it's coherent.  */
-	return HWLOC_OBJ_EQUAL;
-    }
-
-    /* For dumb compilers */
-    abort();
-
-  } else {
-
-    /* Different sets, sort by inclusion.  */
-
-    if (hwloc_bitmap_isincluded(set1, set2))
-      return HWLOC_OBJ_INCLUDED;
-
-    if (hwloc_bitmap_isincluded(set2, set1))
-      return HWLOC_OBJ_CONTAINS;
-
-    if (hwloc_bitmap_intersects(set1, set2))
-      return HWLOC_OBJ_INTERSECTS;
-
-    return HWLOC_OBJ_DIFFERENT;
-  }
+  return hwloc_bitmap_compare_inclusion(set1, set2);
 }
 
 /* Compare object cpusets based on complete_cpuset if defined (always correctly ordered),
@@ -757,7 +777,7 @@ hwloc_obj_cmp(hwloc_obj_t obj1, hwloc_obj_t obj2)
  *
  * This is the sane way to compare object among a horizontal level.
  */
-static int
+int
 hwloc__object_cpusets_compare_first(hwloc_obj_t obj1, hwloc_obj_t obj2)
 {
   if (obj1->complete_cpuset && obj2->complete_cpuset)
@@ -805,6 +825,68 @@ hwloc__report_error_format_obj(char *buf, size_t buflen, hwloc_obj_t obj)
 #define check_sizes(new, old, field)
 #endif
 
+static void
+merge_insert_equal(hwloc_obj_t new, hwloc_obj_t old)
+{
+  merge_index(new, old, os_index, unsigned);
+
+  if (new->distances_count) {
+    if (old->distances_count) {
+      old->distances_count += new->distances_count;
+      old->distances = realloc(old->distances, old->distances_count * sizeof(*old->distances));
+      memcpy(old->distances + new->distances_count, new->distances, new->distances_count * sizeof(*old->distances));
+      free(new->distances);
+    } else {
+      old->distances_count = new->distances_count;
+      old->distances = new->distances;
+    }
+    new->distances_count = 0;
+    new->distances = NULL;
+  }
+
+  if (new->infos_count) {
+    hwloc__move_infos(&old->infos, &old->infos_count,
+		      &new->infos, &new->infos_count);
+  }
+
+  if (new->name) {
+    if (old->name)
+      free(old->name);
+    old->name = new->name;
+    new->name = NULL;
+  }
+
+  assert(!new->userdata); /* user could not set userdata here (we're before load() */
+
+  switch(new->type) {
+  case HWLOC_OBJ_NUMANODE:
+    /* Do not check these, it may change between calls */
+    merge_sizes(new, old, memory.local_memory);
+    merge_sizes(new, old, memory.total_memory);
+    /* if both newects have a page_types array, just keep the biggest one for now */
+    if (new->memory.page_types_len && old->memory.page_types_len)
+      hwloc_debug("%s", "merging page_types by keeping the biggest one only\n");
+    if (new->memory.page_types_len < old->memory.page_types_len) {
+      free(new->memory.page_types);
+    } else {
+      free(old->memory.page_types);
+      old->memory.page_types_len = new->memory.page_types_len;
+      old->memory.page_types = new->memory.page_types;
+      new->memory.page_types = NULL;
+      new->memory.page_types_len = 0;
+    }
+    break;
+  case HWLOC_OBJ_CACHE:
+    merge_sizes(new, old, attr->cache.size);
+    check_sizes(new, old, attr->cache.size);
+    merge_sizes(new, old, attr->cache.linesize);
+    check_sizes(new, old, attr->cache.linesize);
+    break;
+  default:
+    break;
+  }
+}
+
 /* Try to insert OBJ in CUR, recurse if needed.
  * Returns the object if it was inserted,
  * the remaining object it was merged,
@@ -814,8 +896,12 @@ static struct hwloc_obj *
 hwloc___insert_object_by_cpuset(struct hwloc_topology *topology, hwloc_obj_t cur, hwloc_obj_t obj,
 			        hwloc_report_error_t report_error)
 {
-  hwloc_obj_t child, container, *cur_children, *obj_children, next_child = NULL;
-  int put;
+  hwloc_obj_t child, next_child = NULL;
+  /* These will always point to the pointer to their next last child. */
+  hwloc_obj_t *cur_children = &cur->first_child;
+  hwloc_obj_t *obj_children = &obj->first_child;
+  /* Pointer where OBJ should be put */
+  hwloc_obj_t *putp = NULL; /* OBJ position isn't found yet */
 
   /* Make sure we haven't gone too deep.  */
   if (!hwloc_bitmap_isincluded(obj->cpuset, cur->cpuset)) {
@@ -823,10 +909,38 @@ hwloc___insert_object_by_cpuset(struct hwloc_topology *topology, hwloc_obj_t cur
     return NULL;
   }
 
-  /* Check whether OBJ is included in some child.  */
-  container = NULL;
-  for (child = cur->first_child; child; child = child->next_sibling) {
-    switch (hwloc_obj_cmp(obj, child)) {
+  /* Iteration with prefetching to be completely safe against CHILD removal.
+   * The list is already sorted by cpuset, and there's no intersection between siblings.
+   */
+  for (child = cur->first_child, child ? next_child = child->next_sibling : NULL;
+       child;
+       child = next_child, child ? next_child = child->next_sibling : NULL) {
+
+    int res = hwloc_obj_cmp_sets(obj, child);
+
+    if (res == HWLOC_OBJ_EQUAL) {
+      if (obj->type == HWLOC_OBJ_GROUP) {
+	/* Group are ignored keep_structure. ignored always are handled earlier. Non-ignored Groups isn't possible. */
+	assert(topology->ignored_types[HWLOC_OBJ_GROUP] == HWLOC_IGNORE_TYPE_KEEP_STRUCTURE);
+        /* Remove the Group now. The normal ignore code path wouldn't tell us whether the Group was removed or not.
+	 *
+	 * Keep EQUAL so that the Group gets merged.
+	 */
+      } else {
+	/* otherwise compare actual types to decide of the inclusion */
+	res = hwloc_type_cmp(obj, child);
+	if (res == HWLOC_OBJ_EQUAL && obj->type == HWLOC_OBJ_MISC) {
+	  /* Misc objects may vary by name */
+	  int ret = strcmp(obj->name, child->name);
+	  if (ret < 0)
+	    res = HWLOC_OBJ_INCLUDED;
+	  else if (ret > 0)
+	    res = HWLOC_OBJ_CONTAINS;
+        }
+      }
+    }
+
+    switch (res) {
       case HWLOC_OBJ_EQUAL:
         merge_index(obj, child, os_level, signed);
 	if (obj->os_level != child->os_level) {
@@ -838,8 +952,10 @@ hwloc___insert_object_by_cpuset(struct hwloc_topology *topology, hwloc_obj_t cur
 	  }
           return NULL;
         }
-        merge_index(obj, child, os_index, unsigned);
-	if (obj->os_index != child->os_index) {
+	/* Can be two objects with same type. Or one Group and anything else. */
+	if (obj->type == child->type
+	    && (obj->type == HWLOC_OBJ_PU || obj->type == HWLOC_OBJ_NUMANODE)
+	    && obj->os_index != child->os_index) {
 	  static int reported = 0;
 	  if (!reported && !hwloc_hide_errors()) {
 	    fprintf(stderr, "Cannot merge similar %s objects with different OS indexes %u and %u\n",
@@ -847,88 +963,15 @@ hwloc___insert_object_by_cpuset(struct hwloc_topology *topology, hwloc_obj_t cur
 	    reported = 1;
 	  }
           return NULL;
-        }
-	if (obj->distances_count) {
-	  if (child->distances_count) {
-	    child->distances_count += obj->distances_count;
-	    child->distances = realloc(child->distances, child->distances_count * sizeof(*child->distances));
-	    memcpy(child->distances + obj->distances_count, obj->distances, obj->distances_count * sizeof(*child->distances));
-	    free(obj->distances);
-	  } else {
-	    child->distances_count = obj->distances_count;
-	    child->distances = obj->distances;
-	  }
-	  obj->distances_count = 0;
-	  obj->distances = NULL;
-	}
-	if (obj->infos_count) {
-	  if (child->infos_count) {
-	    child->infos_count += obj->infos_count;
-	    child->infos = realloc(child->infos, child->infos_count * sizeof(*child->infos));
-	    memcpy(child->infos + obj->infos_count, obj->infos, obj->infos_count * sizeof(*child->infos));
-	    free(obj->infos);
-	  } else {
-	    child->infos_count = obj->infos_count;
-	    child->infos = obj->infos;
-	  }
-	  obj->infos_count = 0;
-	  obj->infos = NULL;
-	}
-	if (obj->name) {
-	  if (child->name)
-	    free(child->name);
-	  child->name = obj->name;
-	  obj->name = NULL;
-	}
-	assert(!obj->userdata); /* user could not set userdata here (we're before load() */
-	switch(obj->type) {
-	  case HWLOC_OBJ_NODE:
-	    /* Do not check these, it may change between calls */
-	    merge_sizes(obj, child, memory.local_memory);
-	    merge_sizes(obj, child, memory.total_memory);
-	    /* if both objects have a page_types array, just keep the biggest one for now */
-	    if (obj->memory.page_types_len && child->memory.page_types_len)
-	      hwloc_debug("%s", "merging page_types by keeping the biggest one only\n");
-	    if (obj->memory.page_types_len < child->memory.page_types_len) {
-	      free(obj->memory.page_types);
-	    } else {
-	      free(child->memory.page_types);
-	      child->memory.page_types_len = obj->memory.page_types_len;
-	      child->memory.page_types = obj->memory.page_types;
-	      obj->memory.page_types = NULL;
-	      obj->memory.page_types_len = 0;
-	    }
-	    break;
-	  case HWLOC_OBJ_CACHE:
-	    merge_sizes(obj, child, attr->cache.size);
-	    check_sizes(obj, child, attr->cache.size);
-	    merge_sizes(obj, child, attr->cache.linesize);
-	    check_sizes(obj, child, attr->cache.linesize);
-	    break;
-	  default:
-	    break;
 	}
+	merge_insert_equal(obj, child);
 	/* Already present, no need to insert.  */
 	return child;
+
       case HWLOC_OBJ_INCLUDED:
-	if (container) {
-          if (report_error) {
-	    char containerstr[512];
-	    char childstr[512];
-	    char objstr[512];
-	    char msg[2048];
-	    hwloc__report_error_format_obj(containerstr, sizeof(containerstr), container);
-	    hwloc__report_error_format_obj(childstr, sizeof(childstr), child);
-	    hwloc__report_error_format_obj(objstr, sizeof(objstr), obj);
-	    snprintf(msg, sizeof(msg), "%s included in both %s and %s!", objstr, containerstr, childstr);
-	    report_error(msg, __LINE__);
-	  }
-	  /* We can't handle that.  */
-	  return NULL;
-	}
-	/* This child contains OBJ.  */
-	container = child;
-	break;
+	/* OBJ is strictly contained is some child of CUR, go deeper.  */
+	return hwloc___insert_object_by_cpuset(topology, child, obj, report_error);
+
       case HWLOC_OBJ_INTERSECTS:
         if (report_error) {
 	  char childstr[512];
@@ -939,82 +982,56 @@ hwloc___insert_object_by_cpuset(struct hwloc_topology *topology, hwloc_obj_t cur
 	  snprintf(msg, sizeof(msg), "%s intersects with %s without inclusion!", objstr, childstr);
 	  report_error(msg, __LINE__);
 	}
-	/* We can't handle that.  */
-	return NULL;
-      case HWLOC_OBJ_CONTAINS:
-	/* OBJ will be above CHILD.  */
-	break;
-      case HWLOC_OBJ_DIFFERENT:
-	/* OBJ will be alongside CHILD.  */
-	break;
-    }
-  }
-
-  if (container) {
-    /* OBJ is strictly contained is some child of CUR, go deeper.  */
-    return hwloc___insert_object_by_cpuset(topology, container, obj, report_error);
-  }
-
-  /*
-   * Children of CUR are either completely different from or contained into
-   * OBJ. Take those that are contained (keeping sorting order), and sort OBJ
-   * along those that are different.
-   */
-
-  /* OBJ is not put yet.  */
-  put = 0;
-
-  /* These will always point to the pointer to their next last child. */
-  cur_children = &cur->first_child;
-  obj_children = &obj->first_child;
-
-  /* Construct CUR's and OBJ's children list.  */
-
-  /* Iteration with prefetching to be completely safe against CHILD removal.  */
-  for (child = cur->first_child, child ? next_child = child->next_sibling : NULL;
-       child;
-       child = next_child, child ? next_child = child->next_sibling : NULL) {
-
-    switch (hwloc_obj_cmp(obj, child)) {
+	goto putback;
 
       case HWLOC_OBJ_DIFFERENT:
-	/* Leave CHILD in CUR.  */
-	if (!put && (!child->cpuset || hwloc__object_cpusets_compare_first(obj, child) < 0)) {
-	  /* Sort children by cpuset: put OBJ before CHILD in CUR's children.  */
-	  *cur_children = obj;
-	  cur_children = &obj->next_sibling;
-	  put = 1;
-	}
-	/* Now put CHILD in CUR's children.  */
-	*cur_children = child;
+        /* OBJ should be a child of CUR before CHILD, mark its position if not found yet. */
+	if (!putp && (!child->cpuset || hwloc__object_cpusets_compare_first(obj, child) < 0))
+	  /* Don't insert yet, there could be intersect errors later */
+	  putp = cur_children;
+	/* Advance cur_children.  */
 	cur_children = &child->next_sibling;
 	break;
 
       case HWLOC_OBJ_CONTAINS:
-	/* OBJ contains CHILD, put the latter in the former.  */
+	/* OBJ contains CHILD, remove CHILD from CUR */
+	*cur_children = child->next_sibling;
+	child->next_sibling = NULL;
+	/* Put CHILD in OBJ */
 	*obj_children = child;
 	obj_children = &child->next_sibling;
 	break;
-
-      case HWLOC_OBJ_EQUAL:
-      case HWLOC_OBJ_INCLUDED:
-      case HWLOC_OBJ_INTERSECTS:
-	/* Shouldn't ever happen as we have handled them above.  */
-	abort();
     }
   }
+  /* cur/obj_children points to last CUR/OBJ child next_sibling pointer, which must be NULL. */
+  assert(!*obj_children);
+  assert(!*cur_children);
 
-  /* Put OBJ last in CUR's children if not already done so.  */
-  if (!put) {
-    *cur_children = obj;
-    cur_children = &obj->next_sibling;
-  }
-
-  /* Close children lists.  */
-  *obj_children = NULL;
-  *cur_children = NULL;
+  /* Put OBJ where it belongs, or in last in CUR's children.  */
+  if (!putp)
+    putp = cur_children;
+  obj->next_sibling = *putp;
+  *putp = obj;
 
   return obj;
+
+ putback:
+  /* Put-back OBJ children in CUR and return an error. */
+  if (putp)
+    cur_children = putp; /* No need to try to insert before where OBJ was supposed to go */
+  else
+    cur_children = &cur->first_child; /* Start from the beginning */
+  /* We can insert in order, but there can be holes in the middle. */
+  while ((child = obj->first_child) != NULL) {
+    /* Remove from OBJ */
+    obj->first_child = child->next_sibling;
+    /* Find child position in CUR, and insert. */
+    while (*cur_children && (*cur_children)->cpuset && hwloc__object_cpusets_compare_first(*cur_children, child) < 0)
+      cur_children = &(*cur_children)->next_sibling;
+    child->next_sibling = *cur_children;
+    *cur_children = child;
+  }
+  return NULL;
 }
 
 /* insertion routine that lets you change the error reporting callback */
@@ -1024,14 +1041,16 @@ hwloc__insert_object_by_cpuset(struct hwloc_topology *topology, hwloc_obj_t obj,
 {
   struct hwloc_obj *result;
   /* Start at the top.  */
-  /* Add the cpuset to the top */
-  hwloc_bitmap_or(topology->levels[0][0]->complete_cpuset, topology->levels[0][0]->complete_cpuset, obj->cpuset);
-  if (obj->nodeset)
-    hwloc_bitmap_or(topology->levels[0][0]->complete_nodeset, topology->levels[0][0]->complete_nodeset, obj->nodeset);
   result = hwloc___insert_object_by_cpuset(topology, topology->levels[0][0], obj, report_error);
-  if (result != obj)
+  if (result != obj) {
     /* either failed to insert, or got merged, free the original object */
     hwloc_free_unlinked_object(obj);
+  } else {
+    /* Add the cpuset to the top */
+    hwloc_bitmap_or(topology->levels[0][0]->complete_cpuset, topology->levels[0][0]->complete_cpuset, obj->cpuset);
+    if (obj->nodeset)
+      hwloc_bitmap_or(topology->levels[0][0]->complete_nodeset, topology->levels[0][0]->complete_nodeset, obj->nodeset);
+  }
   return result;
 }
 
@@ -1049,31 +1068,13 @@ hwloc_insert_object_by_parent(struct hwloc_topology *topology, hwloc_obj_t paren
   hwloc_obj_t child, next_child = obj->first_child;
   hwloc_obj_t *current;
 
-  /* Append to the end of the list */
-  for (current = &parent->first_child; *current; current = &(*current)->next_sibling) {
-    hwloc_bitmap_t curcpuset = (*current)->cpuset;
-    if (obj->cpuset && (!curcpuset || hwloc__object_cpusets_compare_first(obj, *current) < 0)) {
-      static int reported = 0;
-      if (!reported && !hwloc_hide_errors()) {
-	char *a, *b;
-	hwloc_bitmap_asprintf(&b, obj->cpuset);
-        fprintf(stderr, "****************************************************************************\n");
-        fprintf(stderr, "* hwloc has encountered an out-of-order topology discovery.\n");
-	if (curcpuset) {
-	  hwloc_bitmap_asprintf(&a, curcpuset);
-	  fprintf(stderr, "* An object with (complete) cpuset %s was inserted after object with %s\n", b, a);
-	  free(a);
-	} else {
-	  fprintf(stderr, "* An object with (complete) cpuset %s was inserted after object with NULL\n", b);
-	}
-        fprintf(stderr, "* Please check that your input topology (XML file, etc.) is valid.\n");
-        fprintf(stderr, "****************************************************************************\n");
-	free(b);
-	reported = 1;
-      }
-    }
-  }
-
+  /* Append to the end of the list.
+   * The caller takes care of inserting children in the right cpuset order.
+   * XML checks the order.
+   * Duplicating doesn't need to check the order since the source topology is supposed to be OK already.
+   * Other callers just insert random objects such as I/O or Misc.
+   */
+  for (current = &parent->first_child; *current; current = &(*current)->next_sibling);
   *current = obj;
   obj->next_sibling = NULL;
   obj->first_child = NULL;
@@ -1180,16 +1181,6 @@ hwloc_topology_insert_misc_object_by_parent(struct hwloc_topology *topology, hwl
   return obj;
 }
 
-/* Traverse children of a parent in a safe way: reread the next pointer as
- * appropriate to prevent crash on child deletion:  */
-#define for_each_child_safe(child, parent, pchild) \
-  for (pchild = &(parent)->first_child, child = *pchild; \
-       child; \
-       /* Check whether the current child was not dropped.  */ \
-       (*pchild == child ? pchild = &(child->next_sibling) : NULL), \
-       /* Get pointer to next childect.  */ \
-        child = *pchild)
-
 /* Append I/O devices below this object to their list */
 static void
 append_iodevs(hwloc_topology_t topology, hwloc_obj_t obj)
@@ -1578,32 +1569,7 @@ propagate_nodesets(hwloc_obj_t obj)
 }
 
 static void
-apply_nodeset(hwloc_obj_t obj, hwloc_obj_t sys)
-{
-  unsigned i;
-  hwloc_obj_t child, *temp;
-
-  if (sys) {
-    if (obj->type == HWLOC_OBJ_NODE && obj->os_index != (unsigned) -1 &&
-        !hwloc_bitmap_isset(sys->allowed_nodeset, obj->os_index)) {
-      hwloc_debug("Dropping memory from disallowed node %u\n", obj->os_index);
-      obj->memory.local_memory = 0;
-      obj->memory.total_memory = 0;
-      for(i=0; i<obj->memory.page_types_len; i++)
-	obj->memory.page_types[i].count = 0;
-    }
-  } else {
-    if (obj->allowed_nodeset) {
-      sys = obj;
-    }
-  }
-
-  for_each_child_safe(child, obj, temp)
-    apply_nodeset(child, sys);
-}
-
-static void
-remove_unused_cpusets(hwloc_obj_t obj)
+remove_unused_sets(hwloc_obj_t obj)
 {
   hwloc_obj_t child, *temp;
 
@@ -1611,30 +1577,43 @@ remove_unused_cpusets(hwloc_obj_t obj)
     hwloc_bitmap_and(obj->cpuset, obj->cpuset, obj->online_cpuset);
     hwloc_bitmap_and(obj->cpuset, obj->cpuset, obj->allowed_cpuset);
   }
+  if (obj->nodeset) {
+    hwloc_bitmap_and(obj->nodeset, obj->nodeset, obj->allowed_nodeset);
+  }
+  if (obj->type == HWLOC_OBJ_NUMANODE && obj->os_index != (unsigned) -1 &&
+      !hwloc_bitmap_isset(obj->allowed_nodeset, obj->os_index)) {
+    unsigned i;
+    hwloc_debug("Dropping memory from disallowed node %u\n", obj->os_index);
+    obj->memory.local_memory = 0;
+    obj->memory.total_memory = 0;
+    for(i=0; i<obj->memory.page_types_len; i++)
+      obj->memory.page_types[i].count = 0;
+  }
 
   for_each_child_safe(child, obj, temp)
-    remove_unused_cpusets(child);
+    remove_unused_sets(child);
 }
 
-/* Remove an object from its parent and free it.
- * Only updates next_sibling/first_child pointers,
- * so may only be used during early discovery.
- * Children are inserted where the object was.
- */
 static void
-unlink_and_free_single_object(hwloc_obj_t *pparent)
-{
-  hwloc_obj_t parent = *pparent;
-  hwloc_obj_t child = parent->first_child;
-  /* Replace object with its list of children */
-  if (child) {
-    *pparent = child;
-    while (child->next_sibling)
-      child = child->next_sibling;
-    child->next_sibling = parent->next_sibling;
-  } else
-    *pparent = parent->next_sibling;
-  hwloc_free_unlinked_object(parent);
+reorder_children(hwloc_obj_t parent)
+{
+  /* move the children list on the side */
+  hwloc_obj_t *prev, child, children = parent->first_child;
+  parent->first_child = NULL;
+  while (children) {
+    /* dequeue child */
+    child = children;
+    children = child->next_sibling;
+    /* find where to enqueue it */
+    prev = &parent->first_child;
+    while (*prev
+	   && (!child->cpuset || !(*prev)->cpuset
+	       || hwloc__object_cpusets_compare_first(child, *prev) > 0))
+      prev = &((*prev)->next_sibling);
+    /* enqueue */
+    child->next_sibling = *prev;
+    *prev = child;
+  }
 }
 
 /* Remove all ignored objects.  */
@@ -1653,51 +1632,18 @@ remove_ignored(hwloc_topology_t topology, hwloc_obj_t *pparent)
       || (parent->type == HWLOC_OBJ_CACHE && parent->attr->cache.type == HWLOC_OBJ_CACHE_INSTRUCTION
 	  && !(topology->flags & HWLOC_TOPOLOGY_FLAG_ICACHES))) {
     hwloc_debug("%s", "\nDropping ignored object ");
-    print_object(topology, 0, parent);
+    hwloc_debug_print_object(0, parent);
     unlink_and_free_single_object(pparent);
     dropped = 1;
 
   } else if (dropped_children) {
-    /* we keep this object but its children changed, reorder them by cpuset */
-
-    /* move the children list on the side */
-    hwloc_obj_t *prev, children = parent->first_child;
-    parent->first_child = NULL;
-    while (children) {
-      /* dequeue child */
-      child = children;
-      children = child->next_sibling;
-      /* find where to enqueue it */
-      prev = &parent->first_child;
-      while (*prev
-	     && (!child->cpuset || !(*prev)->cpuset
-		 || hwloc__object_cpusets_compare_first(child, *prev) > 0))
-	prev = &((*prev)->next_sibling);
-      /* enqueue */
-      child->next_sibling = *prev;
-      *prev = child;
-    }
+    /* we keep this object but its children changed, reorder them by complete_cpuset */
+    reorder_children(parent);
   }
 
   return dropped;
 }
 
-/* Remove an object and its children from its parent and free them.
- * Only updates next_sibling/first_child pointers,
- * so may only be used during early discovery.
- */
-static void
-unlink_and_free_object_and_children(hwloc_obj_t *pobj)
-{
-  hwloc_obj_t obj = *pobj, child, *pchild;
-
-  for_each_child_safe(child, obj, pchild)
-    unlink_and_free_object_and_children(pchild);
-
-  *pobj = obj->next_sibling;
-  hwloc_free_unlinked_object(obj);
-}
-
 /* Remove all children whose cpuset is empty, except NUMA nodes
  * since we want to keep memory information, and except PCI bridges and devices.
  */
@@ -1709,14 +1655,14 @@ remove_empty(hwloc_topology_t topology, hwloc_obj_t *pobj)
   for_each_child_safe(child, obj, pchild)
     remove_empty(topology, pchild);
 
-  if (obj->type != HWLOC_OBJ_NODE
+  if (obj->type != HWLOC_OBJ_NUMANODE
       && !obj->first_child /* only remove if all children were removed above, so that we don't remove parents of NUMAnode */
       && !hwloc_obj_type_is_io(obj->type) && obj->type != HWLOC_OBJ_MISC
       && obj->cpuset /* don't remove if no cpuset at all, there's likely a good reason why it's different from having an empty cpuset */
       && hwloc_bitmap_iszero(obj->cpuset)) {
     /* Remove empty children */
     hwloc_debug("%s", "\nRemoving empty object ");
-    print_object(topology, 0, obj);
+    hwloc_debug_print_object(0, obj);
     unlink_and_free_single_object(pobj);
   }
 }
@@ -1757,8 +1703,8 @@ restrict_object(hwloc_topology_t topology, unsigned long flags, hwloc_obj_t *pob
 
   if (dropping) {
     hwloc_debug("%s", "\nRemoving object during restrict");
-    print_object(topology, 0, obj);
-    if (obj->type == HWLOC_OBJ_NODE)
+    hwloc_debug_print_objects(0, obj);
+    if (obj->type == HWLOC_OBJ_NUMANODE)
       hwloc_bitmap_set(droppednodeset, obj->os_index);
     /* remove the object from the tree (no need to remove from levels, they will be entirely rebuilt by the caller) */
     unlink_and_free_single_object(pobj);
@@ -1806,29 +1752,39 @@ can_merge_group(hwloc_topology_t topology, hwloc_obj_t obj)
  * Merge with the only child if either the parent or the child has a type to be
  * ignored while keeping structure
  */
-static void
+static int
 merge_useless_child(hwloc_topology_t topology, hwloc_obj_t *pparent)
 {
   hwloc_obj_t parent = *pparent, child, *pchild, ios;
-  int replacechild = 0, replaceparent = 0;
+  int replacechild = 0, replaceparent = 0, droppedchildren = 0;
+
+  if (!parent->first_child)
+    /* There are no child, nothing to merge. */
+    return 0;
 
   for_each_child_safe(child, parent, pchild)
-    merge_useless_child(topology, pchild);
+    droppedchildren += merge_useless_child(topology, pchild);
 
-  child = parent->first_child;
-  if (!child)
-    /* There are no child, nothing to merge. */
-    return;
+  if (droppedchildren)
+    reorder_children(parent);
 
-  if (child->next_sibling && !hwloc_obj_type_is_io(child->next_sibling->type))
-    /* There are several non-I/O children */
-    return;
+  child = parent->first_child;
+  /* we don't merge if there are multiple "important" children.
+   * non-important ones are at the end of the list.
+   * look at the second child to find out.
+   */
+  if (child->next_sibling
+      /* I/O objects may be ignored when trying to merge */
+      && !hwloc_obj_type_is_io(child->next_sibling->type)
+      /* Misc objects without cpuset may be ignored as well */
+      && !(child->next_sibling->type == HWLOC_OBJ_MISC && !child->next_sibling->cpuset))
+      /* There are several children that prevent from merging */
+    return 0;
 
-  /* There is one non-I/O child and possible some I/O children.
-   * I/O children shouldn't prevent merging because they can be attached
-   * to anything with the same locality.
+  /* There is one important child, and some children that may be ignored
+   * during merging because they can be attached to anything with the same locality.
    * Move them to the side during merging, and append them back later.
-   * This is easy because I/O children are always last in the list.
+   * This is easy because children with no cpuset are always last in the list.
    */
   ios = child->next_sibling;
   child->next_sibling = NULL;
@@ -1857,30 +1813,29 @@ merge_useless_child(hwloc_topology_t topology, hwloc_obj_t *pparent)
   if (replaceparent) {
     /* Replace parent with child */
     hwloc_debug("%s", "\nIgnoring parent ");
-    print_object(topology, 0, parent);
+    hwloc_debug_print_object(0, parent);
     if (parent == topology->levels[0][0]) {
       child->parent = NULL;
       child->depth = 0;
     }
-    *pparent = child;
-    child->next_sibling = parent->next_sibling;
-    hwloc_free_unlinked_object(parent);
+    unlink_and_free_single_object(pparent);
 
   } else if (replacechild) {
     /* Replace child with parent */
     hwloc_debug("%s", "\nIgnoring child ");
-    print_object(topology, 0, child);
-    parent->first_child = child->first_child;
-    hwloc_free_unlinked_object(child);
+    hwloc_debug_print_object(0, child);
+    unlink_and_free_single_object(&parent->first_child);
   }
 
   if (ios) {
-    /* append I/O children to the list of children of the remaining object */
+    /* append the remaining list of children to the remaining object */
     pchild = &((*pparent)->first_child);
     while (*pchild)
       pchild = &((*pchild)->next_sibling);
     *pchild = ios;
   }
+
+  return replaceparent ? 1 : 0;
 }
 
 static void
@@ -1923,7 +1878,8 @@ hwloc_drop_useless_io(hwloc_topology_t topology, hwloc_obj_t root)
 	    && baseclass != 0x02 /* PCI_BASE_CLASS_NETWORK */
 	    && baseclass != 0x01 /* PCI_BASE_CLASS_STORAGE */
 	    && baseclass != 0x0b /* PCI_BASE_CLASS_PROCESSOR */
-	    && classid != 0x0c06 /* PCI_CLASS_SERIAL_INFINIBAND */)
+	    && classid != 0x0c06 /* PCI_CLASS_SERIAL_INFINIBAND */
+	    && baseclass != 0x12 /* Processing Accelerators */)
 	  unlink_and_free_object_and_children(pchild);
       }
     }
@@ -1934,23 +1890,16 @@ hwloc_drop_useless_io(hwloc_topology_t topology, hwloc_obj_t root)
     hwloc_drop_useless_io(topology, child);
 
     if (child->type == HWLOC_OBJ_BRIDGE) {
-      hwloc_obj_t grandchildren = child->first_child;
-
-      if (!grandchildren) {
+      if (!child->first_child) {
 	/* bridges with no children are removed if WHOLE_IO isn't given */
 	if (!(topology->flags & (HWLOC_TOPOLOGY_FLAG_WHOLE_IO))) {
-	  *pchild = child->next_sibling;
-	  hwloc_free_unlinked_object(child);
+	  unlink_and_free_single_object(pchild);
 	}
 
       } else if (child->attr->bridge.upstream_type != HWLOC_OBJ_BRIDGE_HOST) {
 	/* only hostbridges are kept if WHOLE_IO or IO_BRIDGE are not given */
 	if (!(topology->flags & (HWLOC_TOPOLOGY_FLAG_IO_BRIDGES|HWLOC_TOPOLOGY_FLAG_WHOLE_IO))) {
-	  /* insert grandchildren in place of child */
-	  *pchild = grandchildren;
-	  for( ; grandchildren->next_sibling != NULL ; grandchildren = grandchildren->next_sibling);
-	  grandchildren->next_sibling = child->next_sibling;
-	  hwloc_free_unlinked_object(child);
+	  unlink_and_free_single_object(pchild);
 	}
       }
     }
@@ -1965,6 +1914,8 @@ hwloc_propagate_bridge_depth(hwloc_topology_t topology, hwloc_obj_t root, unsign
     if (child->type == HWLOC_OBJ_BRIDGE) {
       child->attr->bridge.depth = depth;
       hwloc_propagate_bridge_depth(topology, child, depth+1);
+    } else if (!hwloc_obj_type_is_io(child->type)) {
+      hwloc_propagate_bridge_depth(topology, child, 0);
     }
     child = child->next_sibling;
   }
@@ -2025,12 +1976,15 @@ hwloc_propagate_symmetric_subtree(hwloc_topology_t topology, hwloc_obj_t root)
  * When this funtions return, all parent/children pointers are initialized.
  * The remaining fields (levels, cousins, logical_index, depth, ...) will
  * be setup later in hwloc_connect_levels().
+ *
+ * Can be called several times, so may have to update the array.
  */
 void
 hwloc_connect_children(hwloc_obj_t parent)
 {
-  unsigned n;
+  unsigned n, oldn = parent->arity;
   hwloc_obj_t child, prev_child = NULL;
+  int ok = 1;
 
   for (n = 0, child = parent->first_child;
        child;
@@ -2038,38 +1992,55 @@ hwloc_connect_children(hwloc_obj_t parent)
     child->parent = parent;
     child->sibling_rank = n;
     child->prev_sibling = prev_child;
+    /* already OK in the array? */
+    if (n >= oldn || parent->children[n] != child)
+      ok = 0;
+    /* recurse */
+    hwloc_connect_children(child);
   }
   parent->last_child = prev_child;
-
   parent->arity = n;
-  free(parent->children);
   if (!n) {
+    /* no need for an array anymore */
+    free(parent->children);
     parent->children = NULL;
     return;
   }
+  if (ok)
+    /* array is already OK (even if too large) */
+    return;
 
-  parent->children = malloc(n * sizeof(*parent->children));
+  /* alloc a larger array if needed */
+  if (oldn < n) {
+    free(parent->children);
+    parent->children = malloc(n * sizeof(*parent->children));
+  }
+  /* refill */
   for (n = 0, child = parent->first_child;
        child;
        n++,   child = child->next_sibling) {
     parent->children[n] = child;
-    hwloc_connect_children(child);
   }
 }
 
 /*
- * Check whether there is an object below ROOT that has the same type as OBJ
+ * Check whether there is an object below ROOT that has the same type as OBJ.
+ * Only used for building levels.
+ * Stop at I/O or Misc since these don't go into levels, and we never have
+ * normal objects under them.
  */
 static int
 find_same_type(hwloc_obj_t root, hwloc_obj_t obj)
 {
   hwloc_obj_t child;
 
-  if (hwloc_type_cmp(root, obj) == HWLOC_TYPE_EQUAL)
+  if (hwloc_type_cmp(root, obj) == HWLOC_OBJ_EQUAL)
     return 1;
 
   for (child = root->first_child; child; child = child->next_sibling)
-    if (find_same_type(child, obj))
+    if (!hwloc_obj_type_is_io(child->type)
+	&& child->type != HWLOC_OBJ_MISC
+	&& find_same_type(child, obj))
       return 1;
 
   return 0;
@@ -2090,7 +2061,7 @@ hwloc_level_take_objects(hwloc_obj_t top_obj,
   unsigned i, j;
 
   for (i = 0; i < n_current_objs; i++)
-    if (hwloc_type_cmp(top_obj, current_objs[i]) == HWLOC_TYPE_EQUAL) {
+    if (hwloc_type_cmp(top_obj, current_objs[i]) == HWLOC_OBJ_EQUAL) {
       /* Take it, add children.  */
       taken_objs[taken_i++] = current_objs[i];
       for (j = 0; j < current_objs[i]->arity; j++)
@@ -2278,7 +2249,7 @@ hwloc_connect_levels(hwloc_topology_t topology)
 
     /* See if this is actually the topmost object */
     for (i = 0; i < n_objs; i++) {
-      if (hwloc_type_cmp(top_obj, objs[i]) != HWLOC_TYPE_EQUAL) {
+      if (hwloc_type_cmp(top_obj, objs[i]) != HWLOC_OBJ_EQUAL) {
 	if (find_same_type(objs[i], top_obj)) {
 	  /* OBJS[i] is strictly above an object of the same type as TOP_OBJ, so it
 	   * is above TOP_OBJ.  */
@@ -2294,7 +2265,7 @@ hwloc_connect_levels(hwloc_topology_t topology)
     n_taken_objs = 0;
     n_new_objs = 0;
     for (i = 0; i < n_objs; i++)
-      if (hwloc_type_cmp(top_obj, objs[i]) == HWLOC_TYPE_EQUAL) {
+      if (hwloc_type_cmp(top_obj, objs[i]) == HWLOC_OBJ_EQUAL) {
 	n_taken_objs++;
 	n_new_objs += objs[i]->arity;
       }
@@ -2459,7 +2430,7 @@ hwloc_discover(struct hwloc_topology *topology)
       if (err > 0)
 	need_reconnect++;
     }
-    print_objects(topology, 0, topology->levels[0][0]);
+    hwloc_debug_print_objects(0, topology->levels[0][0]);
 
 next_cpubackend:
     backend = backend->next;
@@ -2498,16 +2469,12 @@ next_cpubackend:
   propagate_nodeset(topology->levels[0][0], NULL);
   propagate_nodesets(topology->levels[0][0]);
 
-  print_objects(topology, 0, topology->levels[0][0]);
+  hwloc_debug_print_objects(0, topology->levels[0][0]);
 
   if (!(topology->flags & HWLOC_TOPOLOGY_FLAG_WHOLE_SYSTEM)) {
-    hwloc_debug("%s", "\nRemoving unauthorized and offline cpusets from all cpusets\n");
-    remove_unused_cpusets(topology->levels[0][0]);
-
-    hwloc_debug("%s", "\nRemoving disallowed memory according to nodesets\n");
-    apply_nodeset(topology->levels[0][0], NULL);
-
-    print_objects(topology, 0, topology->levels[0][0]);
+    hwloc_debug("%s", "\nRemoving unauthorized and offline sets from all sets\n");
+    remove_unused_sets(topology->levels[0][0]);
+    hwloc_debug_print_objects(0, topology->levels[0][0]);
   }
 
   hwloc_debug("%s", "\nAdd default object sets\n");
@@ -2518,7 +2485,7 @@ next_cpubackend:
   hwloc_connect_children(topology->levels[0][0]);
   if (hwloc_connect_levels(topology) < 0)
     return -1;
-  print_objects(topology, 0, topology->levels[0][0]);
+  hwloc_debug_print_objects(0, topology->levels[0][0]);
 
   /*
    * Additional discovery with other backends
@@ -2549,7 +2516,7 @@ next_cpubackend:
       if (err > 0)
 	need_reconnect++;
     }
-    print_objects(topology, 0, topology->levels[0][0]);
+    hwloc_debug_print_objects(0, topology->levels[0][0]);
 
 next_noncpubackend:
     backend = backend->next;
@@ -2559,7 +2526,7 @@ next_noncpubackend:
   if (gotsomeio) {
     hwloc_drop_useless_io(topology, topology->levels[0][0]);
     hwloc_debug("%s", "\nNow reconnecting\n");
-    print_objects(topology, 0, topology->levels[0][0]);
+    hwloc_debug_print_objects(0, topology->levels[0][0]);
     hwloc_propagate_bridge_depth(topology, topology->levels[0][0], 0);
   }
 
@@ -2567,7 +2534,7 @@ next_noncpubackend:
 
   hwloc_debug("%s", "\nRemoving ignored objects\n");
   remove_ignored(topology, &topology->levels[0][0]);
-  print_objects(topology, 0, topology->levels[0][0]);
+  hwloc_debug_print_objects(0, topology->levels[0][0]);
 
   hwloc_debug("%s", "\nRemoving empty objects except numa nodes and PCI devices\n");
   remove_empty(topology, &topology->levels[0][0]);
@@ -2575,11 +2542,11 @@ next_noncpubackend:
     fprintf(stderr, "Topology became empty, aborting!\n");
     abort();
   }
-  print_objects(topology, 0, topology->levels[0][0]);
+  hwloc_debug_print_objects(0, topology->levels[0][0]);
 
   hwloc_debug("%s", "\nRemoving objects whose type has HWLOC_IGNORE_TYPE_KEEP_STRUCTURE and have only one child or are the only child\n");
   merge_useless_child(topology, &topology->levels[0][0]);
-  print_objects(topology, 0, topology->levels[0][0]);
+  hwloc_debug_print_objects(0, topology->levels[0][0]);
 
   /* Reconnect things after all these changes */
   hwloc_connect_children(topology->levels[0][0]);
@@ -2600,6 +2567,20 @@ next_noncpubackend:
   hwloc_distances_finalize_os(topology);
   hwloc_distances_finalize_logical(topology);
 
+  /* add some identification attributes if not loading from XML */
+  if (topology->backends
+      && strcmp(topology->backends->component->name, "xml")) {
+    char *value;
+    /* add a hwlocVersion */
+    hwloc_obj_add_info(topology->levels[0][0], "hwlocVersion", HWLOC_VERSION);
+    /* add a ProcessName */
+    value = hwloc_progname(topology);
+    if (value) {
+      hwloc_obj_add_info(topology->levels[0][0], "ProcessName", value);
+      free(value);
+    }
+  }
+
   /*
    * Now set binding hooks according to topology->is_thissystem
    * what the native OS backend offers.
@@ -2665,6 +2646,7 @@ hwloc_topology_init (struct hwloc_topology **topologyp)
   topology->flags = 0;
   topology->is_thissystem = 1;
   topology->pid = 0;
+  topology->userdata = NULL;
 
   topology->support.discovery = malloc(sizeof(*topology->support.discovery));
   topology->support.cpubind = malloc(sizeof(*topology->support.cpubind));
@@ -2879,7 +2861,7 @@ hwloc_topology_load (struct hwloc_topology *topology)
 
   /* enforce backend anyway if a FORCE variable was given */
   {
-    char *fsroot_path_env = getenv("HWLOC_FORCE_FSROOT");
+    const char *fsroot_path_env = getenv("HWLOC_FORCE_FSROOT");
     if (fsroot_path_env)
       hwloc_disc_component_force_enable(topology,
 					1 /* env force */,
@@ -2887,7 +2869,7 @@ hwloc_topology_load (struct hwloc_topology *topology)
 					fsroot_path_env, NULL, NULL);
   }
   {
-    char *xmlpath_env = getenv("HWLOC_FORCE_XMLFILE");
+    const char *xmlpath_env = getenv("HWLOC_FORCE_XMLFILE");
     if (xmlpath_env)
       hwloc_disc_component_force_enable(topology,
 					1 /* env force */,
@@ -2897,7 +2879,7 @@ hwloc_topology_load (struct hwloc_topology *topology)
 
   /* only apply non-FORCE variables if we have not changed the backend yet */
   if (!topology->backends) {
-    char *fsroot_path_env = getenv("HWLOC_FSROOT");
+    const char *fsroot_path_env = getenv("HWLOC_FSROOT");
     if (fsroot_path_env)
       hwloc_disc_component_force_enable(topology,
 					1 /* env force */,
@@ -2905,7 +2887,7 @@ hwloc_topology_load (struct hwloc_topology *topology)
 					fsroot_path_env, NULL, NULL);
   }
   if (!topology->backends) {
-    char *xmlpath_env = getenv("HWLOC_XMLFILE");
+    const char *xmlpath_env = getenv("HWLOC_XMLFILE");
     if (xmlpath_env)
       hwloc_disc_component_force_enable(topology,
 					1 /* env force */,
@@ -2992,7 +2974,7 @@ hwloc_topology_is_thissystem(struct hwloc_topology *topology)
 }
 
 unsigned
-hwloc_topology_get_depth(struct hwloc_topology *topology) 
+hwloc_topology_get_depth(struct hwloc_topology *topology)
 {
   return topology->nb_levels;
 }
@@ -3037,7 +3019,17 @@ hwloc__check_children(struct hwloc_obj *parent)
       assert(hwloc_bitmap_isincluded(parent->children[j]->cpuset, remaining_parent_set));
       hwloc_bitmap_andnot(remaining_parent_set, remaining_parent_set, parent->children[j]->cpuset);
     }
-    assert(hwloc_bitmap_iszero(remaining_parent_set));
+    if (parent->type == HWLOC_OBJ_PU) {
+      /* if parent is a PU, its os_index bit may remain.
+       * it may be in a Misc child inserted by cpuset, or could be in no child */
+      if (hwloc_bitmap_weight(remaining_parent_set) == 1)
+	assert((unsigned) hwloc_bitmap_first(remaining_parent_set) == parent->os_index);
+      else
+	assert(hwloc_bitmap_iszero(remaining_parent_set));
+    } else {
+      /* nothing remains */
+      assert(hwloc_bitmap_iszero(remaining_parent_set));
+    }
     hwloc_bitmap_free(remaining_parent_set);
   }
 
@@ -3046,7 +3038,7 @@ hwloc__check_children(struct hwloc_obj *parent)
    */
   if (parent->complete_cpuset) {
     int firstchild;
-    int prev_firstchild __hwloc_attribute_unused = -1; /* -1 works fine with first comparisons below */
+    int prev_firstchild = -1; /* -1 works fine with first comparisons below */
     for(j=0; j<parent->arity; j++) {
       if (!parent->children[j]->complete_cpuset
 	  || hwloc_bitmap_iszero(parent->children[j]->complete_cpuset))
@@ -3131,7 +3123,7 @@ hwloc_topology_check(struct hwloc_topology *topology)
       assert(obj->logical_index == j);
       /* check that all objects in the level have the same type */
       if (prev) {
-	assert(hwloc_type_cmp(obj, prev) == HWLOC_TYPE_EQUAL);
+	assert(hwloc_type_cmp(obj, prev) == HWLOC_OBJ_EQUAL);
 	assert(prev->next_cousin == obj);
 	assert(obj->prev_cousin == prev);
       }
@@ -3149,6 +3141,17 @@ hwloc_topology_check(struct hwloc_topology *topology)
         if (obj->allowed_nodeset)
           assert(hwloc_bitmap_isincluded(obj->allowed_nodeset, obj->complete_nodeset));
       }
+      /* check that PUs and NUMA nodes have cpuset/nodeset */
+      if (obj->type == HWLOC_OBJ_PU) {
+	assert(obj->cpuset);
+	assert(hwloc_bitmap_weight(obj->complete_cpuset) == 1);
+	assert(hwloc_bitmap_first(obj->complete_cpuset) == (int) obj->os_index);
+      }
+      if (obj->type == HWLOC_OBJ_NUMANODE) {
+	assert(obj->nodeset);
+	assert(hwloc_bitmap_weight(obj->complete_nodeset) == 1);
+	assert(hwloc_bitmap_first(obj->complete_nodeset) == (int) obj->os_index);
+      }
       /* check children */
       hwloc__check_children(obj);
       prev = obj;
@@ -3194,3 +3197,13 @@ hwloc_topology_get_support(struct hwloc_topology * topology)
 {
   return &topology->support;
 }
+
+void hwloc_topology_set_userdata(struct hwloc_topology * topology, const void *userdata)
+{
+  topology->userdata = (void *) userdata;
+}
+
+void * hwloc_topology_get_userdata(struct hwloc_topology * topology)
+{
+  return topology->userdata;
+}
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/src/traversal.c b/src/pm/hydra/tools/topo/hwloc/hwloc/src/traversal.c
index 91b0c22..97b3e5b 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/src/traversal.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/src/traversal.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2010 Université Bordeaux 1
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2010 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -183,8 +183,8 @@ hwloc_obj_type_string (hwloc_obj_type_t obj)
     case HWLOC_OBJ_MACHINE: return "Machine";
     case HWLOC_OBJ_MISC: return "Misc";
     case HWLOC_OBJ_GROUP: return "Group";
-    case HWLOC_OBJ_NODE: return "NUMANode";
-    case HWLOC_OBJ_SOCKET: return "Socket";
+    case HWLOC_OBJ_NUMANODE: return "NUMANode";
+    case HWLOC_OBJ_PACKAGE: return "Package";
     case HWLOC_OBJ_CACHE: return "Cache";
     case HWLOC_OBJ_CORE: return "Core";
     case HWLOC_OBJ_BRIDGE: return "Bridge";
@@ -202,8 +202,8 @@ hwloc_obj_type_of_string (const char * string)
   if (!strcasecmp(string, "Machine")) return HWLOC_OBJ_MACHINE;
   if (!strcasecmp(string, "Misc")) return HWLOC_OBJ_MISC;
   if (!strcasecmp(string, "Group")) return HWLOC_OBJ_GROUP;
-  if (!strcasecmp(string, "NUMANode") || !strcasecmp(string, "Node")) return HWLOC_OBJ_NODE;
-  if (!strcasecmp(string, "Socket")) return HWLOC_OBJ_SOCKET;
+  if (!strcasecmp(string, "NUMANode") || !strcasecmp(string, "Node")) return HWLOC_OBJ_NUMANODE;
+  if (!strcasecmp(string, "Package") || !strcasecmp(string, "Socket") /* backward compat with v1.10 */) return HWLOC_OBJ_PACKAGE;
   if (!strcasecmp(string, "Cache")) return HWLOC_OBJ_CACHE;
   if (!strcasecmp(string, "Core")) return HWLOC_OBJ_CORE;
   if (!strcasecmp(string, "PU")) return HWLOC_OBJ_PU;
@@ -228,9 +228,10 @@ hwloc_obj_type_sscanf(const char *string, hwloc_obj_type_t *typep, int *depthatt
     type = HWLOC_OBJ_MACHINE;
   } else if (!hwloc_strncasecmp(string, "node", 1)
 	     || !hwloc_strncasecmp(string, "numa", 1)) { /* matches node and numanode */
-    type = HWLOC_OBJ_NODE;
-  } else if (!hwloc_strncasecmp(string, "socket", 2)) {
-    type = HWLOC_OBJ_SOCKET;
+    type = HWLOC_OBJ_NUMANODE;
+  } else if (!hwloc_strncasecmp(string, "package", 2)
+	     || !hwloc_strncasecmp(string, "socket", 2)) { /* backward compat with v1.10 */
+    type = HWLOC_OBJ_PACKAGE;
   } else if (!hwloc_strncasecmp(string, "core", 2)) {
     type = HWLOC_OBJ_CORE;
   } else if (!hwloc_strncasecmp(string, "pu", 2)) {
@@ -300,6 +301,7 @@ hwloc_pci_class_string(unsigned short class_id)
 	case 0x0105: return "ATA";
 	case 0x0106: return "SATA";
 	case 0x0107: return "SAS";
+	case 0x0108: return "NVMExp";
       }
       return "Stor";
     case 0x02:
@@ -311,6 +313,7 @@ hwloc_pci_class_string(unsigned short class_id)
 	case 0x0204: return "ISDN";
 	case 0x0205: return "WrdFip";
 	case 0x0206: return "PICMG";
+	case 0x0207: return "IB";
       }
       return "Net";
     case 0x03:
@@ -367,6 +370,7 @@ hwloc_pci_class_string(unsigned short class_id)
 	case 0x0803: return "RTC";
 	case 0x0804: return "HtPl";
 	case 0x0805: return "SD-HtPl";
+	case 0x0806: return "IOMMU";
       }
       return "Syst";
     case 0x09:
@@ -433,17 +437,16 @@ hwloc_pci_class_string(unsigned short class_id)
       return "Crypt";
     case 0x11:
       return "Signl";
+    case 0x12:
+      return "Accel";
+    case 0x13:
+      return "Instr";
     case 0xff:
       return "Oth";
   }
   return "PCI";
 }
 
-#define hwloc_memory_size_printf_value(_size, _verbose) \
-  ((_size) < (10ULL<<20) || _verbose ? (((_size)>>9)+1)>>1 : (_size) < (10ULL<<30) ? (((_size)>>19)+1)>>1 : (((_size)>>29)+1)>>1)
-#define hwloc_memory_size_printf_unit(_size, _verbose) \
-  ((_size) < (10ULL<<20) || _verbose ? "KB" : (_size) < (10ULL<<30) ? "MB" : "GB")
-
 static const char* hwloc_obj_cache_type_letter(hwloc_obj_cache_type_t type)
 {
   switch (type) {
@@ -462,8 +465,8 @@ hwloc_obj_type_snprintf(char * __hwloc_restrict string, size_t size, hwloc_obj_t
   case HWLOC_OBJ_MISC:
   case HWLOC_OBJ_SYSTEM:
   case HWLOC_OBJ_MACHINE:
-  case HWLOC_OBJ_NODE:
-  case HWLOC_OBJ_SOCKET:
+  case HWLOC_OBJ_NUMANODE:
+  case HWLOC_OBJ_PACKAGE:
   case HWLOC_OBJ_CORE:
   case HWLOC_OBJ_PU:
     return hwloc_snprintf(string, size, "%s", hwloc_obj_type_string(type));
@@ -537,11 +540,11 @@ hwloc_obj_attr_snprintf(char * __hwloc_restrict string, size_t size, hwloc_obj_t
 			   (unsigned long) hwloc_memory_size_printf_value(obj->memory.total_memory, verbose),
 			   hwloc_memory_size_printf_unit(obj->memory.total_memory, verbose));
   } else {
-    if (obj->memory.total_memory)
+    if (obj->memory.local_memory)
       res = hwloc_snprintf(tmp, tmplen, "%s%lu%s",
 			   prefix,
-			   (unsigned long) hwloc_memory_size_printf_value(obj->memory.total_memory, verbose),
-			   hwloc_memory_size_printf_unit(obj->memory.total_memory, verbose));
+			   (unsigned long) hwloc_memory_size_printf_value(obj->memory.local_memory, verbose),
+			   hwloc_memory_size_printf_unit(obj->memory.local_memory, verbose));
   }
   if (res < 0)
     return -1;
@@ -603,10 +606,14 @@ hwloc_obj_attr_snprintf(char * __hwloc_restrict string, size_t size, hwloc_obj_t
   case HWLOC_OBJ_PCI_DEVICE:
     if (verbose) {
       char linkspeed[64]= "";
+      char busid[16] = "[collapsed]";
       if (obj->attr->pcidev.linkspeed)
         snprintf(linkspeed, sizeof(linkspeed), "%slink=%.2fGB/s", separator, obj->attr->pcidev.linkspeed);
-      res = snprintf(string, size, "busid=%04x:%02x:%02x.%01x%sclass=%04x(%s)%s",
-		     obj->attr->pcidev.domain, obj->attr->pcidev.bus, obj->attr->pcidev.dev, obj->attr->pcidev.func, separator,
+      if (!hwloc_obj_get_info_by_name(obj, "lstopoCollapse"))
+	snprintf(busid, sizeof(busid), "%04x:%02x:%02x.%01x",
+		 obj->attr->pcidev.domain, obj->attr->pcidev.bus, obj->attr->pcidev.dev, obj->attr->pcidev.func);
+      res = snprintf(string, size, "busid=%s%sclass=%04x(%s)%s",
+		     busid, separator,
 		     obj->attr->pcidev.class_id, hwloc_pci_class_string(obj->attr->pcidev.class_id), linkspeed);
     }
     break;
@@ -627,6 +634,8 @@ hwloc_obj_attr_snprintf(char * __hwloc_restrict string, size_t size, hwloc_obj_t
   if (verbose) {
     unsigned i;
     for(i=0; i<obj->infos_count; i++) {
+      if (!strcmp(obj->infos[i].name, "lstopoCollapse"))
+	continue;
       if (strchr(obj->infos[i].value, ' '))
 	res = hwloc_snprintf(tmp, tmplen, "%s%s=\"%s\"",
 			     prefix,
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/Makefile.am b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/Makefile.am
index eb791a5..4c5c483 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/Makefile.am
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/Makefile.am
@@ -1,5 +1,5 @@
-# Copyright © 2009-2013 Inria.  All rights reserved.
-# Copyright © 2009-2012 Université Bordeaux 1
+# Copyright © 2009-2015 Inria.  All rights reserved.
+# Copyright © 2009-2012 Université Bordeaux
 # Copyright © 2009-2010 Cisco Systems, Inc.  All rights reserved.
 # See COPYING in top-level directory.
 
@@ -7,7 +7,7 @@ AM_CFLAGS = $(HWLOC_CFLAGS)
 AM_CPPFLAGS = $(HWLOC_CPPFLAGS)
 AM_LDFLAGS = $(HWLOC_LDFLAGS)
 
-SUBDIRS = ports xml
+SUBDIRS = . ports xml
 DIST_SUBDIRS = ports xml linux rename
 
 if HWLOC_HAVE_LINUX
@@ -21,6 +21,7 @@ LOG_COMPILER = $(builddir)/wrapper.sh
 check_PROGRAMS = hwloc_list_components \
 	hwloc_bitmap \
 	hwloc_bitmap_string \
+	hwloc_bitmap_compare_inclusion \
 	hwloc_get_closest_objs \
 	hwloc_get_obj_covering_cpuset \
 	hwloc_get_cache_covering_cpuset \
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/cuda.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/cuda.c
index acb864d..044af6a 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/cuda.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/cuda.c
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2010-2012 Inria.  All rights reserved.
+ * Copyright © 2010-2014 Inria.  All rights reserved.
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -69,7 +69,7 @@ int main(void)
     value = hwloc_obj_get_info_by_name(osdev, "CoProcType");
     err = strcmp(value, "CUDA");
     assert(!err);
-    
+
     value = hwloc_obj_get_info_by_name(osdev, "GPUModel");
     printf("found OSDev model %s\n", value);
 
@@ -81,7 +81,9 @@ int main(void)
       char *cpuset_string = NULL;
       hwloc_bitmap_asprintf(&cpuset_string, set);
       printf("got cpuset %s for device %d\n", cpuset_string, i);
-      assert(hwloc_bitmap_isequal(set, ancestor->cpuset));
+      if (hwloc_bitmap_isequal(hwloc_topology_get_complete_cpuset(topology), hwloc_topology_get_topology_cpuset(topology)))
+	/* only compare if the topology is complete, otherwise things can be significantly different */
+	assert(hwloc_bitmap_isincluded(ancestor->cpuset, set));
       free(cpuset_string);
     }
     hwloc_bitmap_free(set);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/cudart.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/cudart.c
index ec122a4..1ff78da 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/cudart.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/cudart.c
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2010-2012 Inria.  All rights reserved.
+ * Copyright © 2010-2014 Inria.  All rights reserved.
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -54,7 +54,7 @@ int main(void)
     value = hwloc_obj_get_info_by_name(osdev, "CoProcType");
     err = strcmp(value, "CUDA");
     assert(!err);
-    
+
     value = hwloc_obj_get_info_by_name(osdev, "GPUModel");
     printf("found OSDev model %s\n", value);
 
@@ -66,7 +66,9 @@ int main(void)
       char *cpuset_string = NULL;
       hwloc_bitmap_asprintf(&cpuset_string, set);
       printf("got cpuset %s for device %d\n", cpuset_string, i);
-      assert(hwloc_bitmap_isequal(set, ancestor->cpuset));
+      if (hwloc_bitmap_isequal(hwloc_topology_get_complete_cpuset(topology), hwloc_topology_get_topology_cpuset(topology)))
+	/* only compare if the topology is complete, otherwise things can be significantly different */
+	assert(hwloc_bitmap_isequal(set, ancestor->cpuset));
       free(cpuset_string);
     }
     hwloc_bitmap_free(set);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/embedded/config/README.txt b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/embedded/config/README.txt
index 0d14817..ab1e8cd 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/embedded/config/README.txt
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/embedded/config/README.txt
@@ -1,2 +1 @@
-This file exists solely so that the config/ directory exists in hg and
-git checkouts.
+This file exists solely so that the config/ directory exists in git checkouts.
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/embedded/do_test.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/embedded/do_test.c
index 99784cd..65262e7 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/embedded/do_test.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/embedded/do_test.c
@@ -22,7 +22,7 @@ int do_test(void)
     if (0 != mytest_hwloc_topology_load(topology)) return 1;
     printf("*** Test 4: topology get depth\n");
     depth = mytest_hwloc_topology_get_depth(topology);
-    if (depth < 0) return 1;
+    if (depth > 10000) return 1;
     printf("    Max depth: %u\n", depth);
     printf("*** Test 5: topology destroy\n");
     mytest_hwloc_topology_destroy(topology);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/embedded/main.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/embedded/main.c
index c2db8c7..da94cbf 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/embedded/main.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/embedded/main.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009 inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009 Université Bordeaux
  * Copyright © 2009 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/gl.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/gl.c
index c097c94..ed22a9a 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/gl.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/gl.c
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2012 Blue Brain Project, BBP/EPFL. All rights reserved.
- * Copyright © 2012-2013 Inria.  All rights reserved.
+ * Copyright © 2012-2014 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -41,7 +41,7 @@ int main(void)
   /* Perform topology detection */
   hwloc_topology_load(topology);
 
-  /* Case 1: Get the cpusets of the sockets connecting the PCI devices in the topology */
+  /* Case 1: Get the cpusets of the packages connecting the PCI devices in the topology */
   nr_pcidev = hwloc_get_nbobjs_by_type(topology, HWLOC_OBJ_PCI_DEVICE);
   for (i = 0; i < nr_pcidev; ++i) {
       pcidev = hwloc_get_obj_by_type(topology, HWLOC_OBJ_PCI_DEVICE, i);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/glibc-sched.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/glibc-sched.c
index 1d794e8..5decfc1 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/glibc-sched.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/glibc-sched.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2010 inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_backends.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_backends.c
index 3875c1a..3f71dc6 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_backends.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_backends.c
@@ -27,7 +27,7 @@ int main(void)
   char *xmlbuf;
   int xmlbuflen;
   char xmlfile[] = "hwloc_backends.tmpxml.XXXXXX";
-  int xmlbufok = 0, xmlfileok = 0;
+  int xmlbufok = 0, xmlfileok = 0, xmlfilefd;
   hwloc_obj_t sw;
   int err;
 
@@ -39,8 +39,8 @@ int main(void)
     printf("XML buffer export failed (%s), ignoring\n", strerror(errno));
   else
     xmlbufok = 1;
-  mkstemp(xmlfile);
-  if (hwloc_topology_export_xml(topology1, xmlfile) < 0)
+  xmlfilefd = mkstemp(xmlfile);
+  if (xmlfilefd < 0 || hwloc_topology_export_xml(topology1, xmlfile) < 0)
     printf("XML file export failed (%s), ignoring\n", strerror(errno));
   else
     xmlfileok = 1;
@@ -129,8 +129,10 @@ int main(void)
 
   if (xmlbufok)
     hwloc_free_xmlbuffer(topology1, xmlbuf);
-  if (xmlfileok)
+  if (xmlfilefd >= 0) {
     unlink(xmlfile);
+    close(xmlfilefd);
+  }
   hwloc_topology_destroy(topology1);
 
   return 0;
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bind.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bind.c
index b67c127..b5a37c9 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bind.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bind.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2010 inria.  All rights reserved.
- * Copyright © 2009-2011 Université Bordeaux 1
+ * Copyright © 2009-2014 Inria.  All rights reserved.
+ * Copyright © 2009-2011 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -202,7 +202,7 @@ int main(void)
   testmem3(set);
   hwloc_bitmap_free(set);
 
-  obj = hwloc_get_obj_by_type(topology, HWLOC_OBJ_NODE, 0);
+  obj = hwloc_get_obj_by_type(topology, HWLOC_OBJ_NUMANODE, 0);
   if (obj) {
     set = hwloc_bitmap_dup(obj->cpuset);
     hwloc_bitmap_asprintf(&str, set);
@@ -211,7 +211,7 @@ int main(void)
 
     testmem3(set);
 
-    obj = hwloc_get_obj_by_type(topology, HWLOC_OBJ_NODE, 1);
+    obj = hwloc_get_obj_by_type(topology, HWLOC_OBJ_NUMANODE, 1);
     if (obj) {
       hwloc_bitmap_or(set, set, obj->cpuset);
       hwloc_bitmap_asprintf(&str, set);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bitmap.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bitmap.c
index a6113a8..674084d 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bitmap.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bitmap.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2011 inria.  All rights reserved.
- * Copyright © 2009, 2012 Université Bordeaux 1
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009, 2012 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -18,6 +18,9 @@ int main(void)
 
   /* check an empty bitmap */
   set = hwloc_bitmap_alloc();
+  assert(hwloc_bitmap_weight(set) == 0);
+  assert(hwloc_bitmap_first(set) == -1);
+  assert(hwloc_bitmap_last(set) == -1);
   assert(hwloc_bitmap_to_ulong(set) == 0UL);
   assert(hwloc_bitmap_to_ith_ulong(set, 0) == 0UL);
   assert(hwloc_bitmap_to_ith_ulong(set, 1) == 0UL);
@@ -40,6 +43,9 @@ int main(void)
   assert(hwloc_bitmap_to_ith_ulong(set, 23) == 0UL);
   /* check a zeroed bitmap */
   hwloc_bitmap_zero(set);
+  assert(hwloc_bitmap_weight(set) == 0);
+  assert(hwloc_bitmap_first(set) == -1);
+  assert(hwloc_bitmap_last(set) == -1);
   assert(hwloc_bitmap_to_ulong(set) == 0UL);
   assert(hwloc_bitmap_to_ith_ulong(set, 0) == 0UL);
   assert(hwloc_bitmap_to_ith_ulong(set, 1) == 0UL);
@@ -49,6 +55,9 @@ int main(void)
 
   /* check a full bitmap */
   set = hwloc_bitmap_alloc_full();
+  assert(hwloc_bitmap_weight(set) == -1);
+  assert(hwloc_bitmap_first(set) == 0);
+  assert(hwloc_bitmap_last(set) == -1);
   assert(hwloc_bitmap_to_ulong(set) == ~0UL);
   assert(hwloc_bitmap_to_ith_ulong(set, 0) == ~0UL);
   assert(hwloc_bitmap_to_ith_ulong(set, 1) == ~0UL);
@@ -67,6 +76,16 @@ int main(void)
   assert(hwloc_bitmap_to_ith_ulong(set, 0) == 0UL);
   assert(hwloc_bitmap_to_ith_ulong(set, 1) == 0UL);
   assert(hwloc_bitmap_to_ith_ulong(set, 23) == 0UL);
+  /* check a filled bitmap */
+  hwloc_bitmap_fill(set);
+  assert(hwloc_bitmap_weight(set) == -1);
+  assert(hwloc_bitmap_first(set) == 0);
+  assert(hwloc_bitmap_last(set) == -1);
+  assert(hwloc_bitmap_to_ith_ulong(set, 4) == ~0UL);
+  assert(hwloc_bitmap_to_ulong(set) == ~0UL);
+  assert(hwloc_bitmap_to_ith_ulong(set, 0) == ~0UL);
+  assert(hwloc_bitmap_to_ith_ulong(set, 1) == ~0UL);
+  assert(hwloc_bitmap_to_ith_ulong(set, 23) == ~0UL);
   hwloc_bitmap_free(set);
 
   /* check ranges */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bitmap_compare_inclusion.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bitmap_compare_inclusion.c
new file mode 100644
index 0000000..e2319cf
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bitmap_compare_inclusion.c
@@ -0,0 +1,99 @@
+/*
+ * Copyright © 2015 Inria.  All rights reserved.
+ * See COPYING in top-level directory.
+ */
+
+#include <hwloc.h>
+
+#include <private/private.h>
+
+#include <assert.h>
+
+/* check hwloc_bitmap_compare_inclusion() */
+
+static int check_compare(hwloc_const_bitmap_t set1, hwloc_const_bitmap_t set2)
+{
+  int res = hwloc_bitmap_compare_inclusion(set1, set2);
+
+  if (hwloc_bitmap_iszero(set1)) {
+    if (hwloc_bitmap_iszero(set2)) {
+      assert(res == HWLOC_BITMAP_EQUAL);
+    } else {
+      assert(res == HWLOC_BITMAP_INCLUDED);
+    }
+  } else if (hwloc_bitmap_iszero(set2)) {
+    assert(res == HWLOC_BITMAP_CONTAINS);
+    
+  } else if (hwloc_bitmap_isequal(set1, set2)) {
+    assert(res == HWLOC_BITMAP_EQUAL);
+  } else if (hwloc_bitmap_isincluded(set1, set2)) {
+    assert(res == HWLOC_BITMAP_INCLUDED);
+  } else if (hwloc_bitmap_isincluded(set2, set1)) {
+    assert(res == HWLOC_BITMAP_CONTAINS);
+  } else if (hwloc_bitmap_intersects(set1, set2)) {
+    assert(res == HWLOC_BITMAP_INTERSECTS);
+  } else {
+    assert(res == HWLOC_BITMAP_DIFFERENT);
+  }
+
+  return res;
+}
+
+int main(void)
+{
+#define N 10
+  hwloc_bitmap_t sets[N];
+  unsigned i,j;
+  unsigned stats[5];
+
+  memset(stats, 0, sizeof(stats));
+  
+  sets[0] = hwloc_bitmap_alloc();
+  
+  sets[1] = hwloc_bitmap_alloc_full();
+
+  sets[2] = hwloc_bitmap_alloc_full();
+  hwloc_bitmap_clr_range(sets[2], 56, 129);
+
+  sets[3] = hwloc_bitmap_alloc_full();
+  hwloc_bitmap_clr_range(sets[3], 0, 33);
+  hwloc_bitmap_clr_range(sets[3], 50, 135);
+
+  sets[4] = hwloc_bitmap_alloc();
+  hwloc_bitmap_set_range(sets[4], 0, 24);
+
+  sets[5] = hwloc_bitmap_alloc();
+  hwloc_bitmap_set_range(sets[5], 0, 178);
+
+  sets[6] = hwloc_bitmap_alloc();
+  hwloc_bitmap_set_range(sets[6], 0, 191);
+  hwloc_bitmap_set_range(sets[6], 1031, 2035);
+
+  sets[7] = hwloc_bitmap_alloc();
+  hwloc_bitmap_set_range(sets[7], 324, 456);
+  
+  sets[8] = hwloc_bitmap_alloc();
+  hwloc_bitmap_set_range(sets[8], 323, 455);
+  hwloc_bitmap_set_range(sets[8], 136, 177);
+  
+  sets[9] = hwloc_bitmap_alloc();
+  hwloc_bitmap_set_range(sets[9], 3, 6);
+
+  for(i=0; i<N; i++) {
+    for(j=0; j<N; j++) {
+      int res = check_compare(sets[i], sets[j]);
+      stats[res]++;
+    }
+  }
+
+  for(i=0; i<N; i++)
+    hwloc_bitmap_free(sets[i]);
+
+  printf("got %u EQUAL\n", stats[0]);
+  printf("got %u INCLUDED\n", stats[1]);
+  printf("got %u CONTAINS\n", stats[2]);
+  printf("got %u INTERSECTS\n", stats[3]);
+  printf("got %u DIFFERENT\n", stats[4]);
+  
+  return 0;
+}
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bitmap_first_last_weight.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bitmap_first_last_weight.c
index df03d0d..3b8c0f6 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bitmap_first_last_weight.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bitmap_first_last_weight.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2010 inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bitmap_singlify.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bitmap_singlify.c
index 1c8e62e..1fe4e4b 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bitmap_singlify.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bitmap_singlify.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2010 inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bitmap_string.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bitmap_string.c
index 6f88857..0307d17 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bitmap_string.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bitmap_string.c
@@ -1,7 +1,8 @@
+
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2011 inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -15,24 +16,37 @@
 
 /* check hwloc_bitmap_asprintf(), hwloc_obj_cpuset_snprintf() and hwloc_bitmap_sscanf() */
 
-static void check_cpuset(hwloc_bitmap_t set, const char *expected)
+static void check_cpuset(hwloc_bitmap_t set, const char *expected1, const char *expected2, const char *expected3)
 {
   hwloc_bitmap_t set2 = hwloc_bitmap_alloc();
   char *string = NULL;
 
   hwloc_bitmap_asprintf(&string, set);
-  if (expected && strcmp(string, expected))
+  fprintf(stderr, "exported to %s\n", string);
+  if (expected1 && strcmp(string, expected1)) {
+    fprintf(stderr, "got %s instead of %s\n", string, expected1);
     assert(0);
+  }
   hwloc_bitmap_sscanf(set2, string);
   free(string);
   assert(hwloc_bitmap_isequal(set, set2));
 
   hwloc_bitmap_list_asprintf(&string, set);
+  fprintf(stderr, "exported to list %s\n", string);
+  if (expected2 && strcmp(string, expected2)) {
+    fprintf(stderr, "got %s instead of %s\n", string, expected2);
+    assert(0);
+  }
   hwloc_bitmap_list_sscanf(set2, string);
   free(string);
   assert(hwloc_bitmap_isequal(set, set2));
 
   hwloc_bitmap_taskset_asprintf(&string, set);
+  fprintf(stderr, "exported to taskset %s\n", string);
+  if (expected3 && strcmp(string, expected3)) {
+    fprintf(stderr, "got %s instead of %s\n", string, expected3);
+    assert(0);
+  }
   hwloc_bitmap_taskset_sscanf(set2, string);
   free(string);
   assert(hwloc_bitmap_isequal(set, set2));
@@ -51,21 +65,41 @@ int main(void)
 
   /* check an empty cpuset */
   set = hwloc_bitmap_alloc();
-  check_cpuset(set, "0x0");
-  hwloc_bitmap_free(set);
+  check_cpuset(set, "0x0", "", "0x0");
   printf("empty cpuset converted back and forth, ok\n");
 
+  /* make sure the first ulong is allocated even if empty */
+  hwloc_bitmap_set_ith_ulong(set, 0, 0UL);
+  check_cpuset(set, "0x0", "", "0x0");
+  printf("uselessly modified empty cpuset converted back and forth, ok\n");
+
+  /* make sure the 6th ulong is allocated even if empty */
+  hwloc_bitmap_set_ith_ulong(set, 5, 0UL);
+  check_cpuset(set, "0x0", "", "0x0");
+  printf("twice uselessly modified empty cpuset converted back and forth, ok\n");
+  hwloc_bitmap_free(set);
+
   /* check a full (and infinite) cpuset */
   set = hwloc_bitmap_alloc_full();
-  check_cpuset(set, "0xf...f");
-  hwloc_bitmap_free(set);
+  check_cpuset(set, "0xf...f", "0-", "0xf...f");
   printf("full cpuset converted back and forth, ok\n");
 
+  /* make sure the first ulong is allocated even if full */
+  hwloc_bitmap_set_ith_ulong(set, 0, ~0UL);
+  check_cpuset(set, "0xf...f", "0-", "0xf...f");
+  printf("uselessly modified full cpuset converted back and forth, ok\n");
+
+  /* make sure the 9th ulong is allocated even if full */
+  hwloc_bitmap_set_ith_ulong(set, 8, ~0UL);
+  check_cpuset(set, "0xf...f", "0-", "0xf...f");
+  printf("twice uselessly modified full cpuset converted back and forth, ok\n");
+  hwloc_bitmap_free(set);
+
   /* check an infinite (but non full) cpuset */
   set = hwloc_bitmap_alloc_full();
   hwloc_bitmap_clr(set, 173);
   hwloc_bitmap_clr_range(set, 60, 70);
-  check_cpuset(set, NULL);
+  check_cpuset(set, "0xf...f,0xffffdfff,0xffffffff,0xffffffff,0xffffff80,0x0fffffff,0xffffffff", "0-59,71-172,174-", "0xf...fffffdfffffffffffffffffffffffff800fffffffffffffff");
   hwloc_bitmap_free(set);
   printf("infinite/nonfull cpuset converted back and forth, ok\n");
 
@@ -73,7 +107,7 @@ int main(void)
   set = hwloc_bitmap_alloc();
   hwloc_bitmap_set(set, 2);
   hwloc_bitmap_set_range(set, 67, 70);
-  check_cpuset(set, "0x00000078,,0x00000004");
+  check_cpuset(set, "0x00000078,,0x00000004", "2,67-70", "0x780000000000000004");
   hwloc_bitmap_free(set);
   printf("finite/nonnull cpuset converted back and forth, ok\n");
 
@@ -85,7 +119,7 @@ int main(void)
   obj = hwloc_get_root_obj(topology);
   stringlen = hwloc_bitmap_asprintf(&string, obj->cpuset);
   printf("system cpuset is %s\n", string);
-  check_cpuset(obj->cpuset, NULL);
+  check_cpuset(obj->cpuset, NULL, NULL, NULL);
   printf("system cpuset converted back and forth, ok\n");
 
   printf("truncating system cpuset to NULL buffer\n");
@@ -152,13 +186,13 @@ int main(void)
   obj = hwloc_get_obj_by_depth(topology, depth-1, 0);
   hwloc_obj_cpuset_snprintf(string, stringlen+1, 1, &obj);
   printf("first cpu cpuset is %s\n", string);
-  check_cpuset(obj->cpuset, NULL);
+  check_cpuset(obj->cpuset, NULL, NULL, NULL);
   printf("first cpu cpuset converted back and forth, ok\n");
 
   obj = hwloc_get_obj_by_depth(topology, depth-1, hwloc_get_nbobjs_by_depth(topology, depth-1) - 1);
   hwloc_obj_cpuset_snprintf(string, stringlen+1, 1, &obj);
   printf("last cpu cpuset is %s\n", string);
-  check_cpuset(obj->cpuset, NULL);
+  check_cpuset(obj->cpuset, NULL, NULL, NULL);
   printf("last cpu cpuset converted back and forth, ok\n");
 
   free(string);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_custom.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_custom.c
index 157c279..1a6e863 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_custom.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_custom.c
@@ -18,7 +18,7 @@ int main(void)
 
   printf("Loading the local topology...\n");
   hwloc_topology_init(&local);
-  hwloc_topology_set_synthetic(local, "node:2 socket:2 cache:1 core:2 cache:2 pu:2");
+  hwloc_topology_set_synthetic(local, "node:2 pack:2 cache:1 core:2 cache:2 pu:2");
   hwloc_topology_load(local);
 
   printf("Try to create an empty custom topology...\n");
@@ -69,8 +69,8 @@ int main(void)
   assert(hwloc_get_nbobjs_by_type(global, HWLOC_OBJ_MACHINE) == 8);
   assert(hwloc_get_depth_type(global, 4) == HWLOC_OBJ_NODE);
   assert(hwloc_get_nbobjs_by_type(global, HWLOC_OBJ_NODE) == 16);
-  assert(hwloc_get_depth_type(global, 5) == HWLOC_OBJ_SOCKET);
-  assert(hwloc_get_nbobjs_by_type(global, HWLOC_OBJ_SOCKET) == 32);
+  assert(hwloc_get_depth_type(global, 5) == HWLOC_OBJ_PACKAGE);
+  assert(hwloc_get_nbobjs_by_type(global, HWLOC_OBJ_PACKAGE) == 32);
   assert(hwloc_get_depth_type(global, 6) == HWLOC_OBJ_CACHE);
   assert(hwloc_get_nbobjs_by_depth(global, 6) == 32);
   assert(hwloc_get_depth_type(global, 7) == HWLOC_OBJ_CORE);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_distances.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_distances.c
index 5a17b90..9bb4377 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_distances.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_distances.c
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2010-2011 inria.  All rights reserved.
+ * Copyright © 2010-2014 Inria.  All rights reserved.
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -73,7 +73,7 @@ int main(void)
   }
 
   /* check that hwloc_get_latency works fine on numa distances */
-  distances = hwloc_get_whole_distance_matrix_by_type(topology, HWLOC_OBJ_NODE);
+  distances = hwloc_get_whole_distance_matrix_by_type(topology, HWLOC_OBJ_NUMANODE);
   if (!distances || !distances->latency) {
     fprintf(stderr, "No NUMA distance matrix!\n");
     return -1;
@@ -83,8 +83,8 @@ int main(void)
   nbobjs = distances->nbobjs;
   for(i=0; i<nbobjs; i++)
     for(j=0; j<nbobjs; j++) {
-      obj1 = hwloc_get_obj_by_type(topology, HWLOC_OBJ_NODE, i);
-      obj2 = hwloc_get_obj_by_type(topology, HWLOC_OBJ_NODE, j);
+      obj1 = hwloc_get_obj_by_type(topology, HWLOC_OBJ_NUMANODE, i);
+      obj2 = hwloc_get_obj_by_type(topology, HWLOC_OBJ_NUMANODE, j);
       err = hwloc_get_latency(topology, obj1, obj2, &d1, &d2);
       assert(!err);
       assert(d1 == distances->latency[i*nbobjs+j]);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_cache_covering_cpuset.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_cache_covering_cpuset.c
index 08a0e4f..8ea60a9 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_cache_covering_cpuset.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_cache_covering_cpuset.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2010 inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_closest_objs.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_closest_objs.c
index 399ac8f..db86e01 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_closest_objs.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_closest_objs.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2010 inria.  All rights reserved.
- * Copyright © 2009-2010 Université Bordeaux 1
+ * Copyright © 2009-2010 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -13,7 +13,7 @@
 #include <string.h>
 #include <assert.h>
 
-/* 
+/*
  * check hwloc_get_closest_objs()
  *
  * - get the last object of the last level
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_largest_objs_inside_cpuset.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_largest_objs_inside_cpuset.c
index 6bb1d27..a422c73 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_largest_objs_inside_cpuset.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_largest_objs_inside_cpuset.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2010 inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_last_cpu_location.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_last_cpu_location.c
index a6ad9f7..03ab103 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_last_cpu_location.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_last_cpu_location.c
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2011 inria.  All rights reserved.
- * Copyright © 2011 Université Bordeaux 1.  All rights reserved.
+ * Copyright © 2011 Université Bordeaux.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_next_obj_covering_cpuset.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_next_obj_covering_cpuset.c
index 5deb77f..e58cc90 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_next_obj_covering_cpuset.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_next_obj_covering_cpuset.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2013 Inria.  All rights reserved.
- * Copyright © 2009-2010 Université Bordeaux 1
+ * Copyright © 2009-2014 Inria.  All rights reserved.
+ * Copyright © 2009-2010 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -40,17 +40,17 @@ main (void)
 
   hwloc_bitmap_sscanf(set, "00008f18");
 
-  obj = hwloc_get_next_obj_covering_cpuset_by_type(topology, set, HWLOC_OBJ_NODE, NULL);
+  obj = hwloc_get_next_obj_covering_cpuset_by_type(topology, set, HWLOC_OBJ_NUMANODE, NULL);
   assert(obj == hwloc_get_obj_by_depth(topology, 1, 1));
-  obj = hwloc_get_next_obj_covering_cpuset_by_type(topology, set, HWLOC_OBJ_NODE, obj);
+  obj = hwloc_get_next_obj_covering_cpuset_by_type(topology, set, HWLOC_OBJ_NUMANODE, obj);
   assert(obj == hwloc_get_obj_by_depth(topology, 1, 2));
-  obj = hwloc_get_next_obj_covering_cpuset_by_type(topology, set, HWLOC_OBJ_NODE, obj);
+  obj = hwloc_get_next_obj_covering_cpuset_by_type(topology, set, HWLOC_OBJ_NUMANODE, obj);
   assert(obj == hwloc_get_obj_by_depth(topology, 1, 4));
-  obj = hwloc_get_next_obj_covering_cpuset_by_type(topology, set, HWLOC_OBJ_NODE, obj);
+  obj = hwloc_get_next_obj_covering_cpuset_by_type(topology, set, HWLOC_OBJ_NUMANODE, obj);
   assert(obj == hwloc_get_obj_by_depth(topology, 1, 5));
-  obj = hwloc_get_next_obj_covering_cpuset_by_type(topology, set, HWLOC_OBJ_NODE, obj);
+  obj = hwloc_get_next_obj_covering_cpuset_by_type(topology, set, HWLOC_OBJ_NUMANODE, obj);
   assert(obj == hwloc_get_obj_by_depth(topology, 1, 7));
-  obj = hwloc_get_next_obj_covering_cpuset_by_type(topology, set, HWLOC_OBJ_NODE, obj);
+  obj = hwloc_get_next_obj_covering_cpuset_by_type(topology, set, HWLOC_OBJ_NUMANODE, obj);
   assert(!obj);
 
   hwloc_topology_destroy (topology);
@@ -60,14 +60,14 @@ main (void)
   err = hwloc_topology_init (&topology);
   if (err)
     return EXIT_FAILURE;
-  hwloc_topology_set_synthetic (topology, "nodes:2 socket:5 cores:3 4");
+  hwloc_topology_set_synthetic (topology, "nodes:2 pack:5 cores:3 4");
   err = hwloc_topology_load (topology);
   if (err)
     return EXIT_FAILURE;
 
   hwloc_bitmap_sscanf(set, "0ff08000");
 
-  depth = hwloc_get_type_depth(topology, HWLOC_OBJ_SOCKET);
+  depth = hwloc_get_type_depth(topology, HWLOC_OBJ_PACKAGE);
   assert(depth == 2);
   obj = hwloc_get_next_obj_covering_cpuset_by_depth(topology, set, depth, NULL);
   assert(obj == hwloc_get_obj_by_depth(topology, depth, 1));
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_obj_below_array_by_type.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_obj_below_array_by_type.c
index af86624..bc33d86 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_obj_below_array_by_type.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_obj_below_array_by_type.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -30,7 +30,7 @@ main (void)
   if (err)
     return EXIT_FAILURE;
 
-  hwloc_topology_set_synthetic (topology, "node:3 socket:3 core:3 pu:3");
+  hwloc_topology_set_synthetic (topology, "node:3 pack:3 core:3 pu:3");
 
   err = hwloc_topology_load (topology);
   if (err)
@@ -38,27 +38,27 @@ main (void)
 
 
   /* find the first thread */
-  typev[0] = HWLOC_OBJ_NODE;   idxv[0] = 0;
-  typev[1] = HWLOC_OBJ_SOCKET; idxv[1] = 0;
+  typev[0] = HWLOC_OBJ_NUMANODE;   idxv[0] = 0;
+  typev[1] = HWLOC_OBJ_PACKAGE; idxv[1] = 0;
   typev[2] = HWLOC_OBJ_CORE;   idxv[2] = 0;
   typev[3] = HWLOC_OBJ_PU;   idxv[3] = 0;
   obj = hwloc_get_obj_below_array_by_type(topology, 4, typev, idxv);
   assert(obj == hwloc_get_obj_by_depth(topology, 4, 0));
 
   /* find the last core */
-  typev[0] = HWLOC_OBJ_NODE;   idxv[0] = 2;
-  typev[1] = HWLOC_OBJ_SOCKET; idxv[1] = 2;
+  typev[0] = HWLOC_OBJ_NUMANODE;   idxv[0] = 2;
+  typev[1] = HWLOC_OBJ_PACKAGE; idxv[1] = 2;
   typev[2] = HWLOC_OBJ_CORE;   idxv[2] = 2;
   obj = hwloc_get_obj_below_array_by_type(topology, 3, typev, idxv);
   assert(obj == hwloc_get_obj_by_depth(topology, 3, 26));
 
   /* misc tests */
 
-  typev[0] = HWLOC_OBJ_SOCKET; idxv[0] = 2;
+  typev[0] = HWLOC_OBJ_PACKAGE; idxv[0] = 2;
   obj = hwloc_get_obj_below_array_by_type(topology, 1, typev, idxv);
   assert(obj == hwloc_get_obj_by_depth(topology, 2, 2));
 
-  typev[0] = HWLOC_OBJ_NODE;   idxv[0] = 2;
+  typev[0] = HWLOC_OBJ_NUMANODE;   idxv[0] = 2;
   typev[1] = HWLOC_OBJ_CORE;   idxv[1] = 2;
   obj = hwloc_get_obj_below_array_by_type(topology, 2, typev, idxv);
   assert(obj == hwloc_get_obj_by_depth(topology, 3, 20));
@@ -66,7 +66,7 @@ main (void)
   obj = hwloc_get_obj_below_by_type(topology, typev[0], idxv[0], typev[1], idxv[1]);
   assert(obj == hwloc_get_obj_by_depth(topology, 3, 20));
 
-  typev[0] = HWLOC_OBJ_SOCKET; idxv[0] = 1;
+  typev[0] = HWLOC_OBJ_PACKAGE; idxv[0] = 1;
   typev[1] = HWLOC_OBJ_PU;   idxv[1] = 1;
   obj = hwloc_get_obj_below_array_by_type(topology, 2, typev, idxv);
   assert(obj == hwloc_get_obj_by_depth(topology, 4, 10));
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_obj_covering_cpuset.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_obj_covering_cpuset.c
index 6ae7e7d..98d1b02 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_obj_covering_cpuset.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_obj_covering_cpuset.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2010 inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_obj_inside_cpuset.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_obj_inside_cpuset.c
index 2533d5f..00cc357 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_obj_inside_cpuset.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_obj_inside_cpuset.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2010 inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009-2014 Inria.  All rights reserved.
+ * Copyright © 2009 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -28,7 +28,7 @@ main (void)
   if (err)
     return EXIT_FAILURE;
 
-  hwloc_topology_set_synthetic (topology, "nodes:2 sockets:3 caches:4 cores:5 6");
+  hwloc_topology_set_synthetic (topology, "nodes:2 pack:3 caches:4 cores:5 6");
 
   err = hwloc_topology_load (topology);
   if (err)
@@ -58,7 +58,7 @@ main (void)
   assert(!obj);
 
 
-  /* check there are 20 cores inside first socket */
+  /* check there are 20 cores inside first package */
   root = hwloc_get_obj_by_depth(topology, 2, 0);
   assert(hwloc_get_nbobjs_inside_cpuset_by_type(topology, root->cpuset, HWLOC_OBJ_CORE) == 20);
 
@@ -67,30 +67,30 @@ main (void)
   assert(hwloc_get_nbobjs_inside_cpuset_by_type(topology, root->cpuset, HWLOC_OBJ_CACHE) == 12);
 
 
-  /* check first PU of second socket */
+  /* check first PU of second package */
   root = hwloc_get_obj_by_depth(topology, 2, 1);
   obj = hwloc_get_obj_inside_cpuset_by_type(topology, root->cpuset, HWLOC_OBJ_PU, 0);
   assert(obj == hwloc_get_obj_by_depth(topology, 5, 4*5*6));
   idx = hwloc_get_obj_index_inside_cpuset(topology, root->cpuset, obj);
   assert(idx == 0);
 
-  /* check third core of third socket */
+  /* check third core of third package */
   root = hwloc_get_obj_by_depth(topology, 2, 2);
   obj = hwloc_get_obj_inside_cpuset_by_type(topology, root->cpuset, HWLOC_OBJ_CORE, 2);
   assert(obj == hwloc_get_obj_by_depth(topology, 4, 2*4*5+2));
   idx = hwloc_get_obj_index_inside_cpuset(topology, root->cpuset, obj);
   assert(idx == 2);
 
-  /* check first socket of second node */
+  /* check first package of second node */
   root = hwloc_get_obj_by_depth(topology, 1, 1);
-  obj = hwloc_get_obj_inside_cpuset_by_type(topology, root->cpuset, HWLOC_OBJ_SOCKET, 0);
+  obj = hwloc_get_obj_inside_cpuset_by_type(topology, root->cpuset, HWLOC_OBJ_PACKAGE, 0);
   assert(obj == hwloc_get_obj_by_depth(topology, 2, 3));
   idx = hwloc_get_obj_index_inside_cpuset(topology, root->cpuset, obj);
   assert(idx == 0);
 
-  /* there is no node inside sockets */
+  /* there is no node inside packages */
   root = hwloc_get_obj_by_depth(topology, 2, 0);
-  obj = hwloc_get_obj_inside_cpuset_by_type(topology, root->cpuset, HWLOC_OBJ_NODE, 0);
+  obj = hwloc_get_obj_inside_cpuset_by_type(topology, root->cpuset, HWLOC_OBJ_NUMANODE, 0);
   assert(!obj);
 
   hwloc_topology_destroy (topology);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_shared_cache_covering_obj.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_shared_cache_covering_obj.c
index 079a098..ed1e8fc 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_shared_cache_covering_obj.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_get_shared_cache_covering_obj.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009 inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_groups.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_groups.c
index ea48f4f..61313f4 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_groups.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_groups.c
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2011 inria.  All rights reserved.
+ * Copyright © 2011-2014 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -36,7 +36,7 @@ int main(void)
   width = hwloc_get_nbobjs_by_depth(topology, depth);
   assert(width == 1);
   /* 3 node at depth 2 */
-  depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NODE);
+  depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
   assert(depth == 2);
   width = hwloc_get_nbobjs_by_depth(topology, depth);
   assert(width == 3);
@@ -44,7 +44,7 @@ int main(void)
   obj = hwloc_get_root_obj(topology);
   assert(obj->arity == 2);
   /* check its children */
-  assert(obj->children[0]->type == HWLOC_OBJ_NODE);
+  assert(obj->children[0]->type == HWLOC_OBJ_NUMANODE);
   assert(obj->children[0]->depth == 2);
   assert(obj->children[0]->arity == 1);
   assert(obj->children[1]->type == HWLOC_OBJ_GROUP);
@@ -52,19 +52,19 @@ int main(void)
   assert(obj->children[1]->arity == 2);
   hwloc_topology_destroy(topology);
 
-  /* group 5 sockets as 2 group of 2 and 1 on the side, all of them below a common node object */
+  /* group 5 packages as 2 group of 2 and 1 on the side, all of them below a common node object */
   hwloc_topology_init(&topology);
-  hwloc_topology_set_synthetic(topology, "node:1 socket:5 pu:1");
+  hwloc_topology_set_synthetic(topology, "node:1 pack:5 pu:1");
   indexes[0] = 0; indexes[1] = 1; indexes[2] = 2; indexes[3] = 3; indexes[4] = 4;
   distances[ 0] = 1; distances[ 1] = 2; distances[ 2] = 4; distances[ 3] = 4; distances[ 4] = 4;
   distances[ 5] = 2; distances[ 6] = 1; distances[ 7] = 4; distances[ 8] = 4; distances[ 9] = 4;
   distances[10] = 4; distances[11] = 4; distances[12] = 1; distances[13] = 4; distances[14] = 4;
   distances[15] = 4; distances[16] = 4; distances[17] = 4; distances[18] = 1; distances[19] = 2;
   distances[20] = 4; distances[21] = 4; distances[22] = 4; distances[23] = 2; distances[24] = 1;
-  hwloc_topology_set_distance_matrix(topology, HWLOC_OBJ_SOCKET, 5, indexes, distances);
+  hwloc_topology_set_distance_matrix(topology, HWLOC_OBJ_PACKAGE, 5, indexes, distances);
   hwloc_topology_load(topology);
   /* 1 node at depth 1 */
-  depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NODE);
+  depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
   assert(depth == 1);
   width = hwloc_get_nbobjs_by_depth(topology, depth);
   assert(width == 1);
@@ -73,8 +73,8 @@ int main(void)
   assert(depth == 2);
   width = hwloc_get_nbobjs_by_depth(topology, depth);
   assert(width == 2);
-  /* 5 sockets at depth 3 */
-  depth = hwloc_get_type_depth(topology, HWLOC_OBJ_SOCKET);
+  /* 5 packages at depth 3 */
+  depth = hwloc_get_type_depth(topology, HWLOC_OBJ_PACKAGE);
   assert(depth == 3);
   width = hwloc_get_nbobjs_by_depth(topology, depth);
   assert(width == 5);
@@ -82,13 +82,13 @@ int main(void)
   obj = hwloc_get_root_obj(topology);
   assert(obj->arity == 1);
   obj = obj->children[0];
-  assert(obj->type == HWLOC_OBJ_NODE);
+  assert(obj->type == HWLOC_OBJ_NUMANODE);
   assert(obj->arity == 3);
   /* check its children */
   assert(obj->children[0]->type == HWLOC_OBJ_GROUP);
   assert(obj->children[0]->depth == 2);
   assert(obj->children[0]->arity == 2);
-  assert(obj->children[1]->type == HWLOC_OBJ_SOCKET);
+  assert(obj->children[1]->type == HWLOC_OBJ_PACKAGE);
   assert(obj->children[1]->depth == 3);
   assert(obj->children[1]->arity == 1);
   assert(obj->children[2]->type == HWLOC_OBJ_GROUP);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_insert_misc.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_insert_misc.c
index fdf14e2..7ffcb42 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_insert_misc.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_insert_misc.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2010 inria.  All rights reserved.
- * Copyright © 2009-2010 Université Bordeaux 1
+ * Copyright © 2009-2014 Inria.  All rights reserved.
+ * Copyright © 2009-2010 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -32,6 +32,8 @@ int main(void)
   hwloc_bitmap_copy(cpuset, hwloc_topology_get_topology_cpuset(topology));
   obj = hwloc_topology_insert_misc_object_by_cpuset(topology, cpuset, "test by cpuset under root");
   assert(obj);
+  obj = hwloc_topology_insert_misc_object_by_cpuset(topology, cpuset, "test2 by cpuset under root");
+  assert(obj);
   hwloc_bitmap_free(cpuset);
 
   /* insert by cpuset below first available PU */
@@ -39,6 +41,8 @@ int main(void)
   hwloc_bitmap_set(cpuset, hwloc_bitmap_first(hwloc_topology_get_topology_cpuset(topology)));
   obj = hwloc_topology_insert_misc_object_by_cpuset(topology, cpuset, "test by cpuset under first available PU");
   assert(obj);
+  obj = hwloc_topology_insert_misc_object_by_cpuset(topology, cpuset, "test2 by cpuset under first available PU");
+  assert(obj);
   hwloc_bitmap_free(cpuset);
 
   /* insert by parent below root */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_iodevs.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_iodevs.c
index 276e888..c8fd923 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_iodevs.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_iodevs.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2011 inria.  All rights reserved.
- * Copyright © Université Bordeaux 1
+ * Copyright © Université Bordeaux
  * See COPYING in top-level directory.
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_is_thissystem.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_is_thissystem.c
index c03071f..29d933f 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_is_thissystem.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_is_thissystem.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2010 inria.  All rights reserved.
- * Copyright © 2009-2010 Université Bordeaux 1
+ * Copyright © 2009-2010 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_object_userdata.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_object_userdata.c
index 2fd24d9..c324d8d 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_object_userdata.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_object_userdata.c
@@ -1,6 +1,6 @@
 /*
- * Copyright © 2009-2012 Inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009-2014 Inria.  All rights reserved.
+ * Copyright © 2009 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -59,7 +59,7 @@ static void import_cb(hwloc_topology_t topo __hwloc_attribute_unused, hwloc_obj_
     assert(length == 16);
     memcpy(tmp, buffer, 16);
     tmp[16] = '\0';
-    
+
     val = strtoull(buffer, NULL, 0);
 
     switch (val) {
@@ -85,7 +85,7 @@ static void import_cb(hwloc_topology_t topo __hwloc_attribute_unused, hwloc_obj_
     assert(RANDOMSTRINGLENGTH-i == (unsigned) length);
     err = memcmp(buffer, randomstring+(i+1)/2, length);
     assert(!err);
-    
+
   } else
     assert(0);
 }
@@ -104,10 +104,12 @@ int main(void)
   hwloc_topology_init(&topology);
   hwloc_topology_load(topology);
   check(topology);
+  assert(hwloc_topology_get_userdata(topology) == NULL);
   hwloc_topology_destroy(topology);
 
   /* check a synthetic topology */
   hwloc_topology_init(&topology);
+  hwloc_topology_set_userdata(topology, (void *)(uintptr_t)0x987654);
   hwloc_topology_set_synthetic(topology, "6 5 4 3 2");
   hwloc_topology_load(topology);
   check(topology);
@@ -151,6 +153,7 @@ int main(void)
   assert(obj3->userdata == (void *)(uintptr_t) 0x6);
   hwloc_topology_destroy(reimport);
 
+  assert(hwloc_topology_get_userdata(topology) == (void *)(uintptr_t)0x987654);
   hwloc_topology_destroy(topology);
 
   free(randomstring);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_synthetic.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_synthetic.c
index c7eb1e1..89dac63 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_synthetic.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_synthetic.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009 inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009-2014 Inria.  All rights reserved.
+ * Copyright © 2009 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -20,10 +20,13 @@ int main(void)
   hwloc_topology_t topology;
   unsigned depth;
   unsigned i,j, width;
+  char buffer[1024];
+  int err;
 
   /* check a synthetic topology */
   hwloc_topology_init(&topology);
-  hwloc_topology_set_synthetic(topology, "2 3 4 5 6");
+  err = hwloc_topology_set_synthetic(topology, "2 3 4 5 6");
+  assert(!err);
   hwloc_topology_load(topology);
 
   /* internal checks */
@@ -46,6 +49,90 @@ int main(void)
     width *= i+2;
   }
 
+  err = hwloc_topology_export_synthetic(topology, buffer, sizeof(buffer), 0);
+  assert(err == 75);
+  err = strcmp("NUMANode:2(memory=1073741824) Package:3 L2Cache:4(size=4194304) Core:5 PU:6", buffer);
+  assert(!err);
+
+  err = hwloc_topology_export_synthetic(topology, buffer, sizeof(buffer), HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_EXTENDED_TYPES|HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_ATTRS);
+  assert(err == 40);
+  err = strcmp("NUMANode:2 Package:3 Cache:4 Core:5 PU:6", buffer);
+  assert(!err);
+
+  hwloc_topology_destroy(topology);
+
+
+
+  hwloc_topology_init(&topology);
+  err = hwloc_topology_set_flags(topology, HWLOC_TOPOLOGY_FLAG_ICACHES);
+  err = hwloc_topology_set_synthetic(topology, "pack:2(indexes=3,5) numa:2(memory=256GB indexes=pack) l3u:1(size=20mb) l2:2 l1i:1(size=16kB) l1dcache:2 core:1 pu:2(indexes=l2)");
+  assert(!err);
+  hwloc_topology_load(topology);
+
+  err = hwloc_topology_export_synthetic(topology, buffer, sizeof(buffer), 0);
+  assert(err == 181);
+  err = strcmp("Package:2 NUMANode:2(memory=274877906944 indexes=2*2:1*2) L3Cache:1(size=20971520) L2Cache:2(size=4194304) L1iCache:1(size=16384) L1dCache:2(size=32768) Core:1 PU:2(indexes=4*8:1*4)", buffer);
+  assert(!err);
+
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PACKAGE, 1)->os_index == 5);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_NUMANODE, 1)->os_index == 2);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 12)->os_index == 3);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 13)->os_index == 11);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 14)->os_index == 19);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 15)->os_index == 27);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 16)->os_index == 4);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 17)->os_index == 12);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 18)->os_index == 20);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 19)->os_index == 28);
+
+  hwloc_topology_destroy(topology);
+
+
+
+
+  hwloc_topology_init(&topology);
+  err = hwloc_topology_set_synthetic(topology, "pack:2 core:2 pu:2(indexes=0,4,2,6,1,5,3,7)");
+  assert(!err);
+  hwloc_topology_load(topology);
+
+  err = hwloc_topology_export_synthetic(topology, buffer, sizeof(buffer), 0);
+  assert(err == 42);
+  err = strcmp("Package:2 Core:2 PU:2(indexes=4*2:2*2:1*2)", buffer);
+  assert(!err);
+
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 0)->os_index == 0);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 1)->os_index == 4);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 2)->os_index == 2);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 3)->os_index == 6);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 4)->os_index == 1);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 5)->os_index == 5);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 6)->os_index == 3);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 7)->os_index == 7);
+
+  hwloc_topology_destroy(topology);
+
+
+
+
+  hwloc_topology_init(&topology);
+  err = hwloc_topology_set_synthetic(topology, "pack:2 core:2 pu:2(indexes=0,4,2,6,1,3,5,7)");
+  assert(!err);
+  hwloc_topology_load(topology);
+
+  err = hwloc_topology_export_synthetic(topology, buffer, sizeof(buffer), 0);
+  assert(err == 46);
+  err = strcmp("Package:2 Core:2 PU:2(indexes=0,4,2,6,1,3,5,7)", buffer);
+  assert(!err);
+
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 0)->os_index == 0);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 1)->os_index == 4);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 2)->os_index == 2);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 3)->os_index == 6);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 4)->os_index == 1);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 5)->os_index == 3);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 6)->os_index == 5);
+  assert(hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 7)->os_index == 7);
+
   hwloc_topology_destroy(topology);
 
   return 0;
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_topology_diff.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_topology_diff.c
index 5b010e7..cf4fac9 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_topology_diff.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_topology_diff.c
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2013 Inria.  All rights reserved.
+ * Copyright © 2013-2014 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -47,7 +47,7 @@ int main(void)
   hwloc_obj_add_info(obj, "Foo", "Bar2");
   obj->memory.local_memory += 128*4096;
 
-  obj = hwloc_get_obj_by_type(topo2, HWLOC_OBJ_NODE, 0);
+  obj = hwloc_get_obj_by_type(topo2, HWLOC_OBJ_NUMANODE, 0);
   if (obj)
     obj->memory.local_memory += 32*4096;
   printf("check that topo2 is now properly diff'ed\n");
@@ -70,10 +70,10 @@ int main(void)
   assert(!err);
   err = strcmp(tmpdiff->obj_attr.diff.string.newvalue, "Bar2");
   assert(!err);
-  if (hwloc_get_nbobjs_by_type(topo1, HWLOC_OBJ_NODE) > 0) {
+  if (hwloc_get_nbobjs_by_type(topo1, HWLOC_OBJ_NUMANODE) > 0) {
     tmpdiff = tmpdiff->generic.next;
     assert(tmpdiff->generic.type == HWLOC_TOPOLOGY_DIFF_OBJ_ATTR);
-    assert(tmpdiff->obj_attr.obj_depth == (unsigned) hwloc_get_type_depth(topo1, HWLOC_OBJ_NODE));
+    assert(tmpdiff->obj_attr.obj_depth == (unsigned) hwloc_get_type_depth(topo1, HWLOC_OBJ_NUMANODE));
     assert(tmpdiff->obj_attr.obj_index == 0);
     assert(tmpdiff->obj_attr.diff.generic.type == HWLOC_TOPOLOGY_DIFF_OBJ_ATTR_SIZE);
     assert(tmpdiff->obj_attr.diff.uint64.newvalue - tmpdiff->obj_attr.diff.uint64.oldvalue == 32*4096);
@@ -137,10 +137,10 @@ int main(void)
   assert(!err);
   err = strcmp(tmpdiff->obj_attr.diff.string.newvalue, "Bar2");
   assert(!err);
-  if (hwloc_get_nbobjs_by_type(topo1, HWLOC_OBJ_NODE) > 0) {
+  if (hwloc_get_nbobjs_by_type(topo1, HWLOC_OBJ_NUMANODE) > 0) {
     tmpdiff = tmpdiff->generic.next;
     assert(tmpdiff->generic.type == HWLOC_TOPOLOGY_DIFF_OBJ_ATTR);
-    assert(tmpdiff->obj_attr.obj_depth == (unsigned) hwloc_get_type_depth(topo1, HWLOC_OBJ_NODE));
+    assert(tmpdiff->obj_attr.obj_depth == (unsigned) hwloc_get_type_depth(topo1, HWLOC_OBJ_NUMANODE));
     assert(tmpdiff->obj_attr.obj_index == 0);
     assert(tmpdiff->obj_attr.diff.generic.type == HWLOC_TOPOLOGY_DIFF_OBJ_ATTR_SIZE);
     assert(tmpdiff->obj_attr.diff.uint64.newvalue - tmpdiff->obj_attr.diff.uint64.oldvalue == 32*4096);
@@ -169,7 +169,7 @@ int main(void)
   assert(tmpdiff->generic.type == HWLOC_TOPOLOGY_DIFF_OBJ_ATTR);
   tmpdiff = tmpdiff->generic.next;
   assert(tmpdiff->generic.type == HWLOC_TOPOLOGY_DIFF_OBJ_ATTR);
-  if (hwloc_get_nbobjs_by_type(topo1, HWLOC_OBJ_NODE) > 0) {
+  if (hwloc_get_nbobjs_by_type(topo1, HWLOC_OBJ_NUMANODE) > 0) {
     tmpdiff = tmpdiff->generic.next;
     assert(tmpdiff->generic.type == HWLOC_TOPOLOGY_DIFF_OBJ_ATTR);
   }
@@ -187,7 +187,7 @@ int main(void)
   assert(err == 0);
   assert(diff);
   err = hwloc_topology_diff_apply(topo2, diff, HWLOC_TOPOLOGY_DIFF_APPLY_REVERSE);
-  if (hwloc_get_nbobjs_by_type(topo1, HWLOC_OBJ_NODE) > 0)
+  if (hwloc_get_nbobjs_by_type(topo1, HWLOC_OBJ_NUMANODE) > 0)
     assert(err == -4);
   else
     assert(err == -3);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_topology_dup.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_topology_dup.c
index 32ead64..de481ef 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_topology_dup.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_topology_dup.c
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2011-2013 Inria.  All rights reserved.
+ * Copyright © 2011-2015 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -33,8 +33,8 @@ int main(void)
   hwloc_topology_init(&oldtopology);
   printf("building fake 'node:3 core:2 pu:4' topology\n");
   hwloc_topology_set_synthetic(oldtopology, "node:3 core:2 pu:4");
-  printf("adding node and core matrices");
-  hwloc_topology_set_distance_matrix(oldtopology, HWLOC_OBJ_NODE, 3, node_indexes, node_distances);
+  printf("adding node and core matrices\n");
+  hwloc_topology_set_distance_matrix(oldtopology, HWLOC_OBJ_NUMANODE, 3, node_indexes, node_distances);
   hwloc_topology_set_distance_matrix(oldtopology, HWLOC_OBJ_CORE, 6, core_indexes, core_distances);
   hwloc_topology_load(oldtopology);
 
@@ -50,7 +50,7 @@ int main(void)
   err = hwloc_topology_restrict(topology, cpuset, HWLOC_RESTRICT_FLAG_ADAPT_DISTANCES);
   assert(!err);
   printf("checking the result\n");
-  assert(hwloc_get_nbobjs_by_type(topology, HWLOC_OBJ_NODE) == 2);
+  assert(hwloc_get_nbobjs_by_type(topology, HWLOC_OBJ_NUMANODE) == 2);
 
   hwloc_topology_destroy(topology);
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_topology_restrict.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_topology_restrict.c
index 07c3da3..4de9f4a 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_topology_restrict.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_topology_restrict.c
@@ -1,6 +1,6 @@
 /*
- * Copyright © 2011 inria.  All rights reserved.
- * Copyright © 2011 Université Bordeaux 1.  All rights reserved.
+ * Copyright © 2011-2014 Inria.  All rights reserved.
+ * Copyright © 2011 Université Bordeaux.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -22,7 +22,7 @@ static void check(unsigned nbnodes, unsigned nbcores, unsigned nbpus)
   /* sanity checks */
   depth = hwloc_topology_get_depth(topology);
   assert(depth == 4);
-  depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NODE);
+  depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
   assert(depth == 1);
   depth = hwloc_get_type_depth(topology, HWLOC_OBJ_CORE);
   assert(depth == 2);
@@ -30,7 +30,7 @@ static void check(unsigned nbnodes, unsigned nbcores, unsigned nbpus)
   assert(depth == 3);
 
   /* actual checks */
-  nb = hwloc_get_nbobjs_by_type(topology, HWLOC_OBJ_NODE);
+  nb = hwloc_get_nbobjs_by_type(topology, HWLOC_OBJ_NUMANODE);
   assert(nb == nbnodes);
   nb = hwloc_get_nbobjs_by_type(topology, HWLOC_OBJ_CORE);
   assert(nb == nbcores);
@@ -45,7 +45,7 @@ static void check_distances(unsigned nbnodes, unsigned nbcores)
   const struct hwloc_distances_s *distance;
 
   /* node distance */
-  distance = hwloc_get_whole_distance_matrix_by_type(topology, HWLOC_OBJ_NODE);
+  distance = hwloc_get_whole_distance_matrix_by_type(topology, HWLOC_OBJ_NUMANODE);
   if (nbnodes >= 2) {
     assert(distance);
     assert(distance->nbobjs == nbnodes);
@@ -84,7 +84,7 @@ int main(void)
 
   hwloc_topology_init(&topology);
   hwloc_topology_set_synthetic(topology, "node:3 core:2 pu:4");
-  hwloc_topology_set_distance_matrix(topology, HWLOC_OBJ_NODE, 3, node_indexes, node_distances);
+  hwloc_topology_set_distance_matrix(topology, HWLOC_OBJ_NUMANODE, 3, node_indexes, node_distances);
   hwloc_topology_set_distance_matrix(topology, HWLOC_OBJ_CORE, 6, core_indexes, core_distances);
   hwloc_topology_load(topology);
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_type_depth.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_type_depth.c
index d25475d..aabbb16 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_type_depth.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_type_depth.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2010 inria.  All rights reserved.
- * Copyright © 2009-2010 Université Bordeaux 1
+ * Copyright © 2009-2014 Inria.  All rights reserved.
+ * Copyright © 2009-2010 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -40,12 +40,12 @@ int main(void)
   assert(hwloc_get_type_depth(topology, HWLOC_OBJ_CORE) == 4);
   assert(hwloc_get_type_depth(topology, HWLOC_OBJ_PU) == 7);
 
-  assert(hwloc_get_type_depth(topology, HWLOC_OBJ_NODE) == HWLOC_TYPE_DEPTH_UNKNOWN);
-  assert(hwloc_get_type_or_above_depth(topology, HWLOC_OBJ_NODE) == 3);
-  assert(hwloc_get_type_or_below_depth(topology, HWLOC_OBJ_NODE) == 4);
-  assert(hwloc_get_type_depth(topology, HWLOC_OBJ_SOCKET) == HWLOC_TYPE_DEPTH_UNKNOWN);
-  assert(hwloc_get_type_or_above_depth(topology, HWLOC_OBJ_SOCKET) == 3);
-  assert(hwloc_get_type_or_below_depth(topology, HWLOC_OBJ_SOCKET) == 4);
+  assert(hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE) == HWLOC_TYPE_DEPTH_UNKNOWN);
+  assert(hwloc_get_type_or_above_depth(topology, HWLOC_OBJ_NUMANODE) == 3);
+  assert(hwloc_get_type_or_below_depth(topology, HWLOC_OBJ_NUMANODE) == 4);
+  assert(hwloc_get_type_depth(topology, HWLOC_OBJ_PACKAGE) == HWLOC_TYPE_DEPTH_UNKNOWN);
+  assert(hwloc_get_type_or_above_depth(topology, HWLOC_OBJ_PACKAGE) == 3);
+  assert(hwloc_get_type_or_below_depth(topology, HWLOC_OBJ_PACKAGE) == 4);
   assert(hwloc_get_type_depth(topology, HWLOC_OBJ_CACHE) == HWLOC_TYPE_DEPTH_MULTIPLE);
   assert(hwloc_get_type_or_above_depth(topology, HWLOC_OBJ_CACHE) == HWLOC_TYPE_DEPTH_MULTIPLE);
   assert(hwloc_get_type_or_below_depth(topology, HWLOC_OBJ_CACHE) == HWLOC_TYPE_DEPTH_MULTIPLE);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/intel-mic.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/intel-mic.c
index c5b4cfb..956e999 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/intel-mic.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/intel-mic.c
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2013 Inria.  All rights reserved.
+ * Copyright © 2013-2014 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -40,7 +40,7 @@ int main(void)
     value = hwloc_obj_get_info_by_name(osdev, "CoProcType");
     err = strcmp(value, "MIC");
     assert(!err);
-    
+
     value = hwloc_obj_get_info_by_name(osdev, "MICFamily");
     printf("found MICFamily %s\n", value);
     value = hwloc_obj_get_info_by_name(osdev, "MICSKU");
@@ -58,7 +58,9 @@ int main(void)
       char *cpuset_string = NULL;
       hwloc_bitmap_asprintf(&cpuset_string, set);
       printf("got cpuset %s for device %d\n", cpuset_string, i);
-      assert(hwloc_bitmap_isequal(set, ancestor->cpuset));
+      if (hwloc_bitmap_isequal(hwloc_topology_get_complete_cpuset(topology), hwloc_topology_get_topology_cpuset(topology)))
+	/* only compare if the topology is complete, otherwise things can be significantly different */
+	assert(hwloc_bitmap_isequal(set, ancestor->cpuset));
       free(cpuset_string);
     }
     hwloc_bitmap_free(set);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux-libnuma.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux-libnuma.c
index a67113a..9750c6e 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux-libnuma.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux-libnuma.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2010 inria.  All rights reserved.
- * Copyright © 2009-2010 Université Bordeaux 1
+ * Copyright © 2009-2014 Inria.  All rights reserved.
+ * Copyright © 2009-2010 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -39,9 +39,9 @@ int main(void)
   nomembutcpunodeset = hwloc_bitmap_alloc();
   nomembutcpucpuset = hwloc_bitmap_alloc();
   /* gather all nodes if any, or the whole system if no nodes */
-  if (hwloc_get_nbobjs_by_type(topology, HWLOC_OBJ_NODE)) {
+  if (hwloc_get_nbobjs_by_type(topology, HWLOC_OBJ_NUMANODE)) {
     node = NULL;
-    while ((node = hwloc_get_next_obj_by_type(topology, HWLOC_OBJ_NODE, node)) != NULL) {
+    while ((node = hwloc_get_next_obj_by_type(topology, HWLOC_OBJ_NUMANODE, node)) != NULL) {
       hwloc_bitmap_or(set, set, node->cpuset);
       if (hwloc_bitmap_iszero(node->cpuset)) {
 	if (node->memory.local_memory)
@@ -73,7 +73,7 @@ int main(void)
   hwloc_bitmap_free(set);
 
   /* convert full stuff between nodeset and libnuma */
-  if (hwloc_get_nbobjs_by_type(topology, HWLOC_OBJ_NODE)) {
+  if (hwloc_get_nbobjs_by_type(topology, HWLOC_OBJ_NUMANODE)) {
     set = hwloc_bitmap_dup(hwloc_get_root_obj(topology)->complete_nodeset);
   } else {
     set = hwloc_bitmap_alloc();
@@ -154,7 +154,7 @@ int main(void)
   hwloc_bitmap_free(set);
 
   /* convert first node (with CPU and memory) between cpuset/nodeset and libnuma */
-  node = hwloc_get_next_obj_by_type(topology, HWLOC_OBJ_NODE, NULL);
+  node = hwloc_get_next_obj_by_type(topology, HWLOC_OBJ_NUMANODE, NULL);
   while (node && (!node->memory.local_memory || hwloc_bitmap_iszero(node->cpuset)))
     /* skip nodes with no cpus or no memory to avoid strange libnuma behaviors */
     node = node->next_sibling;
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/128ia64-17n4s2c.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/128ia64-17n4s2c.output
index 4d6e3b3..565e0b0 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/128ia64-17n4s2c.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/128ia64-17n4s2c.output
@@ -1,336 +1,336 @@
 Machine (P#0 total=1609512816KB Backend=Linux)
   NUMANode L#0 (P#0 local=100057088KB total=100057088KB)
-    Socket L#0 (P#0 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#0 (P#0 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#0 (P#0)
         PU L#0 (P#0)
       Core L#1 (P#1)
         PU L#1 (P#1)
-    Socket L#1 (P#1 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#1 (P#1 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#2 (P#0)
         PU L#2 (P#2)
       Core L#3 (P#1)
         PU L#3 (P#3)
-    Socket L#2 (P#256 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#2 (P#256 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#4 (P#0)
         PU L#4 (P#4)
       Core L#5 (P#1)
         PU L#5 (P#5)
-    Socket L#3 (P#257 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#3 (P#257 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#6 (P#0)
         PU L#6 (P#6)
       Core L#7 (P#1)
         PU L#7 (P#7)
   NUMANode L#1 (P#1 local=100073472KB total=100073472KB)
-    Socket L#4 (P#65536 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#4 (P#65536 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#8 (P#0)
         PU L#8 (P#8)
       Core L#9 (P#1)
         PU L#9 (P#9)
-    Socket L#5 (P#65537 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#5 (P#65537 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#10 (P#0)
         PU L#10 (P#10)
       Core L#11 (P#1)
         PU L#11 (P#11)
-    Socket L#6 (P#65792 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#6 (P#65792 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#12 (P#0)
         PU L#12 (P#12)
       Core L#13 (P#1)
         PU L#13 (P#13)
-    Socket L#7 (P#65793 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#7 (P#65793 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#14 (P#0)
         PU L#14 (P#14)
       Core L#15 (P#1)
         PU L#15 (P#15)
   NUMANode L#2 (P#2 local=100597760KB total=100597760KB)
-    Socket L#8 (P#131072 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#8 (P#131072 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#16 (P#0)
         PU L#16 (P#16)
       Core L#17 (P#1)
         PU L#17 (P#17)
-    Socket L#9 (P#131073 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#9 (P#131073 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#18 (P#0)
         PU L#18 (P#18)
       Core L#19 (P#1)
         PU L#19 (P#19)
-    Socket L#10 (P#131328 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#10 (P#131328 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#20 (P#0)
         PU L#20 (P#20)
       Core L#21 (P#1)
         PU L#21 (P#21)
-    Socket L#11 (P#131329 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#11 (P#131329 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#22 (P#0)
         PU L#22 (P#22)
       Core L#23 (P#1)
         PU L#23 (P#23)
   NUMANode L#3 (P#3 local=100597760KB total=100597760KB)
-    Socket L#12 (P#196608 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#12 (P#196608 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#24 (P#0)
         PU L#24 (P#24)
       Core L#25 (P#1)
         PU L#25 (P#25)
-    Socket L#13 (P#196609 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#13 (P#196609 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#26 (P#0)
         PU L#26 (P#26)
       Core L#27 (P#1)
         PU L#27 (P#27)
-    Socket L#14 (P#196864 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#14 (P#196864 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#28 (P#0)
         PU L#28 (P#28)
       Core L#29 (P#1)
         PU L#29 (P#29)
-    Socket L#15 (P#196865 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#15 (P#196865 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#30 (P#0)
         PU L#30 (P#30)
       Core L#31 (P#1)
         PU L#31 (P#31)
   NUMANode L#4 (P#4 local=100597760KB total=100597760KB)
-    Socket L#16 (P#262144 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#16 (P#262144 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#32 (P#0)
         PU L#32 (P#32)
       Core L#33 (P#1)
         PU L#33 (P#33)
-    Socket L#17 (P#262145 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#17 (P#262145 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#34 (P#0)
         PU L#34 (P#34)
       Core L#35 (P#1)
         PU L#35 (P#35)
-    Socket L#18 (P#262400 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#18 (P#262400 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#36 (P#0)
         PU L#36 (P#36)
       Core L#37 (P#1)
         PU L#37 (P#37)
-    Socket L#19 (P#262401 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#19 (P#262401 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#38 (P#0)
         PU L#38 (P#38)
       Core L#39 (P#1)
         PU L#39 (P#39)
   NUMANode L#5 (P#5 local=100597760KB total=100597760KB)
-    Socket L#20 (P#327680 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#20 (P#327680 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#40 (P#0)
         PU L#40 (P#40)
       Core L#41 (P#1)
         PU L#41 (P#41)
-    Socket L#21 (P#327681 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#21 (P#327681 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#42 (P#0)
         PU L#42 (P#42)
       Core L#43 (P#1)
         PU L#43 (P#43)
-    Socket L#22 (P#327936 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#22 (P#327936 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#44 (P#0)
         PU L#44 (P#44)
       Core L#45 (P#1)
         PU L#45 (P#45)
-    Socket L#23 (P#327937 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#23 (P#327937 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#46 (P#0)
         PU L#46 (P#46)
       Core L#47 (P#1)
         PU L#47 (P#47)
   NUMANode L#6 (P#6 local=100597760KB total=100597760KB)
-    Socket L#24 (P#393216 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#24 (P#393216 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#48 (P#0)
         PU L#48 (P#48)
       Core L#49 (P#1)
         PU L#49 (P#49)
-    Socket L#25 (P#393217 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#25 (P#393217 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#50 (P#0)
         PU L#50 (P#50)
       Core L#51 (P#1)
         PU L#51 (P#51)
-    Socket L#26 (P#393472 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#26 (P#393472 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#52 (P#0)
         PU L#52 (P#52)
       Core L#53 (P#1)
         PU L#53 (P#53)
-    Socket L#27 (P#393473 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#27 (P#393473 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#54 (P#0)
         PU L#54 (P#54)
       Core L#55 (P#1)
         PU L#55 (P#55)
   NUMANode L#7 (P#7 local=100597728KB total=100597728KB)
-    Socket L#28 (P#458752 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#28 (P#458752 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#56 (P#0)
         PU L#56 (P#56)
       Core L#57 (P#1)
         PU L#57 (P#57)
-    Socket L#29 (P#458753 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#29 (P#458753 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#58 (P#0)
         PU L#58 (P#58)
       Core L#59 (P#1)
         PU L#59 (P#59)
-    Socket L#30 (P#459008 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#30 (P#459008 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#60 (P#0)
         PU L#60 (P#60)
       Core L#61 (P#1)
         PU L#61 (P#61)
-    Socket L#31 (P#459009 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#31 (P#459009 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#62 (P#0)
         PU L#62 (P#62)
       Core L#63 (P#1)
         PU L#63 (P#63)
   NUMANode L#8 (P#8 local=100597760KB total=100597760KB)
-    Socket L#32 (P#524288 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#32 (P#524288 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#64 (P#0)
         PU L#64 (P#64)
       Core L#65 (P#1)
         PU L#65 (P#65)
-    Socket L#33 (P#524289 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#33 (P#524289 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#66 (P#0)
         PU L#66 (P#66)
       Core L#67 (P#1)
         PU L#67 (P#67)
-    Socket L#34 (P#524544 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#34 (P#524544 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#68 (P#0)
         PU L#68 (P#68)
       Core L#69 (P#1)
         PU L#69 (P#69)
-    Socket L#35 (P#524545 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#35 (P#524545 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#70 (P#0)
         PU L#70 (P#70)
       Core L#71 (P#1)
         PU L#71 (P#71)
   NUMANode L#9 (P#9 local=100597760KB total=100597760KB)
-    Socket L#36 (P#589824 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#36 (P#589824 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#72 (P#0)
         PU L#72 (P#72)
       Core L#73 (P#1)
         PU L#73 (P#73)
-    Socket L#37 (P#589825 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#37 (P#589825 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#74 (P#0)
         PU L#74 (P#74)
       Core L#75 (P#1)
         PU L#75 (P#75)
-    Socket L#38 (P#590080 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#38 (P#590080 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#76 (P#0)
         PU L#76 (P#76)
       Core L#77 (P#1)
         PU L#77 (P#77)
-    Socket L#39 (P#590081 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#39 (P#590081 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#78 (P#0)
         PU L#78 (P#78)
       Core L#79 (P#1)
         PU L#79 (P#79)
   NUMANode L#10 (P#10 local=100597760KB total=100597760KB)
-    Socket L#40 (P#655360 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#40 (P#655360 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#80 (P#0)
         PU L#80 (P#80)
       Core L#81 (P#1)
         PU L#81 (P#81)
-    Socket L#41 (P#655361 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#41 (P#655361 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#82 (P#0)
         PU L#82 (P#82)
       Core L#83 (P#1)
         PU L#83 (P#83)
-    Socket L#42 (P#655616 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#42 (P#655616 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#84 (P#0)
         PU L#84 (P#84)
       Core L#85 (P#1)
         PU L#85 (P#85)
-    Socket L#43 (P#655617 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#43 (P#655617 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#86 (P#0)
         PU L#86 (P#86)
       Core L#87 (P#1)
         PU L#87 (P#87)
   NUMANode L#11 (P#11 local=100597760KB total=100597760KB)
-    Socket L#44 (P#720896 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#44 (P#720896 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#88 (P#0)
         PU L#88 (P#88)
       Core L#89 (P#1)
         PU L#89 (P#89)
-    Socket L#45 (P#720897 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#45 (P#720897 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#90 (P#0)
         PU L#90 (P#90)
       Core L#91 (P#1)
         PU L#91 (P#91)
-    Socket L#46 (P#721152 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#46 (P#721152 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#92 (P#0)
         PU L#92 (P#92)
       Core L#93 (P#1)
         PU L#93 (P#93)
-    Socket L#47 (P#721153 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#47 (P#721153 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#94 (P#0)
         PU L#94 (P#94)
       Core L#95 (P#1)
         PU L#95 (P#95)
   NUMANode L#12 (P#12 local=100597760KB total=100597760KB)
-    Socket L#48 (P#786432 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#48 (P#786432 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#96 (P#0)
         PU L#96 (P#96)
       Core L#97 (P#1)
         PU L#97 (P#97)
-    Socket L#49 (P#786433 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#49 (P#786433 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#98 (P#0)
         PU L#98 (P#98)
       Core L#99 (P#1)
         PU L#99 (P#99)
-    Socket L#50 (P#786688 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#50 (P#786688 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#100 (P#0)
         PU L#100 (P#100)
       Core L#101 (P#1)
         PU L#101 (P#101)
-    Socket L#51 (P#786689 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#51 (P#786689 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#102 (P#0)
         PU L#102 (P#102)
       Core L#103 (P#1)
         PU L#103 (P#103)
   NUMANode L#13 (P#13 local=100597744KB total=100597744KB)
-    Socket L#52 (P#851968 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#52 (P#851968 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#104 (P#0)
         PU L#104 (P#104)
       Core L#105 (P#1)
         PU L#105 (P#105)
-    Socket L#53 (P#851969 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#53 (P#851969 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#106 (P#0)
         PU L#106 (P#106)
       Core L#107 (P#1)
         PU L#107 (P#107)
-    Socket L#54 (P#852224 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#54 (P#852224 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#108 (P#0)
         PU L#108 (P#108)
       Core L#109 (P#1)
         PU L#109 (P#109)
-    Socket L#55 (P#852225 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#55 (P#852225 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#110 (P#0)
         PU L#110 (P#110)
       Core L#111 (P#1)
         PU L#111 (P#111)
   NUMANode L#14 (P#14 local=100597760KB total=100597760KB)
-    Socket L#56 (P#917504 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#56 (P#917504 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#112 (P#0)
         PU L#112 (P#112)
       Core L#113 (P#1)
         PU L#113 (P#113)
-    Socket L#57 (P#917505 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#57 (P#917505 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#114 (P#0)
         PU L#114 (P#114)
       Core L#115 (P#1)
         PU L#115 (P#115)
-    Socket L#58 (P#917760 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#58 (P#917760 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#116 (P#0)
         PU L#116 (P#116)
       Core L#117 (P#1)
         PU L#117 (P#117)
-    Socket L#59 (P#917761 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#59 (P#917761 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#118 (P#0)
         PU L#118 (P#118)
       Core L#119 (P#1)
         PU L#119 (P#119)
   NUMANode L#15 (P#15 local=100591248KB total=100591248KB)
-    Socket L#60 (P#983040 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#60 (P#983040 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#120 (P#0)
         PU L#120 (P#120)
       Core L#121 (P#1)
         PU L#121 (P#121)
-    Socket L#61 (P#983041 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#61 (P#983041 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#122 (P#0)
         PU L#122 (P#122)
       Core L#123 (P#1)
         PU L#123 (P#123)
-    Socket L#62 (P#983296 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#62 (P#983296 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#124 (P#0)
         PU L#124 (P#124)
       Core L#125 (P#1)
         PU L#125 (P#125)
-    Socket L#63 (P#983297 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
+    Package L#63 (P#983297 CPUModel="Dual-Core Intel(R) Itanium(R) Processor 9140N")
       Core L#126 (P#0)
         PU L#126 (P#126)
       Core L#127 (P#1)
@@ -338,10 +338,10 @@ Machine (P#0 total=1609512816KB Backend=Linux)
   NUMANode L#16 (P#16 local=1020176KB total=1020176KB)
 depth 0:	1 Machine (type #1)
  depth 1:	17 NUMANode (type #2)
-  depth 2:	64 Socket (type #3)
+  depth 2:	64 Package (type #3)
    depth 3:	128 Core (type #5)
     depth 4:	128 PU (type #6)
-latency matrix between NUMANodes (depth 1) by logical indexes:
+relative latency matrix between NUMANodes (depth 1) by logical indexes:
   index     0     1     2     3     4     5     6     7     8     9    10    11    12    13    14    15    16
       0 1.000 1.700 1.700 1.700 2.000 2.000 2.000 2.000 2.000 2.000 2.000 2.000 2.000 2.000 2.000 2.000 1.400
       1 1.700 1.000 1.700 1.700 2.000 2.000 2.000 2.000 2.000 2.000 2.000 2.000 2.000 2.000 2.000 2.000 1.400
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-4n4c-cgroup-distance-merge.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-4n4c-cgroup-distance-merge.output
index 8b30234..d89a4ea 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-4n4c-cgroup-distance-merge.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-4n4c-cgroup-distance-merge.output
@@ -10,7 +10,7 @@ Machine (P#0 total=16777216KB DMIProductName=H8QM8 DMIProductVersion=1234567890
 depth 0:	1 Machine (type #1)
  depth 1:	4 NUMANode (type #2)
   depth 2:	4 PU (type #6)
-latency matrix between NUMANodes (depth 1) by logical indexes:
+relative latency matrix between NUMANodes (depth 1) by logical indexes:
   index     0     1     2     3
       0 1.000 2.000 2.000 2.000
       1 2.000 1.000 2.000 2.000
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c-cpusets.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c-cpusets.output
index bfae972..1d50689 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c-cpusets.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c-cpusets.output
@@ -1,6 +1,6 @@
-Machine (P#0 total=41943040KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="S4881 " DMIBoardVersion=S4881 DMIBoardAssetTag= Backend=Linux LinuxCgroup=/dummy)
+Machine (P#0 total=33554432KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="S4881 " DMIBoardVersion=S4881 DMIBoardAssetTag= Backend=Linux LinuxCgroup=/dummy)
   NUMANode L#0 (P#0)
-    Socket L#0 (P#0 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
+    Package L#0 (P#0 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
       L2Cache L#0 (size=1024KB linesize=64 ways=16)
         L1dCache L#0 (size=64KB linesize=64 ways=2)
           L1iCache L#0 (size=64KB linesize=64 ways=2)
@@ -12,7 +12,7 @@ Machine (P#0 total=41943040KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="
             Core L#1 (P#1)
               PU L#1 (P#1)
   NUMANode L#1 (P#1 local=8388608KB total=8388608KB)
-    Socket L#1 (P#1 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
+    Package L#1 (P#1 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
       L2Cache L#2 (size=1024KB linesize=64 ways=16)
         L1dCache L#2 (size=64KB linesize=64 ways=2)
           L1iCache L#2 (size=64KB linesize=64 ways=2)
@@ -24,23 +24,23 @@ Machine (P#0 total=41943040KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="
             Core L#3 (P#1)
               PU L#3 (P#3)
   NUMANode L#2 (P#2 local=8388608KB total=8388608KB)
-    Socket L#2 (P#2 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
+    Package L#2 (P#2 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
       L2Cache L#4 (size=1024KB linesize=64 ways=16)
         L1dCache L#4 (size=64KB linesize=64 ways=2)
           L1iCache L#4 (size=64KB linesize=64 ways=2)
             Core L#4 (P#1)
               PU L#4 (P#5)
   NUMANode L#3 (P#3 local=8388608KB total=8388608KB)
-    Socket L#3 (P#3 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
+    Package L#3 (P#3 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
       L2Cache L#5 (size=1024KB linesize=64 ways=16)
         L1dCache L#5 (size=64KB linesize=64 ways=2)
           L1iCache L#5 (size=64KB linesize=64 ways=2)
             Core L#5 (P#0)
               PU L#5 (P#6)
   NUMANode L#4 (P#4 local=8388608KB total=8388608KB)
-  NUMANode L#5 (P#5 local=8388608KB total=8388608KB)
+  NUMANode L#5 (P#5)
   NUMANode L#6 (P#6)
-    Socket L#4 (P#6 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
+    Package L#4 (P#6 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
       L2Cache L#6 (size=1024KB linesize=64 ways=16)
         L1dCache L#6 (size=64KB linesize=64 ways=2)
           L1iCache L#6 (size=64KB linesize=64 ways=2)
@@ -52,7 +52,7 @@ Machine (P#0 total=41943040KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="
             Core L#7 (P#1)
               PU L#7 (P#13)
   NUMANode L#7 (P#7)
-    Socket L#5 (P#7 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
+    Package L#5 (P#7 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
       L2Cache L#8 (size=1024KB linesize=64 ways=16)
         L1dCache L#8 (size=64KB linesize=64 ways=2)
           L1iCache L#8 (size=64KB linesize=64 ways=2)
@@ -65,13 +65,13 @@ Machine (P#0 total=41943040KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="
               PU L#9 (P#15)
 depth 0:	1 Machine (type #1)
  depth 1:	8 NUMANode (type #2)
-  depth 2:	6 Socket (type #3)
+  depth 2:	6 Package (type #3)
    depth 3:	10 L2Cache (type #4)
     depth 4:	10 L1dCache (type #4)
      depth 5:	10 L1iCache (type #4)
       depth 6:	10 Core (type #5)
        depth 7:	10 PU (type #6)
-latency matrix between NUMANodes (depth 1) by logical indexes:
+relative latency matrix between NUMANodes (depth 1) by logical indexes:
   index     0     1     2     3     4     5     6     7
       0 1.000 2.000 2.000 2.000 2.000 2.000 2.000 2.000
       1 2.000 1.000 2.000 2.000 2.000 2.000 2.000 2.000
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c-cpusets.tar.bz2 b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c-cpusets.tar.bz2
index f14221b..35afc51 100644
Binary files a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c-cpusets.tar.bz2 and b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c-cpusets.tar.bz2 differ
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c-cpusets.xml.env b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c-cpusets.xml.env
new file mode 100644
index 0000000..8980c89
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c-cpusets.xml.env
@@ -0,0 +1,2 @@
+HWLOC_NUMANode_DISTANCES=0-7:2*2*2
+export HWLOC_NUMANode_DISTANCES
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c-cpusets.xml.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c-cpusets.xml.output
index 2c8de44..0a65939 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c-cpusets.xml.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c-cpusets.xml.output
@@ -1,176 +1,188 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE topology SYSTEM "hwloc.dtd">
 <topology>
-  <object type="Machine" os_index="0" cpuset="0x0000f06f" complete_cpuset="0x0000ffff" online_cpuset="0x0000ffef" allowed_cpuset="0x0000f07f" nodeset="0x000000ff" complete_nodeset="0x000000ff" allowed_nodeset="0x0000003e">
+  <object type="Machine" os_index="0" cpuset="0x0000f06f" complete_cpuset="0x0000ffff" online_cpuset="0x0000ffef" allowed_cpuset="0x0000f07f" nodeset="0x0000001e" complete_nodeset="0x000000ff" allowed_nodeset="0x0000001e">
     <info name="DMIBoardVendor" value="TYAN Computer Corp"/>
     <info name="DMIBoardName" value="S4881 "/>
     <info name="DMIBoardVersion" value="S4881"/>
     <info name="DMIBoardAssetTag" value=""/>
     <info name="Backend" value="Linux"/>
     <info name="LinuxCgroup" value="/dummy"/>
-    <distances nbobjs="8" relative_depth="1" latency_base="10.000000">
+    <distances nbobjs="8" relative_depth="3" latency_base="1.000000">
       <latency value="1.000000"/>
       <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
+      <latency value="4.000000"/>
+      <latency value="4.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
       <latency value="2.000000"/>
       <latency value="1.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
+      <latency value="4.000000"/>
+      <latency value="4.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
+      <latency value="4.000000"/>
+      <latency value="4.000000"/>
       <latency value="1.000000"/>
       <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
+      <latency value="4.000000"/>
+      <latency value="4.000000"/>
       <latency value="2.000000"/>
       <latency value="1.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
       <latency value="1.000000"/>
       <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
+      <latency value="4.000000"/>
+      <latency value="4.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
       <latency value="2.000000"/>
       <latency value="1.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
+      <latency value="4.000000"/>
+      <latency value="4.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
+      <latency value="4.000000"/>
+      <latency value="4.000000"/>
       <latency value="1.000000"/>
       <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
-      <latency value="2.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
+      <latency value="8.000000"/>
+      <latency value="4.000000"/>
+      <latency value="4.000000"/>
       <latency value="2.000000"/>
       <latency value="1.000000"/>
     </distances>
-    <object type="NUMANode" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x0">
-      <object type="Socket" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x0">
-        <info name="CPUModel" value="Dual Core AMD Opteron(tm) Processor 865"/>
-        <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="16" cache_type="0">
-          <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="64" cache_associativity="2" cache_type="1">
-            <object type="Core" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x0">
-              <object type="PU" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x0"/>
+    <object type="Group" cpuset="0x0000006f" complete_cpuset="0x000000ff" online_cpuset="0x000000ef" allowed_cpuset="0x0000007f" nodeset="0x0000000e" complete_nodeset="0x0000000f" allowed_nodeset="0x0000000e" depth="1">
+      <object type="Group" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" nodeset="0x00000002" complete_nodeset="0x00000003" allowed_nodeset="0x00000002" depth="0">
+        <object type="NUMANode" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0">
+          <object type="Package" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0">
+            <info name="CPUModel" value="Dual Core AMD Opteron(tm) Processor 865"/>
+            <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="16" cache_type="0">
+              <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="64" cache_associativity="2" cache_type="1">
+                <object type="Core" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0">
+                  <object type="PU" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0"/>
+                </object>
+              </object>
             </object>
-          </object>
-        </object>
-        <object type="Cache" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="16" cache_type="0">
-          <object type="Cache" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="64" cache_associativity="2" cache_type="1">
-            <object type="Core" os_index="1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x0">
-              <object type="PU" os_index="1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x0"/>
+            <object type="Cache" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="16" cache_type="0">
+              <object type="Cache" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="64" cache_associativity="2" cache_type="1">
+                <object type="Core" os_index="1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0">
+                  <object type="PU" os_index="1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0"/>
+                </object>
+              </object>
             </object>
           </object>
         </object>
-      </object>
-    </object>
-    <object type="NUMANode" os_index="1" cpuset="0x0000000c" complete_cpuset="0x0000000c" online_cpuset="0x0000000c" allowed_cpuset="0x0000000c" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="8589934592">
-      <object type="Socket" os_index="1" cpuset="0x0000000c" complete_cpuset="0x0000000c" online_cpuset="0x0000000c" allowed_cpuset="0x0000000c" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
-        <info name="CPUModel" value="Dual Core AMD Opteron(tm) Processor 865"/>
-        <object type="Cache" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="16" cache_type="0">
-          <object type="Cache" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="65536" depth="1" cache_linesize="64" cache_associativity="2" cache_type="1">
-            <object type="Core" os_index="0" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
-              <object type="PU" os_index="2" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+        <object type="NUMANode" os_index="1" cpuset="0x0000000c" complete_cpuset="0x0000000c" online_cpuset="0x0000000c" allowed_cpuset="0x0000000c" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="8589934592">
+          <object type="Package" os_index="1" cpuset="0x0000000c" complete_cpuset="0x0000000c" online_cpuset="0x0000000c" allowed_cpuset="0x0000000c" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+            <info name="CPUModel" value="Dual Core AMD Opteron(tm) Processor 865"/>
+            <object type="Cache" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="16" cache_type="0">
+              <object type="Cache" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="65536" depth="1" cache_linesize="64" cache_associativity="2" cache_type="1">
+                <object type="Core" os_index="0" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+                  <object type="PU" os_index="2" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                </object>
+              </object>
             </object>
-          </object>
-        </object>
-        <object type="Cache" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="16" cache_type="0">
-          <object type="Cache" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="65536" depth="1" cache_linesize="64" cache_associativity="2" cache_type="1">
-            <object type="Core" os_index="1" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
-              <object type="PU" os_index="3" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+            <object type="Cache" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="16" cache_type="0">
+              <object type="Cache" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="65536" depth="1" cache_linesize="64" cache_associativity="2" cache_type="1">
+                <object type="Core" os_index="1" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+                  <object type="PU" os_index="3" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                </object>
+              </object>
             </object>
           </object>
         </object>
       </object>
-    </object>
-    <object type="NUMANode" os_index="2" cpuset="0x00000020" complete_cpuset="0x00000030" online_cpuset="0x00000020" allowed_cpuset="0x00000030" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" local_memory="8589934592">
-      <object type="Socket" os_index="2" cpuset="0x00000020" complete_cpuset="0x00000030" online_cpuset="0x00000020" allowed_cpuset="0x00000030" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
-        <info name="CPUModel" value="Dual Core AMD Opteron(tm) Processor 865"/>
-        <object type="Cache" cpuset="0x00000020" complete_cpuset="0x00000020" online_cpuset="0x00000020" allowed_cpuset="0x00000020" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="16" cache_type="0">
-          <object type="Cache" cpuset="0x00000020" complete_cpuset="0x00000020" online_cpuset="0x00000020" allowed_cpuset="0x00000020" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="65536" depth="1" cache_linesize="64" cache_associativity="2" cache_type="1">
-            <object type="Core" os_index="1" cpuset="0x00000020" complete_cpuset="0x00000020" online_cpuset="0x00000020" allowed_cpuset="0x00000020" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
-              <object type="PU" os_index="5" cpuset="0x00000020" complete_cpuset="0x00000020" online_cpuset="0x00000020" allowed_cpuset="0x00000020" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+      <object type="Group" cpuset="0x00000060" complete_cpuset="0x000000f0" online_cpuset="0x000000e0" allowed_cpuset="0x00000070" nodeset="0x0000000c" complete_nodeset="0x0000000c" allowed_nodeset="0x0000000c" depth="0">
+        <object type="NUMANode" os_index="2" cpuset="0x00000020" complete_cpuset="0x00000030" online_cpuset="0x00000020" allowed_cpuset="0x00000030" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" local_memory="8589934592">
+          <object type="Package" os_index="2" cpuset="0x00000020" complete_cpuset="0x00000030" online_cpuset="0x00000020" allowed_cpuset="0x00000030" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+            <info name="CPUModel" value="Dual Core AMD Opteron(tm) Processor 865"/>
+            <object type="Cache" cpuset="0x00000020" complete_cpuset="0x00000020" online_cpuset="0x00000020" allowed_cpuset="0x00000020" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="16" cache_type="0">
+              <object type="Cache" cpuset="0x00000020" complete_cpuset="0x00000020" online_cpuset="0x00000020" allowed_cpuset="0x00000020" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="65536" depth="1" cache_linesize="64" cache_associativity="2" cache_type="1">
+                <object type="Core" os_index="1" cpuset="0x00000020" complete_cpuset="0x00000020" online_cpuset="0x00000020" allowed_cpuset="0x00000020" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+                  <object type="PU" os_index="5" cpuset="0x00000020" complete_cpuset="0x00000020" online_cpuset="0x00000020" allowed_cpuset="0x00000020" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+                </object>
+              </object>
             </object>
           </object>
         </object>
-      </object>
-    </object>
-    <object type="NUMANode" os_index="3" cpuset="0x00000040" complete_cpuset="0x000000c0" online_cpuset="0x000000c0" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" local_memory="8589934592">
-      <object type="Socket" os_index="3" cpuset="0x00000040" complete_cpuset="0x000000c0" online_cpuset="0x000000c0" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
-        <info name="CPUModel" value="Dual Core AMD Opteron(tm) Processor 865"/>
-        <object type="Cache" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="16" cache_type="0">
-          <object type="Cache" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="65536" depth="1" cache_linesize="64" cache_associativity="2" cache_type="1">
-            <object type="Core" os_index="0" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
-              <object type="PU" os_index="6" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+        <object type="NUMANode" os_index="3" cpuset="0x00000040" complete_cpuset="0x000000c0" online_cpuset="0x000000c0" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" local_memory="8589934592">
+          <object type="Package" os_index="3" cpuset="0x00000040" complete_cpuset="0x000000c0" online_cpuset="0x000000c0" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+            <info name="CPUModel" value="Dual Core AMD Opteron(tm) Processor 865"/>
+            <object type="Cache" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="16" cache_type="0">
+              <object type="Cache" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="65536" depth="1" cache_linesize="64" cache_associativity="2" cache_type="1">
+                <object type="Core" os_index="0" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+                  <object type="PU" os_index="6" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+                </object>
+              </object>
             </object>
           </object>
         </object>
       </object>
     </object>
-    <object type="NUMANode" os_index="4" cpuset="0x0" complete_cpuset="0x00000300" online_cpuset="0x00000300" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" local_memory="8589934592"/>
-    <object type="NUMANode" os_index="5" cpuset="0x0" complete_cpuset="0x00000c00" online_cpuset="0x00000c00" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" local_memory="8589934592"/>
-    <object type="NUMANode" os_index="6" cpuset="0x00003000" complete_cpuset="0x00003000" online_cpuset="0x00003000" allowed_cpuset="0x00003000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0">
-      <object type="Socket" os_index="6" cpuset="0x00003000" complete_cpuset="0x00003000" online_cpuset="0x00003000" allowed_cpuset="0x00003000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0">
-        <info name="CPUModel" value="Dual Core AMD Opteron(tm) Processor 865"/>
-        <object type="Cache" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="16" cache_type="0">
-          <object type="Cache" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="64" cache_associativity="2" cache_type="1">
-            <object type="Core" os_index="0" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0">
-              <object type="PU" os_index="12" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0"/>
+    <object type="Group" cpuset="0x0000f000" complete_cpuset="0x0000ff00" online_cpuset="0x0000ff00" allowed_cpuset="0x0000f000" nodeset="0x00000010" complete_nodeset="0x000000f0" allowed_nodeset="0x00000010" depth="1">
+      <object type="Group" cpuset="0x0" complete_cpuset="0x00000f00" online_cpuset="0x00000f00" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000030" allowed_nodeset="0x00000010" depth="0">
+        <object type="NUMANode" os_index="4" cpuset="0x0" complete_cpuset="0x00000300" online_cpuset="0x00000300" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" local_memory="8589934592"/>
+        <object type="NUMANode" os_index="5" cpuset="0x0" complete_cpuset="0x00000c00" online_cpuset="0x00000c00" allowed_cpuset="0x0" nodeset="0x0" complete_nodeset="0x00000020" allowed_nodeset="0x0"/>
+      </object>
+      <object type="Group" cpuset="0x0000f000" complete_cpuset="0x0000f000" online_cpuset="0x0000f000" allowed_cpuset="0x0000f000" nodeset="0x0" complete_nodeset="0x000000c0" allowed_nodeset="0x0" depth="0">
+        <object type="NUMANode" os_index="6" cpuset="0x00003000" complete_cpuset="0x00003000" online_cpuset="0x00003000" allowed_cpuset="0x00003000" nodeset="0x0" complete_nodeset="0x00000040" allowed_nodeset="0x0">
+          <object type="Package" os_index="6" cpuset="0x00003000" complete_cpuset="0x00003000" online_cpuset="0x00003000" allowed_cpuset="0x00003000" nodeset="0x0" complete_nodeset="0x00000040" allowed_nodeset="0x0">
+            <info name="CPUModel" value="Dual Core AMD Opteron(tm) Processor 865"/>
+            <object type="Cache" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x0" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="16" cache_type="0">
+              <object type="Cache" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x0" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="64" cache_associativity="2" cache_type="1">
+                <object type="Core" os_index="0" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x0" complete_nodeset="0x00000040" allowed_nodeset="0x0">
+                  <object type="PU" os_index="12" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x0" complete_nodeset="0x00000040" allowed_nodeset="0x0"/>
+                </object>
+              </object>
             </object>
-          </object>
-        </object>
-        <object type="Cache" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="16" cache_type="0">
-          <object type="Cache" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="64" cache_associativity="2" cache_type="1">
-            <object type="Core" os_index="1" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0">
-              <object type="PU" os_index="13" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0"/>
+            <object type="Cache" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x0" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="16" cache_type="0">
+              <object type="Cache" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x0" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="64" cache_associativity="2" cache_type="1">
+                <object type="Core" os_index="1" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x0" complete_nodeset="0x00000040" allowed_nodeset="0x0">
+                  <object type="PU" os_index="13" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x0" complete_nodeset="0x00000040" allowed_nodeset="0x0"/>
+                </object>
+              </object>
             </object>
           </object>
         </object>
-      </object>
-    </object>
-    <object type="NUMANode" os_index="7" cpuset="0x0000c000" complete_cpuset="0x0000c000" online_cpuset="0x0000c000" allowed_cpuset="0x0000c000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0">
-      <object type="Socket" os_index="7" cpuset="0x0000c000" complete_cpuset="0x0000c000" online_cpuset="0x0000c000" allowed_cpuset="0x0000c000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0">
-        <info name="CPUModel" value="Dual Core AMD Opteron(tm) Processor 865"/>
-        <object type="Cache" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="16" cache_type="0">
-          <object type="Cache" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="64" cache_associativity="2" cache_type="1">
-            <object type="Core" os_index="0" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0">
-              <object type="PU" os_index="14" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0"/>
+        <object type="NUMANode" os_index="7" cpuset="0x0000c000" complete_cpuset="0x0000c000" online_cpuset="0x0000c000" allowed_cpuset="0x0000c000" nodeset="0x0" complete_nodeset="0x00000080" allowed_nodeset="0x0">
+          <object type="Package" os_index="7" cpuset="0x0000c000" complete_cpuset="0x0000c000" online_cpuset="0x0000c000" allowed_cpuset="0x0000c000" nodeset="0x0" complete_nodeset="0x00000080" allowed_nodeset="0x0">
+            <info name="CPUModel" value="Dual Core AMD Opteron(tm) Processor 865"/>
+            <object type="Cache" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x0" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="16" cache_type="0">
+              <object type="Cache" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x0" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="64" cache_associativity="2" cache_type="1">
+                <object type="Core" os_index="0" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x0" complete_nodeset="0x00000080" allowed_nodeset="0x0">
+                  <object type="PU" os_index="14" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x0" complete_nodeset="0x00000080" allowed_nodeset="0x0"/>
+                </object>
+              </object>
             </object>
-          </object>
-        </object>
-        <object type="Cache" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="16" cache_type="0">
-          <object type="Cache" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="64" cache_associativity="2" cache_type="1">
-            <object type="Core" os_index="1" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0">
-              <object type="PU" os_index="15" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0"/>
+            <object type="Cache" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x0" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="16" cache_type="0">
+              <object type="Cache" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x0" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="64" cache_associativity="2" cache_type="1">
+                <object type="Core" os_index="1" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x0" complete_nodeset="0x00000080" allowed_nodeset="0x0">
+                  <object type="PU" os_index="15" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x0" complete_nodeset="0x00000080" allowed_nodeset="0x0"/>
+                </object>
+              </object>
             </object>
           </object>
         </object>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c-cpusets_noadmin.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c-cpusets_noadmin.output
index 5fbc1f3..8e0e5f3 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c-cpusets_noadmin.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c-cpusets_noadmin.output
@@ -1,6 +1,6 @@
 Machine (P#0 total=67106960KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="S4881 " DMIBoardVersion=S4881 DMIBoardAssetTag= Backend=Linux LinuxCgroup=/dummy)
   NUMANode L#0 (P#0 local=8386704KB total=8386704KB)
-    Socket L#0 (P#0 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
+    Package L#0 (P#0 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
       L2Cache L#0 (size=1024KB linesize=64 ways=16)
         L1dCache L#0 (size=64KB linesize=64 ways=2)
           L1iCache L#0 (size=64KB linesize=64 ways=2)
@@ -12,7 +12,7 @@ Machine (P#0 total=67106960KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="
             Core L#1 (P#1)
               PU L#1 (P#1)
   NUMANode L#1 (P#1 local=8388608KB total=8388608KB)
-    Socket L#1 (P#1 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
+    Package L#1 (P#1 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
       L2Cache L#2 (size=1024KB linesize=64 ways=16)
         L1dCache L#2 (size=64KB linesize=64 ways=2)
           L1iCache L#2 (size=64KB linesize=64 ways=2)
@@ -24,7 +24,7 @@ Machine (P#0 total=67106960KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="
             Core L#3 (P#1)
               PU L#3 (P#3)
   NUMANode L#2 (P#2 local=8388608KB total=8388608KB)
-    Socket L#2 (P#2 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
+    Package L#2 (P#2 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
       L2Cache L#4 (size=1024KB linesize=64 ways=16)
         L1dCache L#4 (size=64KB linesize=64 ways=2)
           L1iCache L#4 (size=64KB linesize=64 ways=2)
@@ -36,7 +36,7 @@ Machine (P#0 total=67106960KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="
             Core L#5 (P#1)
               PU L#5 (P#5)
   NUMANode L#3 (P#3 local=8388608KB total=8388608KB)
-    Socket L#3 (P#3 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
+    Package L#3 (P#3 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
       L2Cache L#6 (size=1024KB linesize=64 ways=16)
         L1dCache L#6 (size=64KB linesize=64 ways=2)
           L1iCache L#6 (size=64KB linesize=64 ways=2)
@@ -48,7 +48,7 @@ Machine (P#0 total=67106960KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="
             Core L#7 (P#1)
               PU L#7 (P#7) (forbidden)
   NUMANode L#4 (P#4 local=8388608KB total=8388608KB)
-    Socket L#4 (P#4 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
+    Package L#4 (P#4 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
       L2Cache L#8 (size=1024KB linesize=64 ways=16)
         L1dCache L#8 (size=64KB linesize=64 ways=2)
           L1iCache L#8 (size=64KB linesize=64 ways=2)
@@ -60,7 +60,7 @@ Machine (P#0 total=67106960KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="
             Core L#9 (P#1)
               PU L#9 (P#9) (forbidden)
   NUMANode L#5 (P#5 local=8388608KB total=8388608KB)
-    Socket L#5 (P#5 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
+    Package L#5 (P#5 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
       L2Cache L#10 (size=1024KB linesize=64 ways=16)
         L1dCache L#10 (size=64KB linesize=64 ways=2)
           L1iCache L#10 (size=64KB linesize=64 ways=2)
@@ -72,7 +72,7 @@ Machine (P#0 total=67106960KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="
             Core L#11 (P#1)
               PU L#11 (P#11) (forbidden)
   NUMANode L#6 (P#6 local=8388608KB total=8388608KB)
-    Socket L#6 (P#6 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
+    Package L#6 (P#6 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
       L2Cache L#12 (size=1024KB linesize=64 ways=16)
         L1dCache L#12 (size=64KB linesize=64 ways=2)
           L1iCache L#12 (size=64KB linesize=64 ways=2)
@@ -84,7 +84,7 @@ Machine (P#0 total=67106960KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="
             Core L#13 (P#1)
               PU L#13 (P#13)
   NUMANode L#7 (P#7 local=8388608KB total=8388608KB)
-    Socket L#7 (P#7 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
+    Package L#7 (P#7 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
       L2Cache L#14 (size=1024KB linesize=64 ways=16)
         L1dCache L#14 (size=64KB linesize=64 ways=2)
           L1iCache L#14 (size=64KB linesize=64 ways=2)
@@ -97,13 +97,13 @@ Machine (P#0 total=67106960KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="
               PU L#15 (P#15)
 depth 0:	1 Machine (type #1)
  depth 1:	8 NUMANode (type #2)
-  depth 2:	8 Socket (type #3)
+  depth 2:	8 Package (type #3)
    depth 3:	16 L2Cache (type #4)
     depth 4:	16 L1dCache (type #4)
      depth 5:	16 L1iCache (type #4)
       depth 6:	16 Core (type #5)
        depth 7:	16 PU (type #6)
-latency matrix between NUMANodes (depth 1) by logical indexes:
+relative latency matrix between NUMANodes (depth 1) by logical indexes:
   index     0     1     2     3     4     5     6     7
       0 1.000 2.000 2.000 2.000 2.000 2.000 2.000 2.000
       1 2.000 1.000 2.000 2.000 2.000 2.000 2.000 2.000
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c.output
index 7004d7e..6966894 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c.output
@@ -1,6 +1,6 @@
 Machine (P#0 total=67106960KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="S4881 " DMIBoardVersion=S4881 DMIBoardAssetTag= Backend=Linux)
   NUMANode L#0 (P#0 local=8386704KB total=8386704KB)
-    Socket L#0 (P#0 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
+    Package L#0 (P#0 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
       L2Cache L#0 (size=1024KB linesize=64 ways=16)
         L1dCache L#0 (size=64KB linesize=64 ways=2)
           L1iCache L#0 (size=64KB linesize=64 ways=2)
@@ -12,7 +12,7 @@ Machine (P#0 total=67106960KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="
             Core L#1 (P#1)
               PU L#1 (P#1)
   NUMANode L#1 (P#1 local=8388608KB total=8388608KB)
-    Socket L#1 (P#1 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
+    Package L#1 (P#1 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
       L2Cache L#2 (size=1024KB linesize=64 ways=16)
         L1dCache L#2 (size=64KB linesize=64 ways=2)
           L1iCache L#2 (size=64KB linesize=64 ways=2)
@@ -24,7 +24,7 @@ Machine (P#0 total=67106960KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="
             Core L#3 (P#1)
               PU L#3 (P#3)
   NUMANode L#2 (P#2 local=8388608KB total=8388608KB)
-    Socket L#2 (P#2 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
+    Package L#2 (P#2 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
       L2Cache L#4 (size=1024KB linesize=64 ways=16)
         L1dCache L#4 (size=64KB linesize=64 ways=2)
           L1iCache L#4 (size=64KB linesize=64 ways=2)
@@ -36,7 +36,7 @@ Machine (P#0 total=67106960KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="
             Core L#5 (P#1)
               PU L#5 (P#5)
   NUMANode L#3 (P#3 local=8388608KB total=8388608KB)
-    Socket L#3 (P#3 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
+    Package L#3 (P#3 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
       L2Cache L#6 (size=1024KB linesize=64 ways=16)
         L1dCache L#6 (size=64KB linesize=64 ways=2)
           L1iCache L#6 (size=64KB linesize=64 ways=2)
@@ -48,7 +48,7 @@ Machine (P#0 total=67106960KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="
             Core L#7 (P#1)
               PU L#7 (P#7)
   NUMANode L#4 (P#4 local=8388608KB total=8388608KB)
-    Socket L#4 (P#4 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
+    Package L#4 (P#4 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
       L2Cache L#8 (size=1024KB linesize=64 ways=16)
         L1dCache L#8 (size=64KB linesize=64 ways=2)
           L1iCache L#8 (size=64KB linesize=64 ways=2)
@@ -60,7 +60,7 @@ Machine (P#0 total=67106960KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="
             Core L#9 (P#1)
               PU L#9 (P#9)
   NUMANode L#5 (P#5 local=8388608KB total=8388608KB)
-    Socket L#5 (P#5 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
+    Package L#5 (P#5 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
       L2Cache L#10 (size=1024KB linesize=64 ways=16)
         L1dCache L#10 (size=64KB linesize=64 ways=2)
           L1iCache L#10 (size=64KB linesize=64 ways=2)
@@ -72,7 +72,7 @@ Machine (P#0 total=67106960KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="
             Core L#11 (P#1)
               PU L#11 (P#11)
   NUMANode L#6 (P#6 local=8388608KB total=8388608KB)
-    Socket L#6 (P#6 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
+    Package L#6 (P#6 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
       L2Cache L#12 (size=1024KB linesize=64 ways=16)
         L1dCache L#12 (size=64KB linesize=64 ways=2)
           L1iCache L#12 (size=64KB linesize=64 ways=2)
@@ -84,7 +84,7 @@ Machine (P#0 total=67106960KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="
             Core L#13 (P#1)
               PU L#13 (P#13)
   NUMANode L#7 (P#7 local=8388608KB total=8388608KB)
-    Socket L#7 (P#7 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
+    Package L#7 (P#7 CPUModel="Dual Core AMD Opteron(tm) Processor 865")
       L2Cache L#14 (size=1024KB linesize=64 ways=16)
         L1dCache L#14 (size=64KB linesize=64 ways=2)
           L1iCache L#14 (size=64KB linesize=64 ways=2)
@@ -97,13 +97,13 @@ Machine (P#0 total=67106960KB DMIBoardVendor="TYAN Computer Corp" DMIBoardName="
               PU L#15 (P#15)
 depth 0:	1 Machine (type #1)
  depth 1:	8 NUMANode (type #2)
-  depth 2:	8 Socket (type #3)
+  depth 2:	8 Package (type #3)
    depth 3:	16 L2Cache (type #4)
     depth 4:	16 L1dCache (type #4)
      depth 5:	16 L1iCache (type #4)
       depth 6:	16 Core (type #5)
        depth 7:	16 PU (type #6)
-latency matrix between NUMANodes (depth 1) by logical indexes:
+relative latency matrix between NUMANodes (depth 1) by logical indexes:
   index     0     1     2     3     4     5     6     7
       0 1.000 2.000 2.000 2.000 2.000 2.000 2.000 2.000
       1 2.000 1.000 2.000 2.000 2.000 2.000 2.000 2.000
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-2m4c2t.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-2m4c2t.output
index f532ecf..cc26c4e 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-2m4c2t.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-2m4c2t.output
@@ -1,6 +1,6 @@
 System (P#0 total=2032544KB Backend=Linux) "Kerrighed"
   Machine L#0 (P#2 local=1016272KB total=1016272KB)
-    Socket L#0 (P#1 CPUModel="Genuine Intel(R) CPU           @ 0000 @ 2.93GHz")
+    Package L#0 (P#1 CPUModel="Genuine Intel(R) CPU           @ 0000 @ 2.93GHz")
       Core L#0 (P#0)
         PU L#0 (P#16)
         PU L#1 (P#20)
@@ -14,7 +14,7 @@ System (P#0 total=2032544KB Backend=Linux) "Kerrighed"
         PU L#6 (P#19)
         PU L#7 (P#23)
   Machine L#1 (P#3 local=1016272KB total=1016272KB)
-    Socket L#1 (P#1 CPUModel="Genuine Intel(R) CPU           @ 0000 @ 2.93GHz")
+    Package L#1 (P#1 CPUModel="Genuine Intel(R) CPU           @ 0000 @ 2.93GHz")
       Core L#4 (P#0)
         PU L#8 (P#24)
         PU L#9 (P#28)
@@ -29,7 +29,7 @@ System (P#0 total=2032544KB Backend=Linux) "Kerrighed"
         PU L#15 (P#31)
 depth 0:	1 System (type #0)
  depth 1:	2 Machine (type #1)
-  depth 2:	2 Socket (type #3)
+  depth 2:	2 Package (type #3)
    depth 3:	8 Core (type #5)
     depth 4:	16 PU (type #6)
 Topology not from this system
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t-offlines.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t-offlines.output
index d65cefd..1dd4e00 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t-offlines.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t-offlines.output
@@ -1,5 +1,5 @@
 Machine (P#0 Backend=Linux)
-  Socket L#0 (P#0 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+  Package L#0 (P#0 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
     L3Cache L#0 (size=4096KB linesize=64 ways=16)
       L2Cache L#0 (size=1024KB linesize=64 ways=8)
         L1dCache L#0 (size=16KB linesize=64 ways=8)
@@ -11,14 +11,14 @@ Machine (P#0 Backend=Linux)
           Core L#1 (P#1)
             PU L#2 (P#4)
             PU L#3 (P#12)
-  Socket L#1 (P#1 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+  Package L#1 (P#1 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
     L3Cache L#1 (size=4096KB linesize=64 ways=16)
       L2Cache L#2 (size=1024KB linesize=64 ways=8)
         L1dCache L#2 (size=16KB linesize=64 ways=8)
           Core L#2 (P#0)
             PU L#4 (P#1)
             PU L#5 (P#9)
-  Socket L#2 (P#3 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+  Package L#2 (P#3 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
     L3Cache L#2 (size=4096KB linesize=64 ways=16)
       L2Cache L#3 (size=1024KB linesize=64 ways=8)
         L1dCache L#3 (size=16KB linesize=64 ways=8)
@@ -30,7 +30,7 @@ Machine (P#0 Backend=Linux)
           Core L#4 (P#1)
             PU L#8 (P#7)
             PU L#9 (P#15)
-  Socket L#3 (P#2 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+  Package L#3 (P#2 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
     L3Cache L#3 (size=4096KB linesize=64 ways=16)
       L2Cache L#5 (size=1024KB linesize=64 ways=8)
         L1dCache L#5 (size=16KB linesize=64 ways=8)
@@ -41,7 +41,7 @@ Machine (P#0 Backend=Linux)
           Core L#6 (P#0)
             PU L#11 (P#10)
 depth 0:	1 Machine (type #1)
- depth 1:	4 Socket (type #3)
+ depth 1:	4 Package (type #3)
   depth 2:	4 L3Cache (type #4)
    depth 3:	7 L2Cache (type #4)
     depth 4:	7 L1dCache (type #4)
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t-offlines.xml.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t-offlines.xml.output
index f0fcd47..143c561 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t-offlines.xml.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t-offlines.xml.output
@@ -3,7 +3,7 @@
 <topology>
   <object type="Machine" os_index="0" cpuset="0x00009fdb" complete_cpuset="0x0000ffff" online_cpuset="0x00009fdb" allowed_cpuset="0x0000ffff">
     <info name="Backend" value="Linux"/>
-    <object type="Socket" os_index="0" cpuset="0x00001111" complete_cpuset="0x00001111" online_cpuset="0x00001111" allowed_cpuset="0x00001111">
+    <object type="Package" os_index="0" cpuset="0x00001111" complete_cpuset="0x00001111" online_cpuset="0x00001111" allowed_cpuset="0x00001111">
       <info name="CPUModel" value="Intel(R) Xeon(TM) CPU 2.60GHz"/>
       <object type="Cache" cpuset="0x00001111" complete_cpuset="0x00001111" online_cpuset="0x00001111" allowed_cpuset="0x00001111" cache_size="4194304" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
         <object type="Cache" cpuset="0x00000101" complete_cpuset="0x00000101" online_cpuset="0x00000101" allowed_cpuset="0x00000101" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -24,7 +24,7 @@
         </object>
       </object>
     </object>
-    <object type="Socket" os_index="1" cpuset="0x00000202" complete_cpuset="0x00000202" online_cpuset="0x00000202" allowed_cpuset="0x00000202">
+    <object type="Package" os_index="1" cpuset="0x00000202" complete_cpuset="0x00000202" online_cpuset="0x00000202" allowed_cpuset="0x00000202">
       <info name="CPUModel" value="Intel(R) Xeon(TM) CPU 2.60GHz"/>
       <object type="Cache" cpuset="0x00000202" complete_cpuset="0x00000202" online_cpuset="0x00000202" allowed_cpuset="0x00000202" cache_size="4194304" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
         <object type="Cache" cpuset="0x00000202" complete_cpuset="0x00000202" online_cpuset="0x00000202" allowed_cpuset="0x00000202" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -37,7 +37,7 @@
         </object>
       </object>
     </object>
-    <object type="Socket" os_index="3" cpuset="0x00008888" complete_cpuset="0x00008888" online_cpuset="0x00008888" allowed_cpuset="0x00008888">
+    <object type="Package" os_index="3" cpuset="0x00008888" complete_cpuset="0x00008888" online_cpuset="0x00008888" allowed_cpuset="0x00008888">
       <info name="CPUModel" value="Intel(R) Xeon(TM) CPU 2.60GHz"/>
       <object type="Cache" cpuset="0x00008888" complete_cpuset="0x00008888" online_cpuset="0x00008888" allowed_cpuset="0x00008888" cache_size="4194304" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
         <object type="Cache" cpuset="0x00000808" complete_cpuset="0x00000808" online_cpuset="0x00000808" allowed_cpuset="0x00000808" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -58,7 +58,7 @@
         </object>
       </object>
     </object>
-    <object type="Socket" os_index="2" cpuset="0x00000440" complete_cpuset="0x00000440" online_cpuset="0x00000440" allowed_cpuset="0x00000440">
+    <object type="Package" os_index="2" cpuset="0x00000440" complete_cpuset="0x00000440" online_cpuset="0x00000440" allowed_cpuset="0x00000440">
       <info name="CPUModel" value="Intel(R) Xeon(TM) CPU 2.60GHz"/>
       <object type="Cache" cpuset="0x00000440" complete_cpuset="0x00000440" online_cpuset="0x00000440" allowed_cpuset="0x00000440" cache_size="4194304" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
         <object type="Cache" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t-offlines_noadmin.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t-offlines_noadmin.output
index cf6f62b..d17ce15 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t-offlines_noadmin.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t-offlines_noadmin.output
@@ -1,5 +1,5 @@
 Machine (P#0 Backend=Linux) cpuset=0x00009fdb
-  Socket L#0 (P#0 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz") cpuset=0x00001111
+  Package L#0 (P#0 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz") cpuset=0x00001111
     L3Cache L#0 (size=4096KB linesize=64 ways=16) cpuset=0x00001111
       L2Cache L#0 (size=1024KB linesize=64 ways=8) cpuset=0x00000101
         L1dCache L#0 (size=16KB linesize=64 ways=8) cpuset=0x00000101
@@ -11,14 +11,14 @@ Machine (P#0 Backend=Linux) cpuset=0x00009fdb
           Core L#1 (P#1) cpuset=0x00001010
             PU L#2 (P#4) cpuset=0x00000010
             PU L#3 (P#12) cpuset=0x00001000
-  Socket L#1 (P#1 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz") cpuset=0x00000202
+  Package L#1 (P#1 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz") cpuset=0x00000202
     L3Cache L#1 (size=4096KB linesize=64 ways=16) cpuset=0x00000202
       L2Cache L#2 (size=1024KB linesize=64 ways=8) cpuset=0x00000202
         L1dCache L#2 (size=16KB linesize=64 ways=8) cpuset=0x00000202
           Core L#2 (P#0) cpuset=0x00000202
             PU L#4 (P#1) cpuset=0x00000002
             PU L#5 (P#9) cpuset=0x00000200
-  Socket L#2 (P#3 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz") cpuset=0x00008888
+  Package L#2 (P#3 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz") cpuset=0x00008888
     L3Cache L#2 (size=4096KB linesize=64 ways=16) cpuset=0x00008888
       L2Cache L#3 (size=1024KB linesize=64 ways=8) cpuset=0x00000808
         L1dCache L#3 (size=16KB linesize=64 ways=8) cpuset=0x00000808
@@ -30,7 +30,7 @@ Machine (P#0 Backend=Linux) cpuset=0x00009fdb
           Core L#4 (P#1) cpuset=0x00008080
             PU L#8 (P#7) cpuset=0x00000080
             PU L#9 (P#15) cpuset=0x00008000
-  Socket L#3 (P#2 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz") cpuset=0x00000440
+  Package L#3 (P#2 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz") cpuset=0x00000440
     L3Cache L#3 (size=4096KB linesize=64 ways=16) cpuset=0x00000440
       L2Cache L#5 (size=1024KB linesize=64 ways=8) cpuset=0x00000040
         L1dCache L#5 (size=16KB linesize=64 ways=8) cpuset=0x00000040
@@ -41,7 +41,7 @@ Machine (P#0 Backend=Linux) cpuset=0x00009fdb
           Core L#6 (P#0) cpuset=0x00000400
             PU L#11 (P#10) cpuset=0x00000400
 depth 0:	1 Machine (type #1)
- depth 1:	4 Socket (type #3)
+ depth 1:	4 Package (type #3)
   depth 2:	4 L3Cache (type #4)
    depth 3:	7 L2Cache (type #4)
     depth 4:	7 L1dCache (type #4)
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t.output
index 2b3b761..c2ddcbe 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t.output
@@ -1,5 +1,5 @@
 Machine (P#0 Backend=Linux)
-  Socket L#0 (P#0 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+  Package L#0 (P#0 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
     L3Cache L#0 (size=4096KB linesize=64 ways=16)
       L2Cache L#0 (size=1024KB linesize=64 ways=8)
         L1dCache L#0 (size=16KB linesize=64 ways=8)
@@ -11,7 +11,7 @@ Machine (P#0 Backend=Linux)
           Core L#1 (P#1)
             PU L#2 (P#4)
             PU L#3 (P#12)
-  Socket L#1 (P#1 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+  Package L#1 (P#1 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
     L3Cache L#1 (size=4096KB linesize=64 ways=16)
       L2Cache L#2 (size=1024KB linesize=64 ways=8)
         L1dCache L#2 (size=16KB linesize=64 ways=8)
@@ -23,7 +23,7 @@ Machine (P#0 Backend=Linux)
           Core L#3 (P#1)
             PU L#6 (P#5)
             PU L#7 (P#13)
-  Socket L#2 (P#2 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+  Package L#2 (P#2 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
     L3Cache L#2 (size=4096KB linesize=64 ways=16)
       L2Cache L#4 (size=1024KB linesize=64 ways=8)
         L1dCache L#4 (size=16KB linesize=64 ways=8)
@@ -35,7 +35,7 @@ Machine (P#0 Backend=Linux)
           Core L#5 (P#1)
             PU L#10 (P#6)
             PU L#11 (P#14)
-  Socket L#3 (P#3 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+  Package L#3 (P#3 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
     L3Cache L#3 (size=4096KB linesize=64 ways=16)
       L2Cache L#6 (size=1024KB linesize=64 ways=8)
         L1dCache L#6 (size=16KB linesize=64 ways=8)
@@ -48,7 +48,7 @@ Machine (P#0 Backend=Linux)
             PU L#14 (P#7)
             PU L#15 (P#15)
 depth 0:	1 Machine (type #1)
- depth 1:	4 Socket (type #3)
+ depth 1:	4 Package (type #3)
   depth 2:	4 L3Cache (type #4)
    depth 3:	8 L2Cache (type #4)
     depth 4:	8 L1dCache (type #4)
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t.xml.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t.xml.output
index 2192848..32088fd 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t.xml.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t.xml.output
@@ -3,7 +3,7 @@
 <topology>
   <object type="Machine" os_index="0" cpuset="0x0000ffff" complete_cpuset="0x0000ffff" online_cpuset="0x0000ffff" allowed_cpuset="0x0000ffff">
     <info name="Backend" value="Linux"/>
-    <object type="Socket" os_index="0" cpuset="0x00001111" complete_cpuset="0x00001111" online_cpuset="0x00001111" allowed_cpuset="0x00001111">
+    <object type="Package" os_index="0" cpuset="0x00001111" complete_cpuset="0x00001111" online_cpuset="0x00001111" allowed_cpuset="0x00001111">
       <info name="CPUModel" value="Intel(R) Xeon(TM) CPU 2.60GHz"/>
       <object type="Cache" cpuset="0x00001111" complete_cpuset="0x00001111" online_cpuset="0x00001111" allowed_cpuset="0x00001111" cache_size="4194304" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
         <object type="Cache" cpuset="0x00000101" complete_cpuset="0x00000101" online_cpuset="0x00000101" allowed_cpuset="0x00000101" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -24,7 +24,7 @@
         </object>
       </object>
     </object>
-    <object type="Socket" os_index="1" cpuset="0x00002222" complete_cpuset="0x00002222" online_cpuset="0x00002222" allowed_cpuset="0x00002222">
+    <object type="Package" os_index="1" cpuset="0x00002222" complete_cpuset="0x00002222" online_cpuset="0x00002222" allowed_cpuset="0x00002222">
       <info name="CPUModel" value="Intel(R) Xeon(TM) CPU 2.60GHz"/>
       <object type="Cache" cpuset="0x00002222" complete_cpuset="0x00002222" online_cpuset="0x00002222" allowed_cpuset="0x00002222" cache_size="4194304" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
         <object type="Cache" cpuset="0x00000202" complete_cpuset="0x00000202" online_cpuset="0x00000202" allowed_cpuset="0x00000202" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -45,7 +45,7 @@
         </object>
       </object>
     </object>
-    <object type="Socket" os_index="2" cpuset="0x00004444" complete_cpuset="0x00004444" online_cpuset="0x00004444" allowed_cpuset="0x00004444">
+    <object type="Package" os_index="2" cpuset="0x00004444" complete_cpuset="0x00004444" online_cpuset="0x00004444" allowed_cpuset="0x00004444">
       <info name="CPUModel" value="Intel(R) Xeon(TM) CPU 2.60GHz"/>
       <object type="Cache" cpuset="0x00004444" complete_cpuset="0x00004444" online_cpuset="0x00004444" allowed_cpuset="0x00004444" cache_size="4194304" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
         <object type="Cache" cpuset="0x00000404" complete_cpuset="0x00000404" online_cpuset="0x00000404" allowed_cpuset="0x00000404" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -66,7 +66,7 @@
         </object>
       </object>
     </object>
-    <object type="Socket" os_index="3" cpuset="0x00008888" complete_cpuset="0x00008888" online_cpuset="0x00008888" allowed_cpuset="0x00008888">
+    <object type="Package" os_index="3" cpuset="0x00008888" complete_cpuset="0x00008888" online_cpuset="0x00008888" allowed_cpuset="0x00008888">
       <info name="CPUModel" value="Intel(R) Xeon(TM) CPU 2.60GHz"/>
       <object type="Cache" cpuset="0x00008888" complete_cpuset="0x00008888" online_cpuset="0x00008888" allowed_cpuset="0x00008888" cache_size="4194304" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
         <object type="Cache" cpuset="0x00000808" complete_cpuset="0x00000808" online_cpuset="0x00000808" allowed_cpuset="0x00000808" cache_size="1048576" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t_merge.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t_merge.output
index 10cf7a5..a566a2d 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t_merge.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t_merge.output
@@ -1,26 +1,26 @@
 Machine (P#0 Backend=Linux)
-  Socket L#0 (P#0 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+  Package L#0 (P#0 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
     Core L#0 (P#0)
       PU L#0 (P#0)
       PU L#1 (P#8)
     Core L#1 (P#1)
       PU L#2 (P#4)
       PU L#3 (P#12)
-  Socket L#1 (P#1 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+  Package L#1 (P#1 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
     Core L#2 (P#0)
       PU L#4 (P#1)
       PU L#5 (P#9)
     Core L#3 (P#1)
       PU L#6 (P#5)
       PU L#7 (P#13)
-  Socket L#2 (P#2 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+  Package L#2 (P#2 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
     Core L#4 (P#0)
       PU L#8 (P#2)
       PU L#9 (P#10)
     Core L#5 (P#1)
       PU L#10 (P#6)
       PU L#11 (P#14)
-  Socket L#3 (P#3 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+  Package L#3 (P#3 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
     Core L#6 (P#0)
       PU L#12 (P#3)
       PU L#13 (P#11)
@@ -28,7 +28,7 @@ Machine (P#0 Backend=Linux)
       PU L#14 (P#7)
       PU L#15 (P#15)
 depth 0:	1 Machine (type #1)
- depth 1:	4 Socket (type #3)
+ depth 1:	4 Package (type #3)
   depth 2:	8 Core (type #5)
    depth 3:	16 PU (type #6)
 Topology not from this system
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t_ncaches.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t_ncaches.output
index 10cf7a5..a566a2d 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t_ncaches.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2c2t_ncaches.output
@@ -1,26 +1,26 @@
 Machine (P#0 Backend=Linux)
-  Socket L#0 (P#0 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+  Package L#0 (P#0 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
     Core L#0 (P#0)
       PU L#0 (P#0)
       PU L#1 (P#8)
     Core L#1 (P#1)
       PU L#2 (P#4)
       PU L#3 (P#12)
-  Socket L#1 (P#1 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+  Package L#1 (P#1 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
     Core L#2 (P#0)
       PU L#4 (P#1)
       PU L#5 (P#9)
     Core L#3 (P#1)
       PU L#6 (P#5)
       PU L#7 (P#13)
-  Socket L#2 (P#2 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+  Package L#2 (P#2 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
     Core L#4 (P#0)
       PU L#8 (P#2)
       PU L#9 (P#10)
     Core L#5 (P#1)
       PU L#10 (P#6)
       PU L#11 (P#14)
-  Socket L#3 (P#3 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+  Package L#3 (P#3 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
     Core L#6 (P#0)
       PU L#12 (P#3)
       PU L#13 (P#11)
@@ -28,7 +28,7 @@ Machine (P#0 Backend=Linux)
       PU L#14 (P#7)
       PU L#15 (P#15)
 depth 0:	1 Machine (type #1)
- depth 1:	4 Socket (type #3)
+ depth 1:	4 Package (type #3)
   depth 2:	8 Core (type #5)
    depth 3:	16 PU (type #6)
 Topology not from this system
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2ca2c-cpusetreorder-merge.options b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2ca2c-cpusetreorder-merge.options
new file mode 100644
index 0000000..2511184
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2ca2c-cpusetreorder-merge.options
@@ -0,0 +1 @@
+- -v --merge
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2ca2c-cpusetreorder-merge.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2ca2c-cpusetreorder-merge.output
new file mode 100644
index 0000000..fcedeaf
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2ca2c-cpusetreorder-merge.output
@@ -0,0 +1,26 @@
+Machine (P#0 Backend=Linux LinuxCgroup=/prout)
+  Package L#0 (P#0 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+    PU L#0 (P#4)
+    PU L#1 (P#8)
+  Package L#1 (P#1 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+    L2Cache L#0 (size=1024KB linesize=64 ways=8)
+      PU L#2 (P#5)
+      PU L#3 (P#13)
+    PU L#4 (P#9)
+  Package L#2 (P#2 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+    L2Cache L#1 (size=1024KB linesize=64 ways=8)
+      PU L#5 (P#2)
+      PU L#6 (P#10)
+    PU L#7 (P#6)
+  Package L#3 (P#3 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+    L2Cache L#2 (size=1024KB linesize=64 ways=8)
+      PU L#8 (P#3)
+      PU L#9 (P#11)
+    PU L#10 (P#7)
+depth 0:	1 Machine (type #1)
+ depth 1:	4 Package (type #3)
+  depth 2:	3 L2Cache (type #4)
+   depth 3:	11 PU (type #6)
+5 processors not represented in topology: 0x0000d003
+5 processors online but not allowed: 0x0000d003
+Topology not from this system
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2ca2c-cpusetreorder-merge.source b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2ca2c-cpusetreorder-merge.source
new file mode 100644
index 0000000..6077f3b
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2ca2c-cpusetreorder-merge.source
@@ -0,0 +1 @@
+16em64t-4s2ca2c-cpusetreorder.tar.bz2
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2ca2c-cpusetreorder.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2ca2c-cpusetreorder.output
index a8800ba..8101ad2 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2ca2c-cpusetreorder.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2ca2c-cpusetreorder.output
@@ -1,5 +1,5 @@
 Machine (P#0 Backend=Linux LinuxCgroup=/prout)
-  Socket L#0 (P#0 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+  Package L#0 (P#0 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
     L3Cache L#0 (size=4096KB linesize=64 ways=16)
       L2Cache L#0 (size=1024KB linesize=64 ways=8)
         L1dCache L#0 (size=16KB linesize=64 ways=8)
@@ -9,20 +9,20 @@ Machine (P#0 Backend=Linux LinuxCgroup=/prout)
         L1dCache L#1 (size=16KB linesize=64 ways=8)
           Core L#1 (P#1)
             PU L#1 (P#4)
-  Socket L#1 (P#1 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+  Package L#1 (P#1 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
     L3Cache L#1 (size=4096KB linesize=64 ways=16)
       L2Cache L#2 (size=1024KB linesize=64 ways=8)
         L1dCache L#2 (size=16KB linesize=64 ways=8)
-          Core L#2 (P#0)
-            PU L#2 (P#1)
-        L1dCache L#3 (size=16KB linesize=64 ways=8)
-          Core L#3 (P#2)
-            PU L#3 (P#9)
+          Core L#2 (P#2)
+            PU L#2 (P#9)
       L2Cache L#3 (size=1024KB linesize=64 ways=8)
+        L1dCache L#3 (size=16KB linesize=64 ways=8)
+          Core L#3 (P#1)
+            PU L#3 (P#5)
         L1dCache L#4 (size=16KB linesize=64 ways=8)
-          Core L#4 (P#1)
-            PU L#4 (P#5)
-  Socket L#2 (P#2 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+          Core L#4 (P#3)
+            PU L#4 (P#13)
+  Package L#2 (P#2 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
     L3Cache L#2 (size=4096KB linesize=64 ways=16)
       L2Cache L#4 (size=1024KB linesize=64 ways=8)
         L1dCache L#5 (size=16KB linesize=64 ways=8)
@@ -35,7 +35,7 @@ Machine (P#0 Backend=Linux LinuxCgroup=/prout)
         L1dCache L#7 (size=16KB linesize=64 ways=8)
           Core L#7 (P#1)
             PU L#7 (P#6)
-  Socket L#3 (P#3 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
+  Package L#3 (P#3 CPUModel="Intel(R) Xeon(TM) CPU 2.60GHz")
     L3Cache L#3 (size=4096KB linesize=64 ways=16)
       L2Cache L#6 (size=1024KB linesize=64 ways=8)
         L1dCache L#8 (size=16KB linesize=64 ways=8)
@@ -49,12 +49,12 @@ Machine (P#0 Backend=Linux LinuxCgroup=/prout)
           Core L#10 (P#1)
             PU L#10 (P#7)
 depth 0:	1 Machine (type #1)
- depth 1:	4 Socket (type #3)
+ depth 1:	4 Package (type #3)
   depth 2:	4 L3Cache (type #4)
    depth 3:	8 L2Cache (type #4)
     depth 4:	11 L1dCache (type #4)
      depth 5:	11 Core (type #5)
       depth 6:	11 PU (type #6)
-5 processors not represented in topology: 0x0000f001
-5 processors online but not allowed: 0x0000f001
+5 processors not represented in topology: 0x0000d003
+5 processors online but not allowed: 0x0000d003
 Topology not from this system
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2ca2c-cpusetreorder.tar.bz2 b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2ca2c-cpusetreorder.tar.bz2
index c75cf41..910c2bc 100644
Binary files a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2ca2c-cpusetreorder.tar.bz2 and b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2ca2c-cpusetreorder.tar.bz2 differ
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16ia64-8n2s.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16ia64-8n2s.output
index 83e8020..3b66f36 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16ia64-8n2s.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16ia64-8n2s.output
@@ -1,14 +1,14 @@
 Machine (P#0 total=48346688KB Backend=Linux Architecture=ia64)
   Group0 L#0 (total=24182720KB)
     NUMANode L#0 (P#0 local=6045632KB total=6045632KB)
-      Socket L#0 (P#0 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
+      Package L#0 (P#0 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
         L3Cache L#0 (size=9216KB linesize=128 ways=18)
           L2Cache L#0 (size=256KB linesize=128 ways=8)
             L1dCache L#0 (size=16KB linesize=64 ways=4)
               L1iCache L#0 (size=16KB linesize=64 ways=4)
                 Core L#0 (P#0)
                   PU L#0 (P#0)
-      Socket L#1 (P#0 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
+      Package L#1 (P#0 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
         L3Cache L#1 (size=9216KB linesize=128 ways=18)
           L2Cache L#1 (size=256KB linesize=128 ways=8)
             L1dCache L#1 (size=16KB linesize=64 ways=4)
@@ -16,14 +16,14 @@ Machine (P#0 total=48346688KB Backend=Linux Architecture=ia64)
                 Core L#1 (P#0)
                   PU L#1 (P#1)
     NUMANode L#1 (P#1 local=6045696KB total=6045696KB)
-      Socket L#2 (P#512 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
+      Package L#2 (P#512 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
         L3Cache L#2 (size=9216KB linesize=128 ways=18)
           L2Cache L#2 (size=256KB linesize=128 ways=8)
             L1dCache L#2 (size=16KB linesize=64 ways=4)
               L1iCache L#2 (size=16KB linesize=64 ways=4)
                 Core L#2 (P#0)
                   PU L#2 (P#2)
-      Socket L#3 (P#512 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
+      Package L#3 (P#512 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
         L3Cache L#3 (size=9216KB linesize=128 ways=18)
           L2Cache L#3 (size=256KB linesize=128 ways=8)
             L1dCache L#3 (size=16KB linesize=64 ways=4)
@@ -31,14 +31,14 @@ Machine (P#0 total=48346688KB Backend=Linux Architecture=ia64)
                 Core L#3 (P#0)
                   PU L#3 (P#3)
     NUMANode L#2 (P#2 local=6045696KB total=6045696KB)
-      Socket L#4 (P#1024 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
+      Package L#4 (P#1024 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
         L3Cache L#4 (size=9216KB linesize=128 ways=18)
           L2Cache L#4 (size=256KB linesize=128 ways=8)
             L1dCache L#4 (size=16KB linesize=64 ways=4)
               L1iCache L#4 (size=16KB linesize=64 ways=4)
                 Core L#4 (P#0)
                   PU L#4 (P#4)
-      Socket L#5 (P#1024 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
+      Package L#5 (P#1024 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
         L3Cache L#5 (size=9216KB linesize=128 ways=18)
           L2Cache L#5 (size=256KB linesize=128 ways=8)
             L1dCache L#5 (size=16KB linesize=64 ways=4)
@@ -46,14 +46,14 @@ Machine (P#0 total=48346688KB Backend=Linux Architecture=ia64)
                 Core L#5 (P#0)
                   PU L#5 (P#5)
     NUMANode L#3 (P#3 local=6045696KB total=6045696KB)
-      Socket L#6 (P#1536 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
+      Package L#6 (P#1536 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
         L3Cache L#6 (size=9216KB linesize=128 ways=18)
           L2Cache L#6 (size=256KB linesize=128 ways=8)
             L1dCache L#6 (size=16KB linesize=64 ways=4)
               L1iCache L#6 (size=16KB linesize=64 ways=4)
                 Core L#6 (P#0)
                   PU L#6 (P#6)
-      Socket L#7 (P#1536 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
+      Package L#7 (P#1536 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
         L3Cache L#7 (size=9216KB linesize=128 ways=18)
           L2Cache L#7 (size=256KB linesize=128 ways=8)
             L1dCache L#7 (size=16KB linesize=64 ways=4)
@@ -62,14 +62,14 @@ Machine (P#0 total=48346688KB Backend=Linux Architecture=ia64)
                   PU L#7 (P#7)
   Group0 L#1 (total=24163968KB)
     NUMANode L#4 (P#4 local=6045696KB total=6045696KB)
-      Socket L#8 (P#2048 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
+      Package L#8 (P#2048 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
         L3Cache L#8 (size=9216KB linesize=128 ways=18)
           L2Cache L#8 (size=256KB linesize=128 ways=8)
             L1dCache L#8 (size=16KB linesize=64 ways=4)
               L1iCache L#8 (size=16KB linesize=64 ways=4)
                 Core L#8 (P#0)
                   PU L#8 (P#8)
-      Socket L#9 (P#2048 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
+      Package L#9 (P#2048 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
         L3Cache L#9 (size=9216KB linesize=128 ways=18)
           L2Cache L#9 (size=256KB linesize=128 ways=8)
             L1dCache L#9 (size=16KB linesize=64 ways=4)
@@ -77,14 +77,14 @@ Machine (P#0 total=48346688KB Backend=Linux Architecture=ia64)
                 Core L#9 (P#0)
                   PU L#9 (P#9)
     NUMANode L#5 (P#5 local=6045632KB total=6045632KB)
-      Socket L#10 (P#2560 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
+      Package L#10 (P#2560 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
         L3Cache L#10 (size=9216KB linesize=128 ways=18)
           L2Cache L#10 (size=256KB linesize=128 ways=8)
             L1dCache L#10 (size=16KB linesize=64 ways=4)
               L1iCache L#10 (size=16KB linesize=64 ways=4)
                 Core L#10 (P#0)
                   PU L#10 (P#10)
-      Socket L#11 (P#2560 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
+      Package L#11 (P#2560 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
         L3Cache L#11 (size=9216KB linesize=128 ways=18)
           L2Cache L#11 (size=256KB linesize=128 ways=8)
             L1dCache L#11 (size=16KB linesize=64 ways=4)
@@ -92,14 +92,14 @@ Machine (P#0 total=48346688KB Backend=Linux Architecture=ia64)
                 Core L#11 (P#0)
                   PU L#11 (P#11)
     NUMANode L#6 (P#6 local=6045696KB total=6045696KB)
-      Socket L#12 (P#3072 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
+      Package L#12 (P#3072 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
         L3Cache L#12 (size=9216KB linesize=128 ways=18)
           L2Cache L#12 (size=256KB linesize=128 ways=8)
             L1dCache L#12 (size=16KB linesize=64 ways=4)
               L1iCache L#12 (size=16KB linesize=64 ways=4)
                 Core L#12 (P#0)
                   PU L#12 (P#12)
-      Socket L#13 (P#3072 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
+      Package L#13 (P#3072 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
         L3Cache L#13 (size=9216KB linesize=128 ways=18)
           L2Cache L#13 (size=256KB linesize=128 ways=8)
             L1dCache L#13 (size=16KB linesize=64 ways=4)
@@ -107,14 +107,14 @@ Machine (P#0 total=48346688KB Backend=Linux Architecture=ia64)
                 Core L#13 (P#0)
                   PU L#13 (P#13)
     NUMANode L#7 (P#7 local=6026944KB total=6026944KB)
-      Socket L#14 (P#3584 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
+      Package L#14 (P#3584 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
         L3Cache L#14 (size=9216KB linesize=128 ways=18)
           L2Cache L#14 (size=256KB linesize=128 ways=8)
             L1dCache L#14 (size=16KB linesize=64 ways=4)
               L1iCache L#14 (size=16KB linesize=64 ways=4)
                 Core L#14 (P#0)
                   PU L#14 (P#14)
-      Socket L#15 (P#3584 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
+      Package L#15 (P#3584 CPUVendor=GenuineIntel CPUFamilyNumber=31 CPUModelNumber=2 CPUModel="Madison up to 9M cache")
         L3Cache L#15 (size=9216KB linesize=128 ways=18)
           L2Cache L#15 (size=256KB linesize=128 ways=8)
             L1dCache L#15 (size=16KB linesize=64 ways=4)
@@ -124,14 +124,14 @@ Machine (P#0 total=48346688KB Backend=Linux Architecture=ia64)
 depth 0:	1 Machine (type #1)
  depth 1:	2 Group0 (type #7)
   depth 2:	8 NUMANode (type #2)
-   depth 3:	16 Socket (type #3)
+   depth 3:	16 Package (type #3)
     depth 4:	16 L3Cache (type #4)
      depth 5:	16 L2Cache (type #4)
       depth 6:	16 L1dCache (type #4)
        depth 7:	16 L1iCache (type #4)
         depth 8:	16 Core (type #5)
          depth 9:	16 PU (type #6)
-latency matrix between NUMANodes (depth 2) by logical indexes:
+relative latency matrix between NUMANodes (depth 2) by logical indexes:
   index     0     1     2     3     4     5     6     7
       0 1.000 2.500 2.500 2.500 2.900 2.900 2.900 2.900
       1 2.500 1.000 2.500 2.500 2.900 2.900 2.900 2.900
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/20s390-2g6s4c.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/20s390-2g6s4c.output
index ec8e075..09ea856 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/20s390-2g6s4c.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/20s390-2g6s4c.output
@@ -1,13 +1,13 @@
 Machine (P#0 local=2053992KB total=2053992KB Backend=Linux)
-  Group0 L#0 (P#4)
-    Socket L#0
+  Group0(Book) L#0 (P#4 Type=Book)
+    Package L#0
       Core L#0 (P#1)
         PU L#0 (P#0)
       Core L#1 (P#1)
         PU L#1 (P#1)
       Core L#2 (P#1)
         PU L#2 (P#2)
-    Socket L#1
+    Package L#1
       Core L#3 (P#2)
         PU L#3 (P#3)
       Core L#4 (P#2)
@@ -16,33 +16,33 @@ Machine (P#0 local=2053992KB total=2053992KB Backend=Linux)
         PU L#5 (P#5)
       Core L#6 (P#2)
         PU L#6 (P#6)
-    Socket L#2
+    Package L#2
       Core L#7 (P#3)
         PU L#7 (P#7)
       Core L#8 (P#3)
         PU L#8 (P#8)
       Core L#9 (P#3)
         PU L#9 (P#9)
-    Socket L#3
+    Package L#3
       Core L#10 (P#4)
         PU L#10 (P#10)
       Core L#11 (P#4)
         PU L#11 (P#11)
       Core L#12 (P#4)
         PU L#12 (P#12)
-    Socket L#4
+    Package L#4
       Core L#13 (P#5)
         PU L#13 (P#13)
       Core L#14 (P#5)
         PU L#14 (P#14)
-    Socket L#5
+    Package L#5
       Core L#15 (P#6)
         PU L#15 (P#15)
-  Group0 L#1 (P#3)
-    Socket L#6
+  Group0(Book) L#1 (P#3 Type=Book)
+    Package L#6
       Core L#16 (P#1)
         PU L#16 (P#16)
-    Socket L#7
+    Package L#7
       Core L#17 (P#2)
         PU L#17 (P#17)
       Core L#18 (P#2)
@@ -51,7 +51,7 @@ Machine (P#0 local=2053992KB total=2053992KB Backend=Linux)
         PU L#19 (P#19)
 depth 0:	1 Machine (type #1)
  depth 1:	2 Group0 (type #7)
-  depth 2:	8 Socket (type #3)
+  depth 2:	8 Package (type #3)
    depth 3:	20 Core (type #5)
     depth 4:	20 PU (type #6)
 Topology not from this system
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/24em64t-2n6c2t+2mic.olddriver.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/24em64t-2n6c2t+2mic.olddriver.output
index 308c143..3fe5257 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/24em64t-2n6c2t+2mic.olddriver.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/24em64t-2n6c2t+2mic.olddriver.output
@@ -24,7 +24,7 @@
       <latency value="1.000000"/>
     </distances>
     <object type="NUMANode" os_index="0" cpuset="0x00555555" complete_cpuset="0x00555555" online_cpuset="0x00555555" allowed_cpuset="0x00555555" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="12817362944">
-      <object type="Socket" os_index="0" cpuset="0x00555555" complete_cpuset="0x00555555" online_cpuset="0x00555555" allowed_cpuset="0x00555555" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+      <object type="Package" os_index="0" cpuset="0x00555555" complete_cpuset="0x00555555" online_cpuset="0x00555555" allowed_cpuset="0x00555555" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
         <info name="CPUModel" value="Intel(R) Xeon(R) CPU           X5680  @ 3.33GHz"/>
         <object type="Cache" cpuset="0x00555555" complete_cpuset="0x00555555" online_cpuset="0x00555555" allowed_cpuset="0x00555555" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="12582912" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x00001001" complete_cpuset="0x00001001" online_cpuset="0x00001001" allowed_cpuset="0x00001001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -91,7 +91,7 @@
       </object>
     </object>
     <object type="NUMANode" os_index="1" cpuset="0x00aaaaaa" complete_cpuset="0x00aaaaaa" online_cpuset="0x00aaaaaa" allowed_cpuset="0x00aaaaaa" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="12884901888">
-      <object type="Socket" os_index="1" cpuset="0x00aaaaaa" complete_cpuset="0x00aaaaaa" online_cpuset="0x00aaaaaa" allowed_cpuset="0x00aaaaaa" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+      <object type="Package" os_index="1" cpuset="0x00aaaaaa" complete_cpuset="0x00aaaaaa" online_cpuset="0x00aaaaaa" allowed_cpuset="0x00aaaaaa" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <info name="CPUModel" value="Intel(R) Xeon(R) CPU           X5680  @ 3.33GHz"/>
         <object type="Cache" cpuset="0x00aaaaaa" complete_cpuset="0x00aaaaaa" online_cpuset="0x00aaaaaa" allowed_cpuset="0x00aaaaaa" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="12582912" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x00002002" complete_cpuset="0x00002002" online_cpuset="0x00002002" allowed_cpuset="0x00002002" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -246,11 +246,15 @@
       </object>
       <object type="PCIDev" os_index="496" pci_busid="0000:00:1f.0" pci_type="0601 [8086:3a16] [8086:34e2] 00" pci_link_speed="0.000000"/>
       <object type="PCIDev" os_index="498" pci_busid="0000:00:1f.2" pci_type="0101 [8086:3a20] [8086:34e2] 00" pci_link_speed="0.000000">
-        <object type="OSDev" name="sda" osdev_type="0"/>
+        <object type="OSDev" name="sda" osdev_type="0">
+          <info name="LinuxDeviceID" value="8:0"/>
+        </object>
       </object>
       <object type="PCIDev" os_index="499" pci_busid="0000:00:1f.3" pci_type="0c05 [8086:3a30] [8086:34e2] 00" pci_link_speed="0.000000"/>
       <object type="PCIDev" os_index="501" pci_busid="0000:00:1f.5" pci_type="0101 [8086:3a26] [8086:34e2] 00" pci_link_speed="0.000000">
-        <object type="OSDev" name="sr0" osdev_type="0"/>
+        <object type="OSDev" name="sr0" osdev_type="0">
+          <info name="LinuxDeviceID" value="11:0"/>
+        </object>
       </object>
     </object>
   </object>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/256ia64-64n2s2c.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/256ia64-64n2s2c.output
index cc1e9bf..a978997 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/256ia64-64n2s2c.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/256ia64-64n2s2c.output
@@ -2,180 +2,180 @@ Machine (P#0 total=516912176KB Backend=Linux)
   Group1 L#0 (total=129224048KB)
     Group0 L#0 (total=32296336KB)
       NUMANode L#0 (P#0 local=8064400KB total=8064400KB)
-        Socket L#0 (P#0)
+        Package L#0 (P#0)
           Core L#0 (P#0)
             PU L#0 (P#0)
           Core L#1 (P#1)
             PU L#1 (P#1)
-        Socket L#1 (P#3)
+        Package L#1 (P#3)
           Core L#2 (P#0)
             PU L#2 (P#2)
           Core L#3 (P#1)
             PU L#3 (P#3)
       NUMANode L#1 (P#1 local=8077312KB total=8077312KB)
-        Socket L#2 (P#512)
+        Package L#2 (P#512)
           Core L#4 (P#0)
             PU L#4 (P#4)
           Core L#5 (P#1)
             PU L#5 (P#5)
-        Socket L#3 (P#515)
+        Package L#3 (P#515)
           Core L#6 (P#0)
             PU L#6 (P#6)
           Core L#7 (P#1)
             PU L#7 (P#7)
       NUMANode L#2 (P#2 local=8077312KB total=8077312KB)
-        Socket L#4 (P#1024)
+        Package L#4 (P#1024)
           Core L#8 (P#0)
             PU L#8 (P#8)
           Core L#9 (P#1)
             PU L#9 (P#9)
-        Socket L#5 (P#1027)
+        Package L#5 (P#1027)
           Core L#10 (P#0)
             PU L#10 (P#10)
           Core L#11 (P#1)
             PU L#11 (P#11)
       NUMANode L#3 (P#3 local=8077312KB total=8077312KB)
-        Socket L#6 (P#1536)
+        Package L#6 (P#1536)
           Core L#12 (P#0)
             PU L#12 (P#12)
           Core L#13 (P#1)
             PU L#13 (P#13)
-        Socket L#7 (P#1539)
+        Package L#7 (P#1539)
           Core L#14 (P#0)
             PU L#14 (P#14)
           Core L#15 (P#1)
             PU L#15 (P#15)
     Group0 L#1 (total=32309232KB)
       NUMANode L#4 (P#4 local=8077312KB total=8077312KB)
-        Socket L#8 (P#2048)
+        Package L#8 (P#2048)
           Core L#16 (P#0)
             PU L#16 (P#16)
           Core L#17 (P#1)
             PU L#17 (P#17)
-        Socket L#9 (P#2051)
+        Package L#9 (P#2051)
           Core L#18 (P#0)
             PU L#18 (P#18)
           Core L#19 (P#1)
             PU L#19 (P#19)
       NUMANode L#5 (P#5 local=8077312KB total=8077312KB)
-        Socket L#10 (P#2560)
+        Package L#10 (P#2560)
           Core L#20 (P#0)
             PU L#20 (P#20)
           Core L#21 (P#1)
             PU L#21 (P#21)
-        Socket L#11 (P#2563)
+        Package L#11 (P#2563)
           Core L#22 (P#0)
             PU L#22 (P#22)
           Core L#23 (P#1)
             PU L#23 (P#23)
       NUMANode L#6 (P#6 local=8077296KB total=8077296KB)
-        Socket L#12 (P#3072)
+        Package L#12 (P#3072)
           Core L#24 (P#0)
             PU L#24 (P#24)
           Core L#25 (P#1)
             PU L#25 (P#25)
-        Socket L#13 (P#3075)
+        Package L#13 (P#3075)
           Core L#26 (P#0)
             PU L#26 (P#26)
           Core L#27 (P#1)
             PU L#27 (P#27)
       NUMANode L#7 (P#7 local=8077312KB total=8077312KB)
-        Socket L#14 (P#3584)
+        Package L#14 (P#3584)
           Core L#28 (P#0)
             PU L#28 (P#28)
           Core L#29 (P#1)
             PU L#29 (P#29)
-        Socket L#15 (P#3587)
+        Package L#15 (P#3587)
           Core L#30 (P#0)
             PU L#30 (P#30)
           Core L#31 (P#1)
             PU L#31 (P#31)
     Group0 L#2 (total=32309248KB)
       NUMANode L#8 (P#8 local=8077312KB total=8077312KB)
-        Socket L#16 (P#4096)
+        Package L#16 (P#4096)
           Core L#32 (P#0)
             PU L#32 (P#32)
           Core L#33 (P#1)
             PU L#33 (P#33)
-        Socket L#17 (P#4099)
+        Package L#17 (P#4099)
           Core L#34 (P#0)
             PU L#34 (P#34)
           Core L#35 (P#1)
             PU L#35 (P#35)
       NUMANode L#9 (P#9 local=8077312KB total=8077312KB)
-        Socket L#18 (P#4608)
+        Package L#18 (P#4608)
           Core L#36 (P#0)
             PU L#36 (P#36)
           Core L#37 (P#1)
             PU L#37 (P#37)
-        Socket L#19 (P#4611)
+        Package L#19 (P#4611)
           Core L#38 (P#0)
             PU L#38 (P#38)
           Core L#39 (P#1)
             PU L#39 (P#39)
       NUMANode L#10 (P#10 local=8077312KB total=8077312KB)
-        Socket L#20 (P#5120)
+        Package L#20 (P#5120)
           Core L#40 (P#0)
             PU L#40 (P#40)
           Core L#41 (P#1)
             PU L#41 (P#41)
-        Socket L#21 (P#5123)
+        Package L#21 (P#5123)
           Core L#42 (P#0)
             PU L#42 (P#42)
           Core L#43 (P#1)
             PU L#43 (P#43)
       NUMANode L#11 (P#11 local=8077312KB total=8077312KB)
-        Socket L#22 (P#5632)
+        Package L#22 (P#5632)
           Core L#44 (P#0)
             PU L#44 (P#44)
           Core L#45 (P#1)
             PU L#45 (P#45)
-        Socket L#23 (P#5635)
+        Package L#23 (P#5635)
           Core L#46 (P#0)
             PU L#46 (P#46)
           Core L#47 (P#1)
             PU L#47 (P#47)
     Group0 L#3 (total=32309232KB)
       NUMANode L#12 (P#12 local=8077312KB total=8077312KB)
-        Socket L#24 (P#6144)
+        Package L#24 (P#6144)
           Core L#48 (P#0)
             PU L#48 (P#48)
           Core L#49 (P#1)
             PU L#49 (P#49)
-        Socket L#25 (P#6147)
+        Package L#25 (P#6147)
           Core L#50 (P#0)
             PU L#50 (P#50)
           Core L#51 (P#1)
             PU L#51 (P#51)
       NUMANode L#13 (P#13 local=8077312KB total=8077312KB)
-        Socket L#26 (P#6656)
+        Package L#26 (P#6656)
           Core L#52 (P#0)
             PU L#52 (P#52)
           Core L#53 (P#1)
             PU L#53 (P#53)
-        Socket L#27 (P#6659)
+        Package L#27 (P#6659)
           Core L#54 (P#0)
             PU L#54 (P#54)
           Core L#55 (P#1)
             PU L#55 (P#55)
       NUMANode L#14 (P#14 local=8077296KB total=8077296KB)
-        Socket L#28 (P#7168)
+        Package L#28 (P#7168)
           Core L#56 (P#0)
             PU L#56 (P#56)
           Core L#57 (P#1)
             PU L#57 (P#57)
-        Socket L#29 (P#7171)
+        Package L#29 (P#7171)
           Core L#58 (P#0)
             PU L#58 (P#58)
           Core L#59 (P#1)
             PU L#59 (P#59)
       NUMANode L#15 (P#15 local=8077312KB total=8077312KB)
-        Socket L#30 (P#7680)
+        Package L#30 (P#7680)
           Core L#60 (P#0)
             PU L#60 (P#60)
           Core L#61 (P#1)
             PU L#61 (P#61)
-        Socket L#31 (P#7683)
+        Package L#31 (P#7683)
           Core L#62 (P#0)
             PU L#62 (P#62)
           Core L#63 (P#1)
@@ -183,180 +183,180 @@ Machine (P#0 total=516912176KB Backend=Linux)
   Group1 L#1 (total=129236960KB)
     Group0 L#4 (total=32309248KB)
       NUMANode L#16 (P#16 local=8077312KB total=8077312KB)
-        Socket L#32 (P#8192)
+        Package L#32 (P#8192)
           Core L#64 (P#0)
             PU L#64 (P#64)
           Core L#65 (P#1)
             PU L#65 (P#65)
-        Socket L#33 (P#8195)
+        Package L#33 (P#8195)
           Core L#66 (P#0)
             PU L#66 (P#66)
           Core L#67 (P#1)
             PU L#67 (P#67)
       NUMANode L#17 (P#17 local=8077312KB total=8077312KB)
-        Socket L#34 (P#8704)
+        Package L#34 (P#8704)
           Core L#68 (P#0)
             PU L#68 (P#68)
           Core L#69 (P#1)
             PU L#69 (P#69)
-        Socket L#35 (P#8707)
+        Package L#35 (P#8707)
           Core L#70 (P#0)
             PU L#70 (P#70)
           Core L#71 (P#1)
             PU L#71 (P#71)
       NUMANode L#18 (P#18 local=8077312KB total=8077312KB)
-        Socket L#36 (P#9216)
+        Package L#36 (P#9216)
           Core L#72 (P#0)
             PU L#72 (P#72)
           Core L#73 (P#1)
             PU L#73 (P#73)
-        Socket L#37 (P#9219)
+        Package L#37 (P#9219)
           Core L#74 (P#0)
             PU L#74 (P#74)
           Core L#75 (P#1)
             PU L#75 (P#75)
       NUMANode L#19 (P#19 local=8077312KB total=8077312KB)
-        Socket L#38 (P#9728)
+        Package L#38 (P#9728)
           Core L#76 (P#0)
             PU L#76 (P#76)
           Core L#77 (P#1)
             PU L#77 (P#77)
-        Socket L#39 (P#9731)
+        Package L#39 (P#9731)
           Core L#78 (P#0)
             PU L#78 (P#78)
           Core L#79 (P#1)
             PU L#79 (P#79)
     Group0 L#5 (total=32309232KB)
       NUMANode L#20 (P#20 local=8077312KB total=8077312KB)
-        Socket L#40 (P#10240)
+        Package L#40 (P#10240)
           Core L#80 (P#0)
             PU L#80 (P#80)
           Core L#81 (P#1)
             PU L#81 (P#81)
-        Socket L#41 (P#10243)
+        Package L#41 (P#10243)
           Core L#82 (P#0)
             PU L#82 (P#82)
           Core L#83 (P#1)
             PU L#83 (P#83)
       NUMANode L#21 (P#21 local=8077312KB total=8077312KB)
-        Socket L#42 (P#10752)
+        Package L#42 (P#10752)
           Core L#84 (P#0)
             PU L#84 (P#84)
           Core L#85 (P#1)
             PU L#85 (P#85)
-        Socket L#43 (P#10755)
+        Package L#43 (P#10755)
           Core L#86 (P#0)
             PU L#86 (P#86)
           Core L#87 (P#1)
             PU L#87 (P#87)
       NUMANode L#22 (P#22 local=8077296KB total=8077296KB)
-        Socket L#44 (P#11264)
+        Package L#44 (P#11264)
           Core L#88 (P#0)
             PU L#88 (P#88)
           Core L#89 (P#1)
             PU L#89 (P#89)
-        Socket L#45 (P#11267)
+        Package L#45 (P#11267)
           Core L#90 (P#0)
             PU L#90 (P#90)
           Core L#91 (P#1)
             PU L#91 (P#91)
       NUMANode L#23 (P#23 local=8077312KB total=8077312KB)
-        Socket L#46 (P#11776)
+        Package L#46 (P#11776)
           Core L#92 (P#0)
             PU L#92 (P#92)
           Core L#93 (P#1)
             PU L#93 (P#93)
-        Socket L#47 (P#11779)
+        Package L#47 (P#11779)
           Core L#94 (P#0)
             PU L#94 (P#94)
           Core L#95 (P#1)
             PU L#95 (P#95)
     Group0 L#6 (total=32309248KB)
       NUMANode L#24 (P#24 local=8077312KB total=8077312KB)
-        Socket L#48 (P#12288)
+        Package L#48 (P#12288)
           Core L#96 (P#0)
             PU L#96 (P#96)
           Core L#97 (P#1)
             PU L#97 (P#97)
-        Socket L#49 (P#12291)
+        Package L#49 (P#12291)
           Core L#98 (P#0)
             PU L#98 (P#98)
           Core L#99 (P#1)
             PU L#99 (P#99)
       NUMANode L#25 (P#25 local=8077312KB total=8077312KB)
-        Socket L#50 (P#12800)
+        Package L#50 (P#12800)
           Core L#100 (P#0)
             PU L#100 (P#100)
           Core L#101 (P#1)
             PU L#101 (P#101)
-        Socket L#51 (P#12803)
+        Package L#51 (P#12803)
           Core L#102 (P#0)
             PU L#102 (P#102)
           Core L#103 (P#1)
             PU L#103 (P#103)
       NUMANode L#26 (P#26 local=8077312KB total=8077312KB)
-        Socket L#52 (P#13312)
+        Package L#52 (P#13312)
           Core L#104 (P#0)
             PU L#104 (P#104)
           Core L#105 (P#1)
             PU L#105 (P#105)
-        Socket L#53 (P#13315)
+        Package L#53 (P#13315)
           Core L#106 (P#0)
             PU L#106 (P#106)
           Core L#107 (P#1)
             PU L#107 (P#107)
       NUMANode L#27 (P#27 local=8077312KB total=8077312KB)
-        Socket L#54 (P#13824)
+        Package L#54 (P#13824)
           Core L#108 (P#0)
             PU L#108 (P#108)
           Core L#109 (P#1)
             PU L#109 (P#109)
-        Socket L#55 (P#13827)
+        Package L#55 (P#13827)
           Core L#110 (P#0)
             PU L#110 (P#110)
           Core L#111 (P#1)
             PU L#111 (P#111)
     Group0 L#7 (total=32309232KB)
       NUMANode L#28 (P#28 local=8077312KB total=8077312KB)
-        Socket L#56 (P#14336)
+        Package L#56 (P#14336)
           Core L#112 (P#0)
             PU L#112 (P#112)
           Core L#113 (P#1)
             PU L#113 (P#113)
-        Socket L#57 (P#14339)
+        Package L#57 (P#14339)
           Core L#114 (P#0)
             PU L#114 (P#114)
           Core L#115 (P#1)
             PU L#115 (P#115)
       NUMANode L#29 (P#29 local=8077296KB total=8077296KB)
-        Socket L#58 (P#14848)
+        Package L#58 (P#14848)
           Core L#116 (P#0)
             PU L#116 (P#116)
           Core L#117 (P#1)
             PU L#117 (P#117)
-        Socket L#59 (P#14851)
+        Package L#59 (P#14851)
           Core L#118 (P#0)
             PU L#118 (P#118)
           Core L#119 (P#1)
             PU L#119 (P#119)
       NUMANode L#30 (P#30 local=8077312KB total=8077312KB)
-        Socket L#60 (P#15360)
+        Package L#60 (P#15360)
           Core L#120 (P#0)
             PU L#120 (P#120)
           Core L#121 (P#1)
             PU L#121 (P#121)
-        Socket L#61 (P#15363)
+        Package L#61 (P#15363)
           Core L#122 (P#0)
             PU L#122 (P#122)
           Core L#123 (P#1)
             PU L#123 (P#123)
       NUMANode L#31 (P#31 local=8077312KB total=8077312KB)
-        Socket L#62 (P#15872)
+        Package L#62 (P#15872)
           Core L#124 (P#0)
             PU L#124 (P#124)
           Core L#125 (P#1)
             PU L#125 (P#125)
-        Socket L#63 (P#15875)
+        Package L#63 (P#15875)
           Core L#126 (P#0)
             PU L#126 (P#126)
           Core L#127 (P#1)
@@ -364,180 +364,180 @@ Machine (P#0 total=516912176KB Backend=Linux)
   Group1 L#2 (total=129236960KB)
     Group0 L#8 (total=32309248KB)
       NUMANode L#32 (P#32 local=8077312KB total=8077312KB)
-        Socket L#64 (P#16384)
+        Package L#64 (P#16384)
           Core L#128 (P#0)
             PU L#128 (P#128)
           Core L#129 (P#1)
             PU L#129 (P#129)
-        Socket L#65 (P#16387)
+        Package L#65 (P#16387)
           Core L#130 (P#0)
             PU L#130 (P#130)
           Core L#131 (P#1)
             PU L#131 (P#131)
       NUMANode L#33 (P#33 local=8077312KB total=8077312KB)
-        Socket L#66 (P#16896)
+        Package L#66 (P#16896)
           Core L#132 (P#0)
             PU L#132 (P#132)
           Core L#133 (P#1)
             PU L#133 (P#133)
-        Socket L#67 (P#16899)
+        Package L#67 (P#16899)
           Core L#134 (P#0)
             PU L#134 (P#134)
           Core L#135 (P#1)
             PU L#135 (P#135)
       NUMANode L#34 (P#34 local=8077312KB total=8077312KB)
-        Socket L#68 (P#17408)
+        Package L#68 (P#17408)
           Core L#136 (P#0)
             PU L#136 (P#136)
           Core L#137 (P#1)
             PU L#137 (P#137)
-        Socket L#69 (P#17411)
+        Package L#69 (P#17411)
           Core L#138 (P#0)
             PU L#138 (P#138)
           Core L#139 (P#1)
             PU L#139 (P#139)
       NUMANode L#35 (P#35 local=8077312KB total=8077312KB)
-        Socket L#70 (P#17920)
+        Package L#70 (P#17920)
           Core L#140 (P#0)
             PU L#140 (P#140)
           Core L#141 (P#1)
             PU L#141 (P#141)
-        Socket L#71 (P#17923)
+        Package L#71 (P#17923)
           Core L#142 (P#0)
             PU L#142 (P#142)
           Core L#143 (P#1)
             PU L#143 (P#143)
     Group0 L#9 (total=32309232KB)
       NUMANode L#36 (P#36 local=8077312KB total=8077312KB)
-        Socket L#72 (P#18432)
+        Package L#72 (P#18432)
           Core L#144 (P#0)
             PU L#144 (P#144)
           Core L#145 (P#1)
             PU L#145 (P#145)
-        Socket L#73 (P#18435)
+        Package L#73 (P#18435)
           Core L#146 (P#0)
             PU L#146 (P#146)
           Core L#147 (P#1)
             PU L#147 (P#147)
       NUMANode L#37 (P#37 local=8077296KB total=8077296KB)
-        Socket L#74 (P#18944)
+        Package L#74 (P#18944)
           Core L#148 (P#0)
             PU L#148 (P#148)
           Core L#149 (P#1)
             PU L#149 (P#149)
-        Socket L#75 (P#18947)
+        Package L#75 (P#18947)
           Core L#150 (P#0)
             PU L#150 (P#150)
           Core L#151 (P#1)
             PU L#151 (P#151)
       NUMANode L#38 (P#38 local=8077312KB total=8077312KB)
-        Socket L#76 (P#19456)
+        Package L#76 (P#19456)
           Core L#152 (P#0)
             PU L#152 (P#152)
           Core L#153 (P#1)
             PU L#153 (P#153)
-        Socket L#77 (P#19459)
+        Package L#77 (P#19459)
           Core L#154 (P#0)
             PU L#154 (P#154)
           Core L#155 (P#1)
             PU L#155 (P#155)
       NUMANode L#39 (P#39 local=8077312KB total=8077312KB)
-        Socket L#78 (P#19968)
+        Package L#78 (P#19968)
           Core L#156 (P#0)
             PU L#156 (P#156)
           Core L#157 (P#1)
             PU L#157 (P#157)
-        Socket L#79 (P#19971)
+        Package L#79 (P#19971)
           Core L#158 (P#0)
             PU L#158 (P#158)
           Core L#159 (P#1)
             PU L#159 (P#159)
     Group0 L#10 (total=32309248KB)
       NUMANode L#40 (P#40 local=8077312KB total=8077312KB)
-        Socket L#80 (P#20480)
+        Package L#80 (P#20480)
           Core L#160 (P#0)
             PU L#160 (P#160)
           Core L#161 (P#1)
             PU L#161 (P#161)
-        Socket L#81 (P#20483)
+        Package L#81 (P#20483)
           Core L#162 (P#0)
             PU L#162 (P#162)
           Core L#163 (P#1)
             PU L#163 (P#163)
       NUMANode L#41 (P#41 local=8077312KB total=8077312KB)
-        Socket L#82 (P#20992)
+        Package L#82 (P#20992)
           Core L#164 (P#0)
             PU L#164 (P#164)
           Core L#165 (P#1)
             PU L#165 (P#165)
-        Socket L#83 (P#20995)
+        Package L#83 (P#20995)
           Core L#166 (P#0)
             PU L#166 (P#166)
           Core L#167 (P#1)
             PU L#167 (P#167)
       NUMANode L#42 (P#42 local=8077312KB total=8077312KB)
-        Socket L#84 (P#21504)
+        Package L#84 (P#21504)
           Core L#168 (P#0)
             PU L#168 (P#168)
           Core L#169 (P#1)
             PU L#169 (P#169)
-        Socket L#85 (P#21507)
+        Package L#85 (P#21507)
           Core L#170 (P#0)
             PU L#170 (P#170)
           Core L#171 (P#1)
             PU L#171 (P#171)
       NUMANode L#43 (P#43 local=8077312KB total=8077312KB)
-        Socket L#86 (P#22016)
+        Package L#86 (P#22016)
           Core L#172 (P#0)
             PU L#172 (P#172)
           Core L#173 (P#1)
             PU L#173 (P#173)
-        Socket L#87 (P#22019)
+        Package L#87 (P#22019)
           Core L#174 (P#0)
             PU L#174 (P#174)
           Core L#175 (P#1)
             PU L#175 (P#175)
     Group0 L#11 (total=32309232KB)
       NUMANode L#44 (P#44 local=8077312KB total=8077312KB)
-        Socket L#88 (P#22528)
+        Package L#88 (P#22528)
           Core L#176 (P#0)
             PU L#176 (P#176)
           Core L#177 (P#1)
             PU L#177 (P#177)
-        Socket L#89 (P#22531)
+        Package L#89 (P#22531)
           Core L#178 (P#0)
             PU L#178 (P#178)
           Core L#179 (P#1)
             PU L#179 (P#179)
       NUMANode L#45 (P#45 local=8077296KB total=8077296KB)
-        Socket L#90 (P#23040)
+        Package L#90 (P#23040)
           Core L#180 (P#0)
             PU L#180 (P#180)
           Core L#181 (P#1)
             PU L#181 (P#181)
-        Socket L#91 (P#23043)
+        Package L#91 (P#23043)
           Core L#182 (P#0)
             PU L#182 (P#182)
           Core L#183 (P#1)
             PU L#183 (P#183)
       NUMANode L#46 (P#46 local=8077312KB total=8077312KB)
-        Socket L#92 (P#23552)
+        Package L#92 (P#23552)
           Core L#184 (P#0)
             PU L#184 (P#184)
           Core L#185 (P#1)
             PU L#185 (P#185)
-        Socket L#93 (P#23555)
+        Package L#93 (P#23555)
           Core L#186 (P#0)
             PU L#186 (P#186)
           Core L#187 (P#1)
             PU L#187 (P#187)
       NUMANode L#47 (P#47 local=8077312KB total=8077312KB)
-        Socket L#94 (P#24064)
+        Package L#94 (P#24064)
           Core L#188 (P#0)
             PU L#188 (P#188)
           Core L#189 (P#1)
             PU L#189 (P#189)
-        Socket L#95 (P#24067)
+        Package L#95 (P#24067)
           Core L#190 (P#0)
             PU L#190 (P#190)
           Core L#191 (P#1)
@@ -545,180 +545,180 @@ Machine (P#0 total=516912176KB Backend=Linux)
   Group1 L#3 (total=129214208KB)
     Group0 L#12 (total=32309248KB)
       NUMANode L#48 (P#48 local=8077312KB total=8077312KB)
-        Socket L#96 (P#24576)
+        Package L#96 (P#24576)
           Core L#192 (P#0)
             PU L#192 (P#192)
           Core L#193 (P#1)
             PU L#193 (P#193)
-        Socket L#97 (P#24579)
+        Package L#97 (P#24579)
           Core L#194 (P#0)
             PU L#194 (P#194)
           Core L#195 (P#1)
             PU L#195 (P#195)
       NUMANode L#49 (P#49 local=8077312KB total=8077312KB)
-        Socket L#98 (P#25088)
+        Package L#98 (P#25088)
           Core L#196 (P#0)
             PU L#196 (P#196)
           Core L#197 (P#1)
             PU L#197 (P#197)
-        Socket L#99 (P#25091)
+        Package L#99 (P#25091)
           Core L#198 (P#0)
             PU L#198 (P#198)
           Core L#199 (P#1)
             PU L#199 (P#199)
       NUMANode L#50 (P#50 local=8077312KB total=8077312KB)
-        Socket L#100 (P#25600)
+        Package L#100 (P#25600)
           Core L#200 (P#0)
             PU L#200 (P#200)
           Core L#201 (P#1)
             PU L#201 (P#201)
-        Socket L#101 (P#25603)
+        Package L#101 (P#25603)
           Core L#202 (P#0)
             PU L#202 (P#202)
           Core L#203 (P#1)
             PU L#203 (P#203)
       NUMANode L#51 (P#51 local=8077312KB total=8077312KB)
-        Socket L#102 (P#26112)
+        Package L#102 (P#26112)
           Core L#204 (P#0)
             PU L#204 (P#204)
           Core L#205 (P#1)
             PU L#205 (P#205)
-        Socket L#103 (P#26115)
+        Package L#103 (P#26115)
           Core L#206 (P#0)
             PU L#206 (P#206)
           Core L#207 (P#1)
             PU L#207 (P#207)
     Group0 L#13 (total=32309232KB)
       NUMANode L#52 (P#52 local=8077312KB total=8077312KB)
-        Socket L#104 (P#26624)
+        Package L#104 (P#26624)
           Core L#208 (P#0)
             PU L#208 (P#208)
           Core L#209 (P#1)
             PU L#209 (P#209)
-        Socket L#105 (P#26627)
+        Package L#105 (P#26627)
           Core L#210 (P#0)
             PU L#210 (P#210)
           Core L#211 (P#1)
             PU L#211 (P#211)
       NUMANode L#53 (P#53 local=8077296KB total=8077296KB)
-        Socket L#106 (P#27136)
+        Package L#106 (P#27136)
           Core L#212 (P#0)
             PU L#212 (P#212)
           Core L#213 (P#1)
             PU L#213 (P#213)
-        Socket L#107 (P#27139)
+        Package L#107 (P#27139)
           Core L#214 (P#0)
             PU L#214 (P#214)
           Core L#215 (P#1)
             PU L#215 (P#215)
       NUMANode L#54 (P#54 local=8077312KB total=8077312KB)
-        Socket L#108 (P#27648)
+        Package L#108 (P#27648)
           Core L#216 (P#0)
             PU L#216 (P#216)
           Core L#217 (P#1)
             PU L#217 (P#217)
-        Socket L#109 (P#27651)
+        Package L#109 (P#27651)
           Core L#218 (P#0)
             PU L#218 (P#218)
           Core L#219 (P#1)
             PU L#219 (P#219)
       NUMANode L#55 (P#55 local=8077312KB total=8077312KB)
-        Socket L#110 (P#28160)
+        Package L#110 (P#28160)
           Core L#220 (P#0)
             PU L#220 (P#220)
           Core L#221 (P#1)
             PU L#221 (P#221)
-        Socket L#111 (P#28163)
+        Package L#111 (P#28163)
           Core L#222 (P#0)
             PU L#222 (P#222)
           Core L#223 (P#1)
             PU L#223 (P#223)
     Group0 L#14 (total=32309248KB)
       NUMANode L#56 (P#56 local=8077312KB total=8077312KB)
-        Socket L#112 (P#28672)
+        Package L#112 (P#28672)
           Core L#224 (P#0)
             PU L#224 (P#224)
           Core L#225 (P#1)
             PU L#225 (P#225)
-        Socket L#113 (P#28675)
+        Package L#113 (P#28675)
           Core L#226 (P#0)
             PU L#226 (P#226)
           Core L#227 (P#1)
             PU L#227 (P#227)
       NUMANode L#57 (P#57 local=8077312KB total=8077312KB)
-        Socket L#114 (P#29184)
+        Package L#114 (P#29184)
           Core L#228 (P#0)
             PU L#228 (P#228)
           Core L#229 (P#1)
             PU L#229 (P#229)
-        Socket L#115 (P#29187)
+        Package L#115 (P#29187)
           Core L#230 (P#0)
             PU L#230 (P#230)
           Core L#231 (P#1)
             PU L#231 (P#231)
       NUMANode L#58 (P#58 local=8077312KB total=8077312KB)
-        Socket L#116 (P#29696)
+        Package L#116 (P#29696)
           Core L#232 (P#0)
             PU L#232 (P#232)
           Core L#233 (P#1)
             PU L#233 (P#233)
-        Socket L#117 (P#29699)
+        Package L#117 (P#29699)
           Core L#234 (P#0)
             PU L#234 (P#234)
           Core L#235 (P#1)
             PU L#235 (P#235)
       NUMANode L#59 (P#59 local=8077312KB total=8077312KB)
-        Socket L#118 (P#30208)
+        Package L#118 (P#30208)
           Core L#236 (P#0)
             PU L#236 (P#236)
           Core L#237 (P#1)
             PU L#237 (P#237)
-        Socket L#119 (P#30211)
+        Package L#119 (P#30211)
           Core L#238 (P#0)
             PU L#238 (P#238)
           Core L#239 (P#1)
             PU L#239 (P#239)
     Group0 L#15 (total=32286480KB)
       NUMANode L#60 (P#60 local=8077312KB total=8077312KB)
-        Socket L#120 (P#30720)
+        Package L#120 (P#30720)
           Core L#240 (P#0)
             PU L#240 (P#240)
           Core L#241 (P#1)
             PU L#241 (P#241)
-        Socket L#121 (P#30723)
+        Package L#121 (P#30723)
           Core L#242 (P#0)
             PU L#242 (P#242)
           Core L#243 (P#1)
             PU L#243 (P#243)
       NUMANode L#61 (P#61 local=8077296KB total=8077296KB)
-        Socket L#122 (P#31232)
+        Package L#122 (P#31232)
           Core L#244 (P#0)
             PU L#244 (P#244)
           Core L#245 (P#1)
             PU L#245 (P#245)
-        Socket L#123 (P#31235)
+        Package L#123 (P#31235)
           Core L#246 (P#0)
             PU L#246 (P#246)
           Core L#247 (P#1)
             PU L#247 (P#247)
       NUMANode L#62 (P#62 local=8077312KB total=8077312KB)
-        Socket L#124 (P#31744)
+        Package L#124 (P#31744)
           Core L#248 (P#0)
             PU L#248 (P#248)
           Core L#249 (P#1)
             PU L#249 (P#249)
-        Socket L#125 (P#31747)
+        Package L#125 (P#31747)
           Core L#250 (P#0)
             PU L#250 (P#250)
           Core L#251 (P#1)
             PU L#251 (P#251)
       NUMANode L#63 (P#63 local=8054560KB total=8054560KB)
-        Socket L#126 (P#32256)
+        Package L#126 (P#32256)
           Core L#252 (P#0)
             PU L#252 (P#252)
           Core L#253 (P#1)
             PU L#253 (P#253)
-        Socket L#127 (P#32259)
+        Package L#127 (P#32259)
           Core L#254 (P#0)
             PU L#254 (P#254)
           Core L#255 (P#1)
@@ -727,10 +727,10 @@ depth 0:	1 Machine (type #1)
  depth 1:	4 Group1 (type #7)
   depth 2:	16 Group0 (type #7)
    depth 3:	64 NUMANode (type #2)
-    depth 4:	128 Socket (type #3)
+    depth 4:	128 Package (type #3)
      depth 5:	256 Core (type #5)
       depth 6:	256 PU (type #6)
-latency matrix between NUMANodes (depth 3) by logical indexes:
+relative latency matrix between NUMANodes (depth 3) by logical indexes:
   index     0     1     2     3     4     5     6     7     8     9    10    11    12    13    14    15    16    17    18    19    20    21    22    23    24    25    26    27    28    29    30    31    32    33    34    35    36    37    38    39    40    41    42    43    44    45    46    47    48    49    50    51    52    53    54    55    56    57    58    59    60    61    62    63
       0 1.000 2.200 2.200 2.200 2.600 2.600 2.600 2.600 2.600 2.600 2.600 2.600 3.000 3.000 3.000 3.000 3.000 3.000 3.000 3.000 3.400 3.400 3.400 3.400 3.000 3.000 3.000 3.000 3.400 3.400 3.400 3.400 3.000 3.000 3.000 3.000 3.400 3.400 3.400 3.400 3.000 3.000 3.000 3.000 3.400 3.400 3.400 3.400 3.000 3.000 3.000 3.000 3.400 3.400 3.400 3.400 3.000 3.000 3.000 3.000 3.400 3.400 3.400 3.400
       1 2.200 1.000 2.200 2.200 2.600 2.600 2.600 2.600 2.600 2.600 2.600 2.600 3.000 3.000 3.000 3.000 3.000 3.000 3.000 3.000 3.400 3.400 3.400 3.400 3.000 3.000 3.000 3.000 3.400 3.400 3.400 3.400 3.000 3.000 3.000 3.000 3.400 3.400 3.400 3.400 3.000 3.000 3.000 3.000 3.400 3.400 3.400 3.400 3.000 3.000 3.000 3.000 3.400 3.400 3.400 3.400 3.000 3.000 3.000 3.000 3.400 3.400 3.400 3.400
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/256ppc-8n8s4t-nocache.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/256ppc-8n8s4t-nocache.output
index c0ae841..6b66584 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/256ppc-8n8s4t-nocache.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/256ppc-8n8s4t-nocache.output
@@ -1,7 +1,7 @@
 Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179-MHB" Backend=Linux Architecture=ppc)
   Group0 L#0 (total=124780544KB)
     NUMANode L#0 (P#0 local=58458112KB total=58458112KB)
-      Socket L#0 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#0 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#0 (size=4096KB linesize=128)
           L2Cache L#0 (size=256KB linesize=128 ways=8)
             L1dCache L#0 (size=32KB linesize=128 ways=8)
@@ -11,7 +11,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#1 (P#1)
                   PU L#2 (P#2)
                   PU L#3 (P#3)
-      Socket L#1 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#1 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#1 (size=4096KB linesize=128)
           L2Cache L#1 (size=256KB linesize=128 ways=8)
             L1dCache L#1 (size=32KB linesize=128 ways=8)
@@ -21,7 +21,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#5 (P#5)
                   PU L#6 (P#6)
                   PU L#7 (P#7)
-      Socket L#2 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#2 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#2 (size=4096KB linesize=128)
           L2Cache L#2 (size=256KB linesize=128 ways=8)
             L1dCache L#2 (size=32KB linesize=128 ways=8)
@@ -31,7 +31,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#9 (P#9)
                   PU L#10 (P#10)
                   PU L#11 (P#11)
-      Socket L#3 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#3 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#3 (size=4096KB linesize=128)
           L2Cache L#3 (size=256KB linesize=128 ways=8)
             L1dCache L#3 (size=32KB linesize=128 ways=8)
@@ -41,7 +41,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#13 (P#13)
                   PU L#14 (P#14)
                   PU L#15 (P#15)
-      Socket L#4 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#4 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#4 (size=4096KB linesize=128)
           L2Cache L#4 (size=256KB linesize=128 ways=8)
             L1dCache L#4 (size=32KB linesize=128 ways=8)
@@ -51,7 +51,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#17 (P#17)
                   PU L#18 (P#18)
                   PU L#19 (P#19)
-      Socket L#5 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#5 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#5 (size=4096KB linesize=128)
           L2Cache L#5 (size=256KB linesize=128 ways=8)
             L1dCache L#5 (size=32KB linesize=128 ways=8)
@@ -61,7 +61,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#21 (P#21)
                   PU L#22 (P#22)
                   PU L#23 (P#23)
-      Socket L#6 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#6 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#6 (size=4096KB linesize=128)
           L2Cache L#6 (size=256KB linesize=128 ways=8)
             L1dCache L#6 (size=32KB linesize=128 ways=8)
@@ -71,7 +71,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#25 (P#25)
                   PU L#26 (P#26)
                   PU L#27 (P#27)
-      Socket L#7 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#7 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#7 (size=4096KB linesize=128)
           L2Cache L#7 (size=256KB linesize=128 ways=8)
             L1dCache L#7 (size=32KB linesize=128 ways=8)
@@ -82,7 +82,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#30 (P#30)
                   PU L#31 (P#31)
     NUMANode L#1 (P#1 local=66322432KB total=66322432KB)
-      Socket L#8 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#8 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#8 (size=4096KB linesize=128)
           L2Cache L#8 (size=256KB linesize=128 ways=8)
             L1dCache L#8 (size=32KB linesize=128 ways=8)
@@ -92,7 +92,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#33 (P#33)
                   PU L#34 (P#34)
                   PU L#35 (P#35)
-      Socket L#9 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#9 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#9 (size=4096KB linesize=128)
           L2Cache L#9 (size=256KB linesize=128 ways=8)
             L1dCache L#9 (size=32KB linesize=128 ways=8)
@@ -102,7 +102,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#37 (P#37)
                   PU L#38 (P#38)
                   PU L#39 (P#39)
-      Socket L#10 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#10 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#10 (size=4096KB linesize=128)
           L2Cache L#10 (size=256KB linesize=128 ways=8)
             L1dCache L#10 (size=32KB linesize=128 ways=8)
@@ -112,7 +112,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#41 (P#41)
                   PU L#42 (P#42)
                   PU L#43 (P#43)
-      Socket L#11 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#11 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#11 (size=4096KB linesize=128)
           L2Cache L#11 (size=256KB linesize=128 ways=8)
             L1dCache L#11 (size=32KB linesize=128 ways=8)
@@ -122,7 +122,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#45 (P#45)
                   PU L#46 (P#46)
                   PU L#47 (P#47)
-      Socket L#12 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#12 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#12 (size=4096KB linesize=128)
           L2Cache L#12 (size=256KB linesize=128 ways=8)
             L1dCache L#12 (size=32KB linesize=128 ways=8)
@@ -132,7 +132,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#49 (P#49)
                   PU L#50 (P#50)
                   PU L#51 (P#51)
-      Socket L#13 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#13 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#13 (size=4096KB linesize=128)
           L2Cache L#13 (size=256KB linesize=128 ways=8)
             L1dCache L#13 (size=32KB linesize=128 ways=8)
@@ -142,7 +142,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#53 (P#53)
                   PU L#54 (P#54)
                   PU L#55 (P#55)
-      Socket L#14 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#14 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#14 (size=4096KB linesize=128)
           L2Cache L#14 (size=256KB linesize=128 ways=8)
             L1dCache L#14 (size=32KB linesize=128 ways=8)
@@ -152,7 +152,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#57 (P#57)
                   PU L#58 (P#58)
                   PU L#59 (P#59)
-      Socket L#15 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#15 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#15 (size=4096KB linesize=128)
           L2Cache L#15 (size=256KB linesize=128 ways=8)
             L1dCache L#15 (size=32KB linesize=128 ways=8)
@@ -164,7 +164,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#63 (P#63)
   Group0 L#1 (total=133955584KB)
     NUMANode L#2 (P#4 local=66846720KB total=66846720KB)
-      Socket L#16 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#16 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#16 (size=4096KB linesize=128)
           L2Cache L#16 (size=256KB linesize=128 ways=8)
             L1dCache L#16 (size=32KB linesize=128 ways=8)
@@ -174,7 +174,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#65 (P#65)
                   PU L#66 (P#66)
                   PU L#67 (P#67)
-      Socket L#17 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#17 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#17 (size=4096KB linesize=128)
           L2Cache L#17 (size=256KB linesize=128 ways=8)
             L1dCache L#17 (size=32KB linesize=128 ways=8)
@@ -184,7 +184,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#69 (P#69)
                   PU L#70 (P#70)
                   PU L#71 (P#71)
-      Socket L#18 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#18 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#18 (size=4096KB linesize=128)
           L2Cache L#18 (size=256KB linesize=128 ways=8)
             L1dCache L#18 (size=32KB linesize=128 ways=8)
@@ -194,7 +194,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#73 (P#73)
                   PU L#74 (P#74)
                   PU L#75 (P#75)
-      Socket L#19 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#19 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#19 (size=4096KB linesize=128)
           L2Cache L#19 (size=256KB linesize=128 ways=8)
             L1dCache L#19 (size=32KB linesize=128 ways=8)
@@ -204,7 +204,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#77 (P#77)
                   PU L#78 (P#78)
                   PU L#79 (P#79)
-      Socket L#20 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#20 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#20 (size=4096KB linesize=128)
           L2Cache L#20 (size=256KB linesize=128 ways=8)
             L1dCache L#20 (size=32KB linesize=128 ways=8)
@@ -214,7 +214,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#81 (P#81)
                   PU L#82 (P#82)
                   PU L#83 (P#83)
-      Socket L#21 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#21 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#21 (size=4096KB linesize=128)
           L2Cache L#21 (size=256KB linesize=128 ways=8)
             L1dCache L#21 (size=32KB linesize=128 ways=8)
@@ -224,7 +224,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#85 (P#85)
                   PU L#86 (P#86)
                   PU L#87 (P#87)
-      Socket L#22 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#22 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#22 (size=4096KB linesize=128)
           L2Cache L#22 (size=256KB linesize=128 ways=8)
             L1dCache L#22 (size=32KB linesize=128 ways=8)
@@ -234,7 +234,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#89 (P#89)
                   PU L#90 (P#90)
                   PU L#91 (P#91)
-      Socket L#23 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#23 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#23 (size=4096KB linesize=128)
           L2Cache L#23 (size=256KB linesize=128 ways=8)
             L1dCache L#23 (size=32KB linesize=128 ways=8)
@@ -245,7 +245,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#94 (P#94)
                   PU L#95 (P#95)
     NUMANode L#3 (P#5 local=67108864KB total=67108864KB)
-      Socket L#24 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#24 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#24 (size=4096KB linesize=128)
           L2Cache L#24 (size=256KB linesize=128 ways=8)
             L1dCache L#24 (size=32KB linesize=128 ways=8)
@@ -255,7 +255,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#97 (P#97)
                   PU L#98 (P#98)
                   PU L#99 (P#99)
-      Socket L#25 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#25 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#25 (size=4096KB linesize=128)
           L2Cache L#25 (size=256KB linesize=128 ways=8)
             L1dCache L#25 (size=32KB linesize=128 ways=8)
@@ -265,7 +265,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#101 (P#101)
                   PU L#102 (P#102)
                   PU L#103 (P#103)
-      Socket L#26 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#26 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#26 (size=4096KB linesize=128)
           L2Cache L#26 (size=256KB linesize=128 ways=8)
             L1dCache L#26 (size=32KB linesize=128 ways=8)
@@ -275,7 +275,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#105 (P#105)
                   PU L#106 (P#106)
                   PU L#107 (P#107)
-      Socket L#27 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#27 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#27 (size=4096KB linesize=128)
           L2Cache L#27 (size=256KB linesize=128 ways=8)
             L1dCache L#27 (size=32KB linesize=128 ways=8)
@@ -285,7 +285,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#109 (P#109)
                   PU L#110 (P#110)
                   PU L#111 (P#111)
-      Socket L#28 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#28 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#28 (size=4096KB linesize=128)
           L2Cache L#28 (size=256KB linesize=128 ways=8)
             L1dCache L#28 (size=32KB linesize=128 ways=8)
@@ -295,7 +295,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#113 (P#113)
                   PU L#114 (P#114)
                   PU L#115 (P#115)
-      Socket L#29 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#29 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#29 (size=4096KB linesize=128)
           L2Cache L#29 (size=256KB linesize=128 ways=8)
             L1dCache L#29 (size=32KB linesize=128 ways=8)
@@ -305,7 +305,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#117 (P#117)
                   PU L#118 (P#118)
                   PU L#119 (P#119)
-      Socket L#30 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#30 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#30 (size=4096KB linesize=128)
           L2Cache L#30 (size=256KB linesize=128 ways=8)
             L1dCache L#30 (size=32KB linesize=128 ways=8)
@@ -315,7 +315,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#121 (P#121)
                   PU L#122 (P#122)
                   PU L#123 (P#123)
-      Socket L#31 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#31 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#31 (size=4096KB linesize=128)
           L2Cache L#31 (size=256KB linesize=128 ways=8)
             L1dCache L#31 (size=32KB linesize=128 ways=8)
@@ -327,7 +327,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#127 (P#127)
   Group0 L#2 (total=133955584KB)
     NUMANode L#4 (P#8 local=66846720KB total=66846720KB)
-      Socket L#32 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#32 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#32 (size=4096KB linesize=128)
           L2Cache L#32 (size=256KB linesize=128 ways=8)
             L1dCache L#32 (size=32KB linesize=128 ways=8)
@@ -337,7 +337,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#129 (P#129)
                   PU L#130 (P#130)
                   PU L#131 (P#131)
-      Socket L#33 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#33 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#33 (size=4096KB linesize=128)
           L2Cache L#33 (size=256KB linesize=128 ways=8)
             L1dCache L#33 (size=32KB linesize=128 ways=8)
@@ -347,7 +347,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#133 (P#133)
                   PU L#134 (P#134)
                   PU L#135 (P#135)
-      Socket L#34 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#34 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#34 (size=4096KB linesize=128)
           L2Cache L#34 (size=256KB linesize=128 ways=8)
             L1dCache L#34 (size=32KB linesize=128 ways=8)
@@ -357,7 +357,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#137 (P#137)
                   PU L#138 (P#138)
                   PU L#139 (P#139)
-      Socket L#35 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#35 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#35 (size=4096KB linesize=128)
           L2Cache L#35 (size=256KB linesize=128 ways=8)
             L1dCache L#35 (size=32KB linesize=128 ways=8)
@@ -367,7 +367,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#141 (P#141)
                   PU L#142 (P#142)
                   PU L#143 (P#143)
-      Socket L#36 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#36 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#36 (size=4096KB linesize=128)
           L2Cache L#36 (size=256KB linesize=128 ways=8)
             L1dCache L#36 (size=32KB linesize=128 ways=8)
@@ -377,7 +377,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#145 (P#145)
                   PU L#146 (P#146)
                   PU L#147 (P#147)
-      Socket L#37 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#37 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#37 (size=4096KB linesize=128)
           L2Cache L#37 (size=256KB linesize=128 ways=8)
             L1dCache L#37 (size=32KB linesize=128 ways=8)
@@ -387,7 +387,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#149 (P#149)
                   PU L#150 (P#150)
                   PU L#151 (P#151)
-      Socket L#38 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#38 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#38 (size=4096KB linesize=128)
           L2Cache L#38 (size=256KB linesize=128 ways=8)
             L1dCache L#38 (size=32KB linesize=128 ways=8)
@@ -397,7 +397,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#153 (P#153)
                   PU L#154 (P#154)
                   PU L#155 (P#155)
-      Socket L#39 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#39 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#39 (size=4096KB linesize=128)
           L2Cache L#39 (size=256KB linesize=128 ways=8)
             L1dCache L#39 (size=32KB linesize=128 ways=8)
@@ -408,7 +408,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#158 (P#158)
                   PU L#159 (P#159)
     NUMANode L#5 (P#9 local=67108864KB total=67108864KB)
-      Socket L#40 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#40 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#40 (size=4096KB linesize=128)
           L2Cache L#40 (size=256KB linesize=128 ways=8)
             L1dCache L#40 (size=32KB linesize=128 ways=8)
@@ -418,7 +418,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#161 (P#161)
                   PU L#162 (P#162)
                   PU L#163 (P#163)
-      Socket L#41 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#41 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#41 (size=4096KB linesize=128)
           L2Cache L#41 (size=256KB linesize=128 ways=8)
             L1dCache L#41 (size=32KB linesize=128 ways=8)
@@ -428,7 +428,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#165 (P#165)
                   PU L#166 (P#166)
                   PU L#167 (P#167)
-      Socket L#42 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#42 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#42 (size=4096KB linesize=128)
           L2Cache L#42 (size=256KB linesize=128 ways=8)
             L1dCache L#42 (size=32KB linesize=128 ways=8)
@@ -438,7 +438,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#169 (P#169)
                   PU L#170 (P#170)
                   PU L#171 (P#171)
-      Socket L#43 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#43 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#43 (size=4096KB linesize=128)
           L2Cache L#43 (size=256KB linesize=128 ways=8)
             L1dCache L#43 (size=32KB linesize=128 ways=8)
@@ -448,7 +448,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#173 (P#173)
                   PU L#174 (P#174)
                   PU L#175 (P#175)
-      Socket L#44 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#44 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#44 (size=4096KB linesize=128)
           L2Cache L#44 (size=256KB linesize=128 ways=8)
             L1dCache L#44 (size=32KB linesize=128 ways=8)
@@ -458,7 +458,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#177 (P#177)
                   PU L#178 (P#178)
                   PU L#179 (P#179)
-      Socket L#45 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#45 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#45 (size=4096KB linesize=128)
           L2Cache L#45 (size=256KB linesize=128 ways=8)
             L1dCache L#45 (size=32KB linesize=128 ways=8)
@@ -468,7 +468,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#181 (P#181)
                   PU L#182 (P#182)
                   PU L#183 (P#183)
-      Socket L#46 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#46 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#46 (size=4096KB linesize=128)
           L2Cache L#46 (size=256KB linesize=128 ways=8)
             L1dCache L#46 (size=32KB linesize=128 ways=8)
@@ -478,7 +478,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#185 (P#185)
                   PU L#186 (P#186)
                   PU L#187 (P#187)
-      Socket L#47 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#47 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#47 (size=4096KB linesize=128)
           L2Cache L#47 (size=256KB linesize=128 ways=8)
             L1dCache L#47 (size=32KB linesize=128 ways=8)
@@ -490,7 +490,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#191 (P#191)
   Group0 L#3 (total=123731968KB)
     NUMANode L#6 (P#12 local=66846720KB total=66846720KB)
-      Socket L#48 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#48 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#48 (size=4096KB linesize=128)
           L2Cache L#48 (size=256KB linesize=128 ways=8)
             L1dCache L#48 (size=32KB linesize=128 ways=8)
@@ -500,7 +500,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#193 (P#193)
                   PU L#194 (P#194)
                   PU L#195 (P#195)
-      Socket L#49 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#49 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#49 (size=4096KB linesize=128)
           L2Cache L#49 (size=256KB linesize=128 ways=8)
             L1dCache L#49 (size=32KB linesize=128 ways=8)
@@ -510,7 +510,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#197 (P#197)
                   PU L#198 (P#198)
                   PU L#199 (P#199)
-      Socket L#50 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#50 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#50 (size=4096KB linesize=128)
           L2Cache L#50 (size=256KB linesize=128 ways=8)
             L1dCache L#50 (size=32KB linesize=128 ways=8)
@@ -520,7 +520,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#201 (P#201)
                   PU L#202 (P#202)
                   PU L#203 (P#203)
-      Socket L#51 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#51 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#51 (size=4096KB linesize=128)
           L2Cache L#51 (size=256KB linesize=128 ways=8)
             L1dCache L#51 (size=32KB linesize=128 ways=8)
@@ -530,7 +530,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#205 (P#205)
                   PU L#206 (P#206)
                   PU L#207 (P#207)
-      Socket L#52 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#52 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#52 (size=4096KB linesize=128)
           L2Cache L#52 (size=256KB linesize=128 ways=8)
             L1dCache L#52 (size=32KB linesize=128 ways=8)
@@ -540,7 +540,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#209 (P#209)
                   PU L#210 (P#210)
                   PU L#211 (P#211)
-      Socket L#53 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#53 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#53 (size=4096KB linesize=128)
           L2Cache L#53 (size=256KB linesize=128 ways=8)
             L1dCache L#53 (size=32KB linesize=128 ways=8)
@@ -550,7 +550,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#213 (P#213)
                   PU L#214 (P#214)
                   PU L#215 (P#215)
-      Socket L#54 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#54 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#54 (size=4096KB linesize=128)
           L2Cache L#54 (size=256KB linesize=128 ways=8)
             L1dCache L#54 (size=32KB linesize=128 ways=8)
@@ -560,7 +560,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#217 (P#217)
                   PU L#218 (P#218)
                   PU L#219 (P#219)
-      Socket L#55 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#55 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#55 (size=4096KB linesize=128)
           L2Cache L#55 (size=256KB linesize=128 ways=8)
             L1dCache L#55 (size=32KB linesize=128 ways=8)
@@ -571,7 +571,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#222 (P#222)
                   PU L#223 (P#223)
     NUMANode L#7 (P#13 local=56885248KB total=56885248KB)
-      Socket L#56 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#56 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#56 (size=4096KB linesize=128)
           L2Cache L#56 (size=256KB linesize=128 ways=8)
             L1dCache L#56 (size=32KB linesize=128 ways=8)
@@ -581,7 +581,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#225 (P#225)
                   PU L#226 (P#226)
                   PU L#227 (P#227)
-      Socket L#57 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#57 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#57 (size=4096KB linesize=128)
           L2Cache L#57 (size=256KB linesize=128 ways=8)
             L1dCache L#57 (size=32KB linesize=128 ways=8)
@@ -591,7 +591,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#229 (P#229)
                   PU L#230 (P#230)
                   PU L#231 (P#231)
-      Socket L#58 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#58 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#58 (size=4096KB linesize=128)
           L2Cache L#58 (size=256KB linesize=128 ways=8)
             L1dCache L#58 (size=32KB linesize=128 ways=8)
@@ -601,7 +601,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#233 (P#233)
                   PU L#234 (P#234)
                   PU L#235 (P#235)
-      Socket L#59 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#59 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#59 (size=4096KB linesize=128)
           L2Cache L#59 (size=256KB linesize=128 ways=8)
             L1dCache L#59 (size=32KB linesize=128 ways=8)
@@ -611,7 +611,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#237 (P#237)
                   PU L#238 (P#238)
                   PU L#239 (P#239)
-      Socket L#60 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#60 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#60 (size=4096KB linesize=128)
           L2Cache L#60 (size=256KB linesize=128 ways=8)
             L1dCache L#60 (size=32KB linesize=128 ways=8)
@@ -621,7 +621,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#241 (P#241)
                   PU L#242 (P#242)
                   PU L#243 (P#243)
-      Socket L#61 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#61 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#61 (size=4096KB linesize=128)
           L2Cache L#61 (size=256KB linesize=128 ways=8)
             L1dCache L#61 (size=32KB linesize=128 ways=8)
@@ -631,7 +631,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#245 (P#245)
                   PU L#246 (P#246)
                   PU L#247 (P#247)
-      Socket L#62 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#62 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#62 (size=4096KB linesize=128)
           L2Cache L#62 (size=256KB linesize=128 ways=8)
             L1dCache L#62 (size=32KB linesize=128 ways=8)
@@ -641,7 +641,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#249 (P#249)
                   PU L#250 (P#250)
                   PU L#251 (P#251)
-      Socket L#63 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#63 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#63 (size=4096KB linesize=128)
           L2Cache L#63 (size=256KB linesize=128 ways=8)
             L1dCache L#63 (size=32KB linesize=128 ways=8)
@@ -654,14 +654,14 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
 depth 0:	1 Machine (type #1)
  depth 1:	4 Group0 (type #7)
   depth 2:	8 NUMANode (type #2)
-   depth 3:	64 Socket (type #3)
+   depth 3:	64 Package (type #3)
     depth 4:	64 L3Cache (type #4)
      depth 5:	64 L2Cache (type #4)
       depth 6:	64 L1dCache (type #4)
        depth 7:	64 L1iCache (type #4)
         depth 8:	64 Core (type #5)
          depth 9:	256 PU (type #6)
-latency matrix between NUMANodes (depth 2) by logical indexes:
+relative latency matrix between NUMANodes (depth 2) by logical indexes:
   index     0     1     2     3     4     5     6     7
       0 1.000 2.000 4.000 4.000 4.000 4.000 4.000 4.000
       1 2.000 1.000 4.000 4.000 4.000 4.000 4.000 4.000
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/256ppc-8n8s4t.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/256ppc-8n8s4t.output
index c0ae841..6b66584 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/256ppc-8n8s4t.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/256ppc-8n8s4t.output
@@ -1,7 +1,7 @@
 Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179-MHB" Backend=Linux Architecture=ppc)
   Group0 L#0 (total=124780544KB)
     NUMANode L#0 (P#0 local=58458112KB total=58458112KB)
-      Socket L#0 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#0 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#0 (size=4096KB linesize=128)
           L2Cache L#0 (size=256KB linesize=128 ways=8)
             L1dCache L#0 (size=32KB linesize=128 ways=8)
@@ -11,7 +11,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#1 (P#1)
                   PU L#2 (P#2)
                   PU L#3 (P#3)
-      Socket L#1 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#1 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#1 (size=4096KB linesize=128)
           L2Cache L#1 (size=256KB linesize=128 ways=8)
             L1dCache L#1 (size=32KB linesize=128 ways=8)
@@ -21,7 +21,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#5 (P#5)
                   PU L#6 (P#6)
                   PU L#7 (P#7)
-      Socket L#2 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#2 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#2 (size=4096KB linesize=128)
           L2Cache L#2 (size=256KB linesize=128 ways=8)
             L1dCache L#2 (size=32KB linesize=128 ways=8)
@@ -31,7 +31,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#9 (P#9)
                   PU L#10 (P#10)
                   PU L#11 (P#11)
-      Socket L#3 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#3 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#3 (size=4096KB linesize=128)
           L2Cache L#3 (size=256KB linesize=128 ways=8)
             L1dCache L#3 (size=32KB linesize=128 ways=8)
@@ -41,7 +41,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#13 (P#13)
                   PU L#14 (P#14)
                   PU L#15 (P#15)
-      Socket L#4 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#4 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#4 (size=4096KB linesize=128)
           L2Cache L#4 (size=256KB linesize=128 ways=8)
             L1dCache L#4 (size=32KB linesize=128 ways=8)
@@ -51,7 +51,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#17 (P#17)
                   PU L#18 (P#18)
                   PU L#19 (P#19)
-      Socket L#5 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#5 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#5 (size=4096KB linesize=128)
           L2Cache L#5 (size=256KB linesize=128 ways=8)
             L1dCache L#5 (size=32KB linesize=128 ways=8)
@@ -61,7 +61,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#21 (P#21)
                   PU L#22 (P#22)
                   PU L#23 (P#23)
-      Socket L#6 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#6 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#6 (size=4096KB linesize=128)
           L2Cache L#6 (size=256KB linesize=128 ways=8)
             L1dCache L#6 (size=32KB linesize=128 ways=8)
@@ -71,7 +71,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#25 (P#25)
                   PU L#26 (P#26)
                   PU L#27 (P#27)
-      Socket L#7 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#7 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#7 (size=4096KB linesize=128)
           L2Cache L#7 (size=256KB linesize=128 ways=8)
             L1dCache L#7 (size=32KB linesize=128 ways=8)
@@ -82,7 +82,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#30 (P#30)
                   PU L#31 (P#31)
     NUMANode L#1 (P#1 local=66322432KB total=66322432KB)
-      Socket L#8 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#8 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#8 (size=4096KB linesize=128)
           L2Cache L#8 (size=256KB linesize=128 ways=8)
             L1dCache L#8 (size=32KB linesize=128 ways=8)
@@ -92,7 +92,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#33 (P#33)
                   PU L#34 (P#34)
                   PU L#35 (P#35)
-      Socket L#9 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#9 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#9 (size=4096KB linesize=128)
           L2Cache L#9 (size=256KB linesize=128 ways=8)
             L1dCache L#9 (size=32KB linesize=128 ways=8)
@@ -102,7 +102,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#37 (P#37)
                   PU L#38 (P#38)
                   PU L#39 (P#39)
-      Socket L#10 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#10 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#10 (size=4096KB linesize=128)
           L2Cache L#10 (size=256KB linesize=128 ways=8)
             L1dCache L#10 (size=32KB linesize=128 ways=8)
@@ -112,7 +112,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#41 (P#41)
                   PU L#42 (P#42)
                   PU L#43 (P#43)
-      Socket L#11 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#11 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#11 (size=4096KB linesize=128)
           L2Cache L#11 (size=256KB linesize=128 ways=8)
             L1dCache L#11 (size=32KB linesize=128 ways=8)
@@ -122,7 +122,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#45 (P#45)
                   PU L#46 (P#46)
                   PU L#47 (P#47)
-      Socket L#12 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#12 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#12 (size=4096KB linesize=128)
           L2Cache L#12 (size=256KB linesize=128 ways=8)
             L1dCache L#12 (size=32KB linesize=128 ways=8)
@@ -132,7 +132,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#49 (P#49)
                   PU L#50 (P#50)
                   PU L#51 (P#51)
-      Socket L#13 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#13 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#13 (size=4096KB linesize=128)
           L2Cache L#13 (size=256KB linesize=128 ways=8)
             L1dCache L#13 (size=32KB linesize=128 ways=8)
@@ -142,7 +142,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#53 (P#53)
                   PU L#54 (P#54)
                   PU L#55 (P#55)
-      Socket L#14 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#14 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#14 (size=4096KB linesize=128)
           L2Cache L#14 (size=256KB linesize=128 ways=8)
             L1dCache L#14 (size=32KB linesize=128 ways=8)
@@ -152,7 +152,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#57 (P#57)
                   PU L#58 (P#58)
                   PU L#59 (P#59)
-      Socket L#15 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#15 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#15 (size=4096KB linesize=128)
           L2Cache L#15 (size=256KB linesize=128 ways=8)
             L1dCache L#15 (size=32KB linesize=128 ways=8)
@@ -164,7 +164,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#63 (P#63)
   Group0 L#1 (total=133955584KB)
     NUMANode L#2 (P#4 local=66846720KB total=66846720KB)
-      Socket L#16 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#16 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#16 (size=4096KB linesize=128)
           L2Cache L#16 (size=256KB linesize=128 ways=8)
             L1dCache L#16 (size=32KB linesize=128 ways=8)
@@ -174,7 +174,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#65 (P#65)
                   PU L#66 (P#66)
                   PU L#67 (P#67)
-      Socket L#17 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#17 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#17 (size=4096KB linesize=128)
           L2Cache L#17 (size=256KB linesize=128 ways=8)
             L1dCache L#17 (size=32KB linesize=128 ways=8)
@@ -184,7 +184,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#69 (P#69)
                   PU L#70 (P#70)
                   PU L#71 (P#71)
-      Socket L#18 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#18 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#18 (size=4096KB linesize=128)
           L2Cache L#18 (size=256KB linesize=128 ways=8)
             L1dCache L#18 (size=32KB linesize=128 ways=8)
@@ -194,7 +194,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#73 (P#73)
                   PU L#74 (P#74)
                   PU L#75 (P#75)
-      Socket L#19 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#19 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#19 (size=4096KB linesize=128)
           L2Cache L#19 (size=256KB linesize=128 ways=8)
             L1dCache L#19 (size=32KB linesize=128 ways=8)
@@ -204,7 +204,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#77 (P#77)
                   PU L#78 (P#78)
                   PU L#79 (P#79)
-      Socket L#20 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#20 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#20 (size=4096KB linesize=128)
           L2Cache L#20 (size=256KB linesize=128 ways=8)
             L1dCache L#20 (size=32KB linesize=128 ways=8)
@@ -214,7 +214,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#81 (P#81)
                   PU L#82 (P#82)
                   PU L#83 (P#83)
-      Socket L#21 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#21 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#21 (size=4096KB linesize=128)
           L2Cache L#21 (size=256KB linesize=128 ways=8)
             L1dCache L#21 (size=32KB linesize=128 ways=8)
@@ -224,7 +224,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#85 (P#85)
                   PU L#86 (P#86)
                   PU L#87 (P#87)
-      Socket L#22 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#22 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#22 (size=4096KB linesize=128)
           L2Cache L#22 (size=256KB linesize=128 ways=8)
             L1dCache L#22 (size=32KB linesize=128 ways=8)
@@ -234,7 +234,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#89 (P#89)
                   PU L#90 (P#90)
                   PU L#91 (P#91)
-      Socket L#23 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#23 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#23 (size=4096KB linesize=128)
           L2Cache L#23 (size=256KB linesize=128 ways=8)
             L1dCache L#23 (size=32KB linesize=128 ways=8)
@@ -245,7 +245,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#94 (P#94)
                   PU L#95 (P#95)
     NUMANode L#3 (P#5 local=67108864KB total=67108864KB)
-      Socket L#24 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#24 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#24 (size=4096KB linesize=128)
           L2Cache L#24 (size=256KB linesize=128 ways=8)
             L1dCache L#24 (size=32KB linesize=128 ways=8)
@@ -255,7 +255,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#97 (P#97)
                   PU L#98 (P#98)
                   PU L#99 (P#99)
-      Socket L#25 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#25 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#25 (size=4096KB linesize=128)
           L2Cache L#25 (size=256KB linesize=128 ways=8)
             L1dCache L#25 (size=32KB linesize=128 ways=8)
@@ -265,7 +265,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#101 (P#101)
                   PU L#102 (P#102)
                   PU L#103 (P#103)
-      Socket L#26 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#26 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#26 (size=4096KB linesize=128)
           L2Cache L#26 (size=256KB linesize=128 ways=8)
             L1dCache L#26 (size=32KB linesize=128 ways=8)
@@ -275,7 +275,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#105 (P#105)
                   PU L#106 (P#106)
                   PU L#107 (P#107)
-      Socket L#27 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#27 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#27 (size=4096KB linesize=128)
           L2Cache L#27 (size=256KB linesize=128 ways=8)
             L1dCache L#27 (size=32KB linesize=128 ways=8)
@@ -285,7 +285,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#109 (P#109)
                   PU L#110 (P#110)
                   PU L#111 (P#111)
-      Socket L#28 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#28 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#28 (size=4096KB linesize=128)
           L2Cache L#28 (size=256KB linesize=128 ways=8)
             L1dCache L#28 (size=32KB linesize=128 ways=8)
@@ -295,7 +295,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#113 (P#113)
                   PU L#114 (P#114)
                   PU L#115 (P#115)
-      Socket L#29 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#29 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#29 (size=4096KB linesize=128)
           L2Cache L#29 (size=256KB linesize=128 ways=8)
             L1dCache L#29 (size=32KB linesize=128 ways=8)
@@ -305,7 +305,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#117 (P#117)
                   PU L#118 (P#118)
                   PU L#119 (P#119)
-      Socket L#30 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#30 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#30 (size=4096KB linesize=128)
           L2Cache L#30 (size=256KB linesize=128 ways=8)
             L1dCache L#30 (size=32KB linesize=128 ways=8)
@@ -315,7 +315,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#121 (P#121)
                   PU L#122 (P#122)
                   PU L#123 (P#123)
-      Socket L#31 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#31 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#31 (size=4096KB linesize=128)
           L2Cache L#31 (size=256KB linesize=128 ways=8)
             L1dCache L#31 (size=32KB linesize=128 ways=8)
@@ -327,7 +327,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#127 (P#127)
   Group0 L#2 (total=133955584KB)
     NUMANode L#4 (P#8 local=66846720KB total=66846720KB)
-      Socket L#32 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#32 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#32 (size=4096KB linesize=128)
           L2Cache L#32 (size=256KB linesize=128 ways=8)
             L1dCache L#32 (size=32KB linesize=128 ways=8)
@@ -337,7 +337,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#129 (P#129)
                   PU L#130 (P#130)
                   PU L#131 (P#131)
-      Socket L#33 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#33 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#33 (size=4096KB linesize=128)
           L2Cache L#33 (size=256KB linesize=128 ways=8)
             L1dCache L#33 (size=32KB linesize=128 ways=8)
@@ -347,7 +347,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#133 (P#133)
                   PU L#134 (P#134)
                   PU L#135 (P#135)
-      Socket L#34 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#34 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#34 (size=4096KB linesize=128)
           L2Cache L#34 (size=256KB linesize=128 ways=8)
             L1dCache L#34 (size=32KB linesize=128 ways=8)
@@ -357,7 +357,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#137 (P#137)
                   PU L#138 (P#138)
                   PU L#139 (P#139)
-      Socket L#35 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#35 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#35 (size=4096KB linesize=128)
           L2Cache L#35 (size=256KB linesize=128 ways=8)
             L1dCache L#35 (size=32KB linesize=128 ways=8)
@@ -367,7 +367,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#141 (P#141)
                   PU L#142 (P#142)
                   PU L#143 (P#143)
-      Socket L#36 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#36 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#36 (size=4096KB linesize=128)
           L2Cache L#36 (size=256KB linesize=128 ways=8)
             L1dCache L#36 (size=32KB linesize=128 ways=8)
@@ -377,7 +377,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#145 (P#145)
                   PU L#146 (P#146)
                   PU L#147 (P#147)
-      Socket L#37 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#37 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#37 (size=4096KB linesize=128)
           L2Cache L#37 (size=256KB linesize=128 ways=8)
             L1dCache L#37 (size=32KB linesize=128 ways=8)
@@ -387,7 +387,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#149 (P#149)
                   PU L#150 (P#150)
                   PU L#151 (P#151)
-      Socket L#38 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#38 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#38 (size=4096KB linesize=128)
           L2Cache L#38 (size=256KB linesize=128 ways=8)
             L1dCache L#38 (size=32KB linesize=128 ways=8)
@@ -397,7 +397,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#153 (P#153)
                   PU L#154 (P#154)
                   PU L#155 (P#155)
-      Socket L#39 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#39 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#39 (size=4096KB linesize=128)
           L2Cache L#39 (size=256KB linesize=128 ways=8)
             L1dCache L#39 (size=32KB linesize=128 ways=8)
@@ -408,7 +408,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#158 (P#158)
                   PU L#159 (P#159)
     NUMANode L#5 (P#9 local=67108864KB total=67108864KB)
-      Socket L#40 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#40 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#40 (size=4096KB linesize=128)
           L2Cache L#40 (size=256KB linesize=128 ways=8)
             L1dCache L#40 (size=32KB linesize=128 ways=8)
@@ -418,7 +418,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#161 (P#161)
                   PU L#162 (P#162)
                   PU L#163 (P#163)
-      Socket L#41 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#41 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#41 (size=4096KB linesize=128)
           L2Cache L#41 (size=256KB linesize=128 ways=8)
             L1dCache L#41 (size=32KB linesize=128 ways=8)
@@ -428,7 +428,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#165 (P#165)
                   PU L#166 (P#166)
                   PU L#167 (P#167)
-      Socket L#42 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#42 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#42 (size=4096KB linesize=128)
           L2Cache L#42 (size=256KB linesize=128 ways=8)
             L1dCache L#42 (size=32KB linesize=128 ways=8)
@@ -438,7 +438,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#169 (P#169)
                   PU L#170 (P#170)
                   PU L#171 (P#171)
-      Socket L#43 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#43 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#43 (size=4096KB linesize=128)
           L2Cache L#43 (size=256KB linesize=128 ways=8)
             L1dCache L#43 (size=32KB linesize=128 ways=8)
@@ -448,7 +448,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#173 (P#173)
                   PU L#174 (P#174)
                   PU L#175 (P#175)
-      Socket L#44 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#44 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#44 (size=4096KB linesize=128)
           L2Cache L#44 (size=256KB linesize=128 ways=8)
             L1dCache L#44 (size=32KB linesize=128 ways=8)
@@ -458,7 +458,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#177 (P#177)
                   PU L#178 (P#178)
                   PU L#179 (P#179)
-      Socket L#45 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#45 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#45 (size=4096KB linesize=128)
           L2Cache L#45 (size=256KB linesize=128 ways=8)
             L1dCache L#45 (size=32KB linesize=128 ways=8)
@@ -468,7 +468,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#181 (P#181)
                   PU L#182 (P#182)
                   PU L#183 (P#183)
-      Socket L#46 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#46 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#46 (size=4096KB linesize=128)
           L2Cache L#46 (size=256KB linesize=128 ways=8)
             L1dCache L#46 (size=32KB linesize=128 ways=8)
@@ -478,7 +478,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#185 (P#185)
                   PU L#186 (P#186)
                   PU L#187 (P#187)
-      Socket L#47 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#47 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#47 (size=4096KB linesize=128)
           L2Cache L#47 (size=256KB linesize=128 ways=8)
             L1dCache L#47 (size=32KB linesize=128 ways=8)
@@ -490,7 +490,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#191 (P#191)
   Group0 L#3 (total=123731968KB)
     NUMANode L#6 (P#12 local=66846720KB total=66846720KB)
-      Socket L#48 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#48 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#48 (size=4096KB linesize=128)
           L2Cache L#48 (size=256KB linesize=128 ways=8)
             L1dCache L#48 (size=32KB linesize=128 ways=8)
@@ -500,7 +500,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#193 (P#193)
                   PU L#194 (P#194)
                   PU L#195 (P#195)
-      Socket L#49 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#49 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#49 (size=4096KB linesize=128)
           L2Cache L#49 (size=256KB linesize=128 ways=8)
             L1dCache L#49 (size=32KB linesize=128 ways=8)
@@ -510,7 +510,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#197 (P#197)
                   PU L#198 (P#198)
                   PU L#199 (P#199)
-      Socket L#50 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#50 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#50 (size=4096KB linesize=128)
           L2Cache L#50 (size=256KB linesize=128 ways=8)
             L1dCache L#50 (size=32KB linesize=128 ways=8)
@@ -520,7 +520,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#201 (P#201)
                   PU L#202 (P#202)
                   PU L#203 (P#203)
-      Socket L#51 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#51 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#51 (size=4096KB linesize=128)
           L2Cache L#51 (size=256KB linesize=128 ways=8)
             L1dCache L#51 (size=32KB linesize=128 ways=8)
@@ -530,7 +530,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#205 (P#205)
                   PU L#206 (P#206)
                   PU L#207 (P#207)
-      Socket L#52 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#52 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#52 (size=4096KB linesize=128)
           L2Cache L#52 (size=256KB linesize=128 ways=8)
             L1dCache L#52 (size=32KB linesize=128 ways=8)
@@ -540,7 +540,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#209 (P#209)
                   PU L#210 (P#210)
                   PU L#211 (P#211)
-      Socket L#53 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#53 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#53 (size=4096KB linesize=128)
           L2Cache L#53 (size=256KB linesize=128 ways=8)
             L1dCache L#53 (size=32KB linesize=128 ways=8)
@@ -550,7 +550,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#213 (P#213)
                   PU L#214 (P#214)
                   PU L#215 (P#215)
-      Socket L#54 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#54 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#54 (size=4096KB linesize=128)
           L2Cache L#54 (size=256KB linesize=128 ways=8)
             L1dCache L#54 (size=32KB linesize=128 ways=8)
@@ -560,7 +560,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#217 (P#217)
                   PU L#218 (P#218)
                   PU L#219 (P#219)
-      Socket L#55 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#55 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#55 (size=4096KB linesize=128)
           L2Cache L#55 (size=256KB linesize=128 ways=8)
             L1dCache L#55 (size=32KB linesize=128 ways=8)
@@ -571,7 +571,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#222 (P#222)
                   PU L#223 (P#223)
     NUMANode L#7 (P#13 local=56885248KB total=56885248KB)
-      Socket L#56 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#56 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#56 (size=4096KB linesize=128)
           L2Cache L#56 (size=256KB linesize=128 ways=8)
             L1dCache L#56 (size=32KB linesize=128 ways=8)
@@ -581,7 +581,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#225 (P#225)
                   PU L#226 (P#226)
                   PU L#227 (P#227)
-      Socket L#57 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#57 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#57 (size=4096KB linesize=128)
           L2Cache L#57 (size=256KB linesize=128 ways=8)
             L1dCache L#57 (size=32KB linesize=128 ways=8)
@@ -591,7 +591,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#229 (P#229)
                   PU L#230 (P#230)
                   PU L#231 (P#231)
-      Socket L#58 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#58 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#58 (size=4096KB linesize=128)
           L2Cache L#58 (size=256KB linesize=128 ways=8)
             L1dCache L#58 (size=32KB linesize=128 ways=8)
@@ -601,7 +601,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#233 (P#233)
                   PU L#234 (P#234)
                   PU L#235 (P#235)
-      Socket L#59 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#59 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#59 (size=4096KB linesize=128)
           L2Cache L#59 (size=256KB linesize=128 ways=8)
             L1dCache L#59 (size=32KB linesize=128 ways=8)
@@ -611,7 +611,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#237 (P#237)
                   PU L#238 (P#238)
                   PU L#239 (P#239)
-      Socket L#60 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#60 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#60 (size=4096KB linesize=128)
           L2Cache L#60 (size=256KB linesize=128 ways=8)
             L1dCache L#60 (size=32KB linesize=128 ways=8)
@@ -621,7 +621,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#241 (P#241)
                   PU L#242 (P#242)
                   PU L#243 (P#243)
-      Socket L#61 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#61 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#61 (size=4096KB linesize=128)
           L2Cache L#61 (size=256KB linesize=128 ways=8)
             L1dCache L#61 (size=32KB linesize=128 ways=8)
@@ -631,7 +631,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#245 (P#245)
                   PU L#246 (P#246)
                   PU L#247 (P#247)
-      Socket L#62 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#62 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#62 (size=4096KB linesize=128)
           L2Cache L#62 (size=256KB linesize=128 ways=8)
             L1dCache L#62 (size=32KB linesize=128 ways=8)
@@ -641,7 +641,7 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
                   PU L#249 (P#249)
                   PU L#250 (P#250)
                   PU L#251 (P#251)
-      Socket L#63 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
+      Package L#63 (CPUModel="POWER7 (architected), altivec supported" CPURevision="2.1 (pvr 003f 0201)")
         L3Cache L#63 (size=4096KB linesize=128)
           L2Cache L#63 (size=256KB linesize=128 ways=8)
             L1dCache L#63 (size=32KB linesize=128 ways=8)
@@ -654,14 +654,14 @@ Machine (P#0 total=516423680KB PlatformName=pSeries PlatformModel="CHRP IBM,9179
 depth 0:	1 Machine (type #1)
  depth 1:	4 Group0 (type #7)
   depth 2:	8 NUMANode (type #2)
-   depth 3:	64 Socket (type #3)
+   depth 3:	64 Package (type #3)
     depth 4:	64 L3Cache (type #4)
      depth 5:	64 L2Cache (type #4)
       depth 6:	64 L1dCache (type #4)
        depth 7:	64 L1iCache (type #4)
         depth 8:	64 Core (type #5)
          depth 9:	256 PU (type #6)
-latency matrix between NUMANodes (depth 2) by logical indexes:
+relative latency matrix between NUMANodes (depth 2) by logical indexes:
   index     0     1     2     3     4     5     6     7
       0 1.000 2.000 4.000 4.000 4.000 4.000 4.000 4.000
       1 2.000 1.000 4.000 4.000 4.000 4.000 4.000 4.000
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/28em64t-2s2n7c-buggycoresiblings.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/28em64t-2s2n7c-buggycoresiblings.output
new file mode 100644
index 0000000..829d437
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/28em64t-2s2n7c-buggycoresiblings.output
@@ -0,0 +1,167 @@
+Machine (P#0 total=66835164KB DMIProductName=UCSB-B200-M4 DMIProductVersion=0 DMIProductSerial=FCH18187KYL DMIProductUUID=5C29B631-18D7-46D5-BBDB-E43F106A86D5 DMIBoardVendor="Cisco Systems Inc" DMIBoardName=UCSB-B200-M4 DMIBoardVersion=73-15862-03 DMIBoardSerial=FCH18187KYL DMIBoardAssetTag=" " DMIChassisVendor="Cisco Systems Inc" DMIChassisType=18 DMIChassisVersion=68-4777-02 DMIChassisSerial=FOX1802H2KC DMIChassisAssetTag=" " DMIBIOSVendor="Cisco Systems, Inc." DMIBIOSVersion=B200M4.2.2.3.0.080820140005 DMIBIOSDate=08/08/2014 DMISysVendor="Cisco Systems Inc" Backend=Linux LinuxCgroup=/ OSName=Linux OSRelease=3.10.0-123.el7.x86_64 OSVersion="#1 SMP Mon May 5 11:16:57 EDT 2014" HostName=localhost.localdomain Architecture=x86_64)
+  Package L#0 (P#0 total=33280732KB CPUVendor=GenuineIntel CPUFamilyNumber=6 CPUModelNumber=63 CPUModel="Intel(R) Xeon(R) CPU E5-2683 v3 @ 2.00GHz" CPUStepping=2)
+    NUMANode L#0 (P#0 local=16503516KB total=16503516KB)
+      L3Cache L#0 (size=17920KB linesize=64 ways=20)
+        L2Cache L#0 (size=256KB linesize=64 ways=8)
+          L1dCache L#0 (size=32KB linesize=64 ways=8)
+            L1iCache L#0 (size=32KB linesize=64 ways=8)
+              Core L#0 (P#0)
+                PU L#0 (P#0)
+        L2Cache L#1 (size=256KB linesize=64 ways=8)
+          L1dCache L#1 (size=32KB linesize=64 ways=8)
+            L1iCache L#1 (size=32KB linesize=64 ways=8)
+              Core L#1 (P#1)
+                PU L#1 (P#1)
+        L2Cache L#2 (size=256KB linesize=64 ways=8)
+          L1dCache L#2 (size=32KB linesize=64 ways=8)
+            L1iCache L#2 (size=32KB linesize=64 ways=8)
+              Core L#2 (P#2)
+                PU L#2 (P#2)
+        L2Cache L#3 (size=256KB linesize=64 ways=8)
+          L1dCache L#3 (size=32KB linesize=64 ways=8)
+            L1iCache L#3 (size=32KB linesize=64 ways=8)
+              Core L#3 (P#3)
+                PU L#3 (P#3)
+        L2Cache L#4 (size=256KB linesize=64 ways=8)
+          L1dCache L#4 (size=32KB linesize=64 ways=8)
+            L1iCache L#4 (size=32KB linesize=64 ways=8)
+              Core L#4 (P#4)
+                PU L#4 (P#4)
+        L2Cache L#5 (size=256KB linesize=64 ways=8)
+          L1dCache L#5 (size=32KB linesize=64 ways=8)
+            L1iCache L#5 (size=32KB linesize=64 ways=8)
+              Core L#5 (P#5)
+                PU L#5 (P#5)
+        L2Cache L#6 (size=256KB linesize=64 ways=8)
+          L1dCache L#6 (size=32KB linesize=64 ways=8)
+            L1iCache L#6 (size=32KB linesize=64 ways=8)
+              Core L#6 (P#6)
+                PU L#6 (P#6)
+    NUMANode L#1 (P#1 local=16777216KB total=16777216KB)
+      L3Cache L#1 (size=17920KB linesize=64 ways=20)
+        L2Cache L#7 (size=256KB linesize=64 ways=8)
+          L1dCache L#7 (size=32KB linesize=64 ways=8)
+            L1iCache L#7 (size=32KB linesize=64 ways=8)
+              Core L#7 (P#8)
+                PU L#7 (P#7)
+        L2Cache L#8 (size=256KB linesize=64 ways=8)
+          L1dCache L#8 (size=32KB linesize=64 ways=8)
+            L1iCache L#8 (size=32KB linesize=64 ways=8)
+              Core L#8 (P#9)
+                PU L#8 (P#8)
+        L2Cache L#9 (size=256KB linesize=64 ways=8)
+          L1dCache L#9 (size=32KB linesize=64 ways=8)
+            L1iCache L#9 (size=32KB linesize=64 ways=8)
+              Core L#9 (P#10)
+                PU L#9 (P#9)
+        L2Cache L#10 (size=256KB linesize=64 ways=8)
+          L1dCache L#10 (size=32KB linesize=64 ways=8)
+            L1iCache L#10 (size=32KB linesize=64 ways=8)
+              Core L#10 (P#11)
+                PU L#10 (P#10)
+        L2Cache L#11 (size=256KB linesize=64 ways=8)
+          L1dCache L#11 (size=32KB linesize=64 ways=8)
+            L1iCache L#11 (size=32KB linesize=64 ways=8)
+              Core L#11 (P#12)
+                PU L#11 (P#11)
+        L2Cache L#12 (size=256KB linesize=64 ways=8)
+          L1dCache L#12 (size=32KB linesize=64 ways=8)
+            L1iCache L#12 (size=32KB linesize=64 ways=8)
+              Core L#12 (P#13)
+                PU L#12 (P#12)
+        L2Cache L#13 (size=256KB linesize=64 ways=8)
+          L1dCache L#13 (size=32KB linesize=64 ways=8)
+            L1iCache L#13 (size=32KB linesize=64 ways=8)
+              Core L#13 (P#14)
+                PU L#13 (P#13)
+  Package L#1 (P#1 total=33554432KB CPUVendor=GenuineIntel CPUFamilyNumber=6 CPUModelNumber=63 CPUModel="Intel(R) Xeon(R) CPU E5-2683 v3 @ 2.00GHz" CPUStepping=2)
+    NUMANode L#2 (P#2 local=16777216KB total=16777216KB)
+      L3Cache L#2 (size=17920KB linesize=64 ways=20)
+        L2Cache L#14 (size=256KB linesize=64 ways=8)
+          L1dCache L#14 (size=32KB linesize=64 ways=8)
+            L1iCache L#14 (size=32KB linesize=64 ways=8)
+              Core L#14 (P#0)
+                PU L#14 (P#14)
+        L2Cache L#15 (size=256KB linesize=64 ways=8)
+          L1dCache L#15 (size=32KB linesize=64 ways=8)
+            L1iCache L#15 (size=32KB linesize=64 ways=8)
+              Core L#15 (P#1)
+                PU L#15 (P#15)
+        L2Cache L#16 (size=256KB linesize=64 ways=8)
+          L1dCache L#16 (size=32KB linesize=64 ways=8)
+            L1iCache L#16 (size=32KB linesize=64 ways=8)
+              Core L#16 (P#2)
+                PU L#16 (P#16)
+        L2Cache L#17 (size=256KB linesize=64 ways=8)
+          L1dCache L#17 (size=32KB linesize=64 ways=8)
+            L1iCache L#17 (size=32KB linesize=64 ways=8)
+              Core L#17 (P#3)
+                PU L#17 (P#17)
+        L2Cache L#18 (size=256KB linesize=64 ways=8)
+          L1dCache L#18 (size=32KB linesize=64 ways=8)
+            L1iCache L#18 (size=32KB linesize=64 ways=8)
+              Core L#18 (P#4)
+                PU L#18 (P#18)
+        L2Cache L#19 (size=256KB linesize=64 ways=8)
+          L1dCache L#19 (size=32KB linesize=64 ways=8)
+            L1iCache L#19 (size=32KB linesize=64 ways=8)
+              Core L#19 (P#5)
+                PU L#19 (P#19)
+        L2Cache L#20 (size=256KB linesize=64 ways=8)
+          L1dCache L#20 (size=32KB linesize=64 ways=8)
+            L1iCache L#20 (size=32KB linesize=64 ways=8)
+              Core L#20 (P#6)
+                PU L#20 (P#20)
+    NUMANode L#3 (P#3 local=16777216KB total=16777216KB)
+      L3Cache L#3 (size=17920KB linesize=64 ways=20)
+        L2Cache L#21 (size=256KB linesize=64 ways=8)
+          L1dCache L#21 (size=32KB linesize=64 ways=8)
+            L1iCache L#21 (size=32KB linesize=64 ways=8)
+              Core L#21 (P#8)
+                PU L#21 (P#21)
+        L2Cache L#22 (size=256KB linesize=64 ways=8)
+          L1dCache L#22 (size=32KB linesize=64 ways=8)
+            L1iCache L#22 (size=32KB linesize=64 ways=8)
+              Core L#22 (P#9)
+                PU L#22 (P#22)
+        L2Cache L#23 (size=256KB linesize=64 ways=8)
+          L1dCache L#23 (size=32KB linesize=64 ways=8)
+            L1iCache L#23 (size=32KB linesize=64 ways=8)
+              Core L#23 (P#10)
+                PU L#23 (P#23)
+        L2Cache L#24 (size=256KB linesize=64 ways=8)
+          L1dCache L#24 (size=32KB linesize=64 ways=8)
+            L1iCache L#24 (size=32KB linesize=64 ways=8)
+              Core L#24 (P#11)
+                PU L#24 (P#24)
+        L2Cache L#25 (size=256KB linesize=64 ways=8)
+          L1dCache L#25 (size=32KB linesize=64 ways=8)
+            L1iCache L#25 (size=32KB linesize=64 ways=8)
+              Core L#25 (P#12)
+                PU L#25 (P#25)
+        L2Cache L#26 (size=256KB linesize=64 ways=8)
+          L1dCache L#26 (size=32KB linesize=64 ways=8)
+            L1iCache L#26 (size=32KB linesize=64 ways=8)
+              Core L#26 (P#13)
+                PU L#26 (P#26)
+        L2Cache L#27 (size=256KB linesize=64 ways=8)
+          L1dCache L#27 (size=32KB linesize=64 ways=8)
+            L1iCache L#27 (size=32KB linesize=64 ways=8)
+              Core L#27 (P#14)
+                PU L#27 (P#27)
+depth 0:	1 Machine (type #1)
+ depth 1:	2 Package (type #3)
+  depth 2:	4 NUMANode (type #2)
+   depth 3:	4 L3Cache (type #4)
+    depth 4:	28 L2Cache (type #4)
+     depth 5:	28 L1dCache (type #4)
+      depth 6:	28 L1iCache (type #4)
+       depth 7:	28 Core (type #5)
+        depth 8:	28 PU (type #6)
+relative latency matrix between NUMANodes (depth 2) by logical indexes:
+  index     0     1     2     3
+      0 1.000 2.100 3.100 3.100
+      1 2.100 1.000 3.100 3.100
+      2 3.100 3.100 1.000 2.100
+      3 3.100 3.100 2.100 1.000
+Topology not from this system
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/28em64t-2s2n7c-buggycoresiblings.tar.bz2 b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/28em64t-2s2n7c-buggycoresiblings.tar.bz2
new file mode 100644
index 0000000..29183fe
Binary files /dev/null and b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/28em64t-2s2n7c-buggycoresiblings.tar.bz2 differ
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/2amd64-2n.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/2amd64-2n.output
index 42ff588..4745abc 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/2amd64-2n.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/2amd64-2n.output
@@ -1,13 +1,13 @@
 Machine (P#0 total=4192952KB Backend=Linux)
   NUMANode L#0 (P#0 local=2095800KB total=2095800KB)
-    Socket L#0 (P#0)
+    Package L#0 (P#0)
       L2Cache L#0 (size=1024KB linesize=64 ways=16)
         L1dCache L#0 (size=64KB linesize=64 ways=2)
           L1iCache L#0 (size=64KB linesize=64 ways=2)
             Core L#0 (P#0)
               PU L#0 (P#0)
   NUMANode L#1 (P#1 local=2097152KB total=2097152KB)
-    Socket L#1 (P#1)
+    Package L#1 (P#1)
       L2Cache L#1 (size=1024KB linesize=64 ways=16)
         L1dCache L#1 (size=64KB linesize=64 ways=2)
           L1iCache L#1 (size=64KB linesize=64 ways=2)
@@ -15,13 +15,13 @@ Machine (P#0 total=4192952KB Backend=Linux)
               PU L#1 (P#1)
 depth 0:	1 Machine (type #1)
  depth 1:	2 NUMANode (type #2)
-  depth 2:	2 Socket (type #3)
+  depth 2:	2 Package (type #3)
    depth 3:	2 L2Cache (type #4)
     depth 4:	2 L1dCache (type #4)
      depth 5:	2 L1iCache (type #4)
       depth 6:	2 Core (type #5)
        depth 7:	2 PU (type #6)
-latency matrix between NUMANodes (depth 1) by logical indexes:
+relative latency matrix between NUMANodes (depth 1) by logical indexes:
   index     0     1
       0 1.000 2.000
       1 2.000 1.000
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/2arm-2c.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/2arm-2c.output
index 6e861f5..c300ecd 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/2arm-2c.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/2arm-2c.output
@@ -1,11 +1,11 @@
 Machine (P#0 local=280840KB total=280840KB CPUModel="ARMv7 Processor rev 1 (v7l)" CPUImplementer=0x41 CPUArchitecture=7 CPUVariant=0x2 CPUPart=0xc09 CPURevision=1 HardwareName="ST-Ericsson MOP500 platform" HardwareRevision=0000 HardwareSerial=0000000000000000 Backend=Linux Architecture=arm)
-  Socket L#0 (P#3)
+  Package L#0 (P#3)
     Core L#0 (P#0)
       PU L#0 (P#0)
     Core L#1 (P#1)
       PU L#1 (P#1)
 depth 0:	1 Machine (type #1)
- depth 1:	1 Socket (type #3)
+ depth 1:	1 Package (type #3)
   depth 2:	2 Core (type #5)
    depth 3:	2 PU (type #6)
 Topology not from this system
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/2i386-2c-nohugepage.xml.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/2i386-2c-nohugepage.xml.output
index db0d382..43e924d 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/2i386-2c-nohugepage.xml.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/2i386-2c-nohugepage.xml.output
@@ -17,7 +17,7 @@
     <info name="DMIBIOSDate" value="10/18/2006"/>
     <info name="DMISysVendor" value="Dell Inc."/>
     <info name="Backend" value="Linux"/>
-    <object type="Socket" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003">
+    <object type="Package" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003">
       <info name="CPUModel" value="Intel(R) Xeon(R) CPU            5130  @ 2.00GHz"/>
       <object type="Cache" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" cache_size="4194304" depth="2" cache_linesize="64" cache_associativity="16" cache_type="0">
         <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/2i386-2t-hugepagesizecount.xml.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/2i386-2t-hugepagesizecount.xml.output
index 33f6541..f967c64 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/2i386-2t-hugepagesizecount.xml.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/2i386-2t-hugepagesizecount.xml.output
@@ -20,7 +20,7 @@
     <info name="DMIBIOSDate" value="10/03/2006"/>
     <info name="DMISysVendor" value="Dell Computer Corporation"/>
     <info name="Backend" value="Linux"/>
-    <object type="Socket" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003">
+    <object type="Package" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003">
       <info name="CPUModel" value="Intel(R) Xeon(TM) CPU 3.00GHz"/>
       <object type="Cache" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" cache_size="2097152" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
         <object type="Cache" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" cache_size="16384" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/2s390-2c.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/2s390-2c.output
index 99dcddf..ed7db27 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/2s390-2c.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/2s390-2c.output
@@ -1,8 +1,8 @@
 Machine (P#0 local=1025408KB total=1025408KB Backend=Linux)
-  Socket L#0
+  Package L#0
     PU L#0 (P#0)
     PU L#1 (P#1)
 depth 0:	1 Machine (type #1)
- depth 1:	1 Socket (type #3)
+ depth 1:	1 Package (type #3)
   depth 2:	2 PU (type #6)
 Topology not from this system
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32amd64-4s2n4c-cgroup.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32amd64-4s2n4c-cgroup.output
index 87f700f..9256bbf 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32amd64-4s2n4c-cgroup.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32amd64-4s2n4c-cgroup.output
@@ -1,6 +1,6 @@
 Machine (P#0 total=100661164KB DMIProductName=H8QG6 DMIProductVersion=1234567890 DMIBoardVendor=Supermicro DMIBoardName=H8QG6 DMIBoardVersion=1234567890 DMIBoardAssetTag=1234567890 DMIChassisVendor=Supermicro DMIChassisType=17 DMIChassisVersion=1234567890 DMIChassisAssetTag=1234567890 DMIBIOSVendor="American Megatrends Inc." DMIBIOSVersion="080016 " DMIBIOSDate=07/26/2011 DMISysVendor=Supermicro Backend=Linux LinuxCgroup=/uid_2008/job_15389/step_0)
   Group1 L#0 (total=67106732KB)
-    Socket L#0 (P#0 total=33552300KB CPUModel="AMD Opteron(tm) Processor 6134")
+    Package L#0 (P#0 total=33552300KB CPUModel="AMD Opteron(tm) Processor 6134")
       NUMANode L#0 (P#0 local=16775084KB total=16775084KB)
         L3Cache L#0 (size=5118KB linesize=64 ways=48)
           Group2 L#0
@@ -37,19 +37,19 @@ Machine (P#0 total=100661164KB DMIProductName=H8QG6 DMIProductVersion=1234567890
               L1iCache L#5 (size=64KB linesize=64 ways=2)
                 Core L#5 (P#1)
                   PU L#5 (P#5)
-    Socket L#1 (P#1 total=33554432KB CPUModel="AMD Opteron(tm) Processor 6134")
+    Package L#1 (P#1 total=33554432KB CPUModel="AMD Opteron(tm) Processor 6134")
       NUMANode L#2 (P#2 local=16777216KB total=16777216KB)
       NUMANode L#3 (P#3 local=16777216KB total=16777216KB)
   Group1 L#1 (total=33554432KB)
-    Socket L#2 (P#2 total=33554432KB CPUModel="AMD Opteron(tm) Processor 6134")
+    Package L#2 (P#2 total=33554432KB CPUModel="AMD Opteron(tm) Processor 6134")
       NUMANode L#4 (P#4 local=16777216KB total=16777216KB)
       NUMANode L#5 (P#5 local=16777216KB total=16777216KB)
-    Socket L#3 (P#3 CPUModel="AMD Opteron(tm) Processor 6134")
+    Package L#3 (P#3 CPUModel="AMD Opteron(tm) Processor 6134")
       NUMANode L#6 (P#6)
       NUMANode L#7 (P#7)
 depth 0:	1 Machine (type #1)
  depth 1:	2 Group1 (type #7)
-  depth 2:	4 Socket (type #3)
+  depth 2:	4 Package (type #3)
    depth 3:	8 NUMANode (type #2)
     depth 4:	2 L3Cache (type #4)
      depth 5:	2 Group2 (type #7)
@@ -58,7 +58,7 @@ depth 0:	1 Machine (type #1)
         depth 8:	6 L1iCache (type #4)
          depth 9:	6 Core (type #5)
           depth 10:	6 PU (type #6)
-latency matrix between NUMANodes (depth 3) by logical indexes:
+relative latency matrix between NUMANodes (depth 3) by logical indexes:
   index     0     1     2     3     4     5     6     7
       0 1.000 2.000 4.000 4.000 8.000 8.000 8.000 8.000
       1 2.000 1.000 4.000 4.000 8.000 8.000 8.000 8.000
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32amd64-4s2n4c-cgroup.xml.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32amd64-4s2n4c-cgroup.xml.output
index 7afcb9e..28f613a 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32amd64-4s2n4c-cgroup.xml.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32amd64-4s2n4c-cgroup.xml.output
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE topology SYSTEM "hwloc.dtd">
 <topology>
-  <object type="Machine" os_index="0" cpuset="0x0000003f" complete_cpuset="0xffffffff" online_cpuset="0xffffffff" allowed_cpuset="0x0000003f" nodeset="0x000000ff" complete_nodeset="0x000000ff" allowed_nodeset="0x0000003f">
+  <object type="Machine" os_index="0" cpuset="0x0000003f" complete_cpuset="0xffffffff" online_cpuset="0xffffffff" allowed_cpuset="0x0000003f" nodeset="0x0000003f" complete_nodeset="0x000000ff" allowed_nodeset="0x0000003f">
     <info name="DMIProductName" value="H8QG6"/>
     <info name="DMIProductVersion" value="1234567890"/>
     <info name="DMIBoardVendor" value="Supermicro"/>
@@ -85,7 +85,7 @@
       <latency value="1.000000"/>
     </distances>
     <object type="Group" cpuset="0x0000003f" complete_cpuset="0x0000ffff" online_cpuset="0x0000ffff" allowed_cpuset="0x0000003f" nodeset="0x0000000f" complete_nodeset="0x0000000f" allowed_nodeset="0x0000000f" depth="1">
-      <object type="Socket" os_index="0" cpuset="0x0000003f" complete_cpuset="0x000000ff" online_cpuset="0x000000ff" allowed_cpuset="0x0000003f" nodeset="0x00000003" complete_nodeset="0x00000003" allowed_nodeset="0x00000003">
+      <object type="Package" os_index="0" cpuset="0x0000003f" complete_cpuset="0x000000ff" online_cpuset="0x000000ff" allowed_cpuset="0x0000003f" nodeset="0x00000003" complete_nodeset="0x00000003" allowed_nodeset="0x00000003">
         <info name="CPUModel" value="AMD Opteron(tm) Processor 6134"/>
         <distances nbobjs="6" relative_depth="7" latency_base="1.000000">
           <latency value="1.000000"/>
@@ -180,22 +180,22 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_index="1" cpuset="0x0" complete_cpuset="0x0000ff00" online_cpuset="0x0000ff00" allowed_cpuset="0x0" nodeset="0x0000000c" complete_nodeset="0x0000000c" allowed_nodeset="0x0000000c">
+      <object type="Package" os_index="1" cpuset="0x0" complete_cpuset="0x0000ff00" online_cpuset="0x0000ff00" allowed_cpuset="0x0" nodeset="0x0000000c" complete_nodeset="0x0000000c" allowed_nodeset="0x0000000c">
         <info name="CPUModel" value="AMD Opteron(tm) Processor 6134"/>
         <object type="NUMANode" os_index="2" cpuset="0x0" complete_cpuset="0x00000f00" online_cpuset="0x00000f00" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" local_memory="17179869184"/>
         <object type="NUMANode" os_index="3" cpuset="0x0" complete_cpuset="0x0000f000" online_cpuset="0x0000f000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" local_memory="17179869184"/>
       </object>
     </object>
-    <object type="Group" cpuset="0x0" complete_cpuset="0xffff0000" online_cpuset="0xffff0000" allowed_cpuset="0x0" nodeset="0x000000f0" complete_nodeset="0x000000f0" allowed_nodeset="0x00000030" depth="1">
-      <object type="Socket" os_index="2" cpuset="0x0" complete_cpuset="0x00ff0000" online_cpuset="0x00ff0000" allowed_cpuset="0x0" nodeset="0x00000030" complete_nodeset="0x00000030" allowed_nodeset="0x00000030">
+    <object type="Group" cpuset="0x0" complete_cpuset="0xffff0000" online_cpuset="0xffff0000" allowed_cpuset="0x0" nodeset="0x00000030" complete_nodeset="0x000000f0" allowed_nodeset="0x00000030" depth="1">
+      <object type="Package" os_index="2" cpuset="0x0" complete_cpuset="0x00ff0000" online_cpuset="0x00ff0000" allowed_cpuset="0x0" nodeset="0x00000030" complete_nodeset="0x00000030" allowed_nodeset="0x00000030">
         <info name="CPUModel" value="AMD Opteron(tm) Processor 6134"/>
         <object type="NUMANode" os_index="4" cpuset="0x0" complete_cpuset="0x000f0000" online_cpuset="0x000f0000" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" local_memory="17179869184"/>
         <object type="NUMANode" os_index="5" cpuset="0x0" complete_cpuset="0x00f00000" online_cpuset="0x00f00000" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" local_memory="17179869184"/>
       </object>
-      <object type="Socket" os_index="3" cpuset="0x0" complete_cpuset="0xff000000" online_cpuset="0xff000000" allowed_cpuset="0x0" nodeset="0x000000c0" complete_nodeset="0x000000c0" allowed_nodeset="0x0">
+      <object type="Package" os_index="3" cpuset="0x0" complete_cpuset="0xff000000" online_cpuset="0xff000000" allowed_cpuset="0x0" nodeset="0x0" complete_nodeset="0x000000c0" allowed_nodeset="0x0">
         <info name="CPUModel" value="AMD Opteron(tm) Processor 6134"/>
-        <object type="NUMANode" os_index="6" cpuset="0x0" complete_cpuset="0x0f000000" online_cpuset="0x0f000000" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0"/>
-        <object type="NUMANode" os_index="7" cpuset="0x0" complete_cpuset="0xf0000000" online_cpuset="0xf0000000" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0"/>
+        <object type="NUMANode" os_index="6" cpuset="0x0" complete_cpuset="0x0f000000" online_cpuset="0x0f000000" allowed_cpuset="0x0" nodeset="0x0" complete_nodeset="0x00000040" allowed_nodeset="0x0"/>
+        <object type="NUMANode" os_index="7" cpuset="0x0" complete_cpuset="0xf0000000" online_cpuset="0xf0000000" allowed_cpuset="0x0" nodeset="0x0" complete_nodeset="0x00000080" allowed_nodeset="0x0"/>
       </object>
     </object>
   </object>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32em64t-2n8c+1mic.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32em64t-2n8c+1mic.output
index e191ad1..e50dfb8 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32em64t-2n8c+1mic.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32em64t-2n8c+1mic.output
@@ -24,7 +24,7 @@
       <latency value="1.000000"/>
     </distances>
     <object type="NUMANode" os_index="0" cpuset="0x000000ff" complete_cpuset="0x000000ff" online_cpuset="0x000000ff" allowed_cpuset="0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="17149054976">
-      <object type="Socket" os_index="0" cpuset="0x000000ff" complete_cpuset="0x000000ff" online_cpuset="0x000000ff" allowed_cpuset="0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+      <object type="Package" os_index="0" cpuset="0x000000ff" complete_cpuset="0x000000ff" online_cpuset="0x000000ff" allowed_cpuset="0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
         <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz"/>
         <object type="Cache" cpuset="0x000000ff" complete_cpuset="0x000000ff" online_cpuset="0x000000ff" allowed_cpuset="0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
           <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -103,8 +103,8 @@
       </object>
       <object type="Bridge" os_index="0" bridge_type="0-1" depth="0" bridge_pci="0000:[00-06]">
         <object type="PCIDev" os_index="0" pci_busid="0000:00:00.0" pci_type="0600 [8086:3c00] [1028:0518] 07" pci_link_speed="0.000000"/>
-        <object type="Bridge" os_index="16" bridge_type="1-1" depth="0" bridge_pci="0000:[01-01]" pci_busid="0000:00:01.0" pci_type="0604 [8086:3c02] [0000:0000] 07" pci_link_speed="0.000000"/>
-        <object type="Bridge" os_index="17" bridge_type="1-1" depth="0" bridge_pci="0000:[02-02]" pci_busid="0000:00:01.1" pci_type="0604 [8086:3c03] [0000:0000] 07" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="16" bridge_type="1-1" depth="1" bridge_pci="0000:[01-01]" pci_busid="0000:00:01.0" pci_type="0604 [8086:3c02] [0000:0000] 07" pci_link_speed="0.000000"/>
+        <object type="Bridge" os_index="17" bridge_type="1-1" depth="1" bridge_pci="0000:[02-02]" pci_busid="0000:00:01.1" pci_type="0604 [8086:3c03] [0000:0000] 07" pci_link_speed="0.000000">
           <object type="PCIDev" os_index="8192" pci_busid="0000:02:00.0" pci_type="0200 [8086:1521] [1028:0000] 01" pci_link_speed="0.000000">
             <object type="OSDev" name="eth0" osdev_type="2">
               <info name="Address" value="84:8f:69:fe:cc:40"/>
@@ -143,26 +143,32 @@
         <object type="PCIDev" os_index="80" pci_busid="0000:00:05.0" pci_type="0880 [8086:3c28] [1028:0518] 07" pci_link_speed="0.000000"/>
         <object type="PCIDev" os_index="82" pci_busid="0000:00:05.2" pci_type="0880 [8086:3c2a] [1028:0518] 07" pci_link_speed="0.000000"/>
         <object type="PCIDev" os_index="84" pci_busid="0000:00:05.4" pci_type="0800 [8086:3c2c] [1028:0518] 07" pci_link_speed="0.000000"/>
-        <object type="Bridge" os_index="272" bridge_type="1-1" depth="0" bridge_pci="0000:[03-03]" pci_busid="0000:00:11.0" pci_type="0604 [8086:1d3e] [0000:0000] 06" pci_link_speed="0.000000"/>
+        <object type="Bridge" os_index="272" bridge_type="1-1" depth="1" bridge_pci="0000:[03-03]" pci_busid="0000:00:11.0" pci_type="0604 [8086:1d3e] [0000:0000] 06" pci_link_speed="0.000000"/>
         <object type="PCIDev" os_index="352" pci_busid="0000:00:16.0" pci_type="0780 [8086:1d3a] [1028:0518] 05" pci_link_speed="0.000000"/>
         <object type="PCIDev" os_index="353" pci_busid="0000:00:16.1" pci_type="0780 [8086:1d3b] [1028:0518] 05" pci_link_speed="0.000000"/>
         <object type="PCIDev" os_index="416" pci_busid="0000:00:1a.0" pci_type="0c03 [8086:1d2d] [1028:0518] 06" pci_link_speed="0.000000"/>
-        <object type="Bridge" os_index="448" bridge_type="1-1" depth="0" bridge_pci="0000:[04-05]" pci_busid="0000:00:1c.0" pci_type="0604 [8086:1d10] [0000:0000] b6" pci_link_speed="0.000000">
-          <object type="Bridge" os_index="16384" bridge_type="1-1" depth="1" bridge_pci="0000:[05-05]" pci_busid="0000:04:00.0" pci_type="0604 [1a03:1150] [0000:0000] 02" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="448" bridge_type="1-1" depth="1" bridge_pci="0000:[04-05]" pci_busid="0000:00:1c.0" pci_type="0604 [8086:1d10] [0000:0000] b6" pci_link_speed="0.000000">
+          <object type="Bridge" os_index="16384" bridge_type="1-1" depth="2" bridge_pci="0000:[05-05]" pci_busid="0000:04:00.0" pci_type="0604 [1a03:1150] [0000:0000] 02" pci_link_speed="0.000000">
             <object type="PCIDev" os_index="20480" pci_busid="0000:05:00.0" pci_type="0300 [1a03:2000] [1028:0518] 21" pci_link_speed="0.000000"/>
           </object>
         </object>
         <object type="PCIDev" os_index="464" pci_busid="0000:00:1d.0" pci_type="0c03 [8086:1d26] [1028:0518] 06" pci_link_speed="0.000000"/>
-        <object type="Bridge" os_index="480" bridge_type="1-1" depth="0" bridge_pci="0000:[06-06]" pci_busid="0000:00:1e.0" pci_type="0604 [8086:244e] [0000:0000] a6" pci_link_speed="0.000000"/>
+        <object type="Bridge" os_index="480" bridge_type="1-1" depth="1" bridge_pci="0000:[06-06]" pci_busid="0000:00:1e.0" pci_type="0604 [8086:244e] [0000:0000] a6" pci_link_speed="0.000000"/>
         <object type="PCIDev" os_index="496" pci_busid="0000:00:1f.0" pci_type="0601 [8086:1d41] [1028:0518] 06" pci_link_speed="0.000000"/>
         <object type="PCIDev" os_index="498" pci_busid="0000:00:1f.2" pci_type="0106 [8086:1d02] [1028:0518] 06" pci_link_speed="0.000000">
-          <object type="OSDev" name="sda" osdev_type="0"/>
+          <object type="OSDev" name="sda" osdev_type="0">
+            <info name="LinuxDeviceID" value="8:0"/>
+            <info name="Model" value="MTFDDAK256MAM-1K12"/>
+            <info name="Revision" value="08TH"/>
+            <info name="SerialNumber" value="14090C05022B"/>
+            <info name="Type" value="Disk"/>
+          </object>
         </object>
         <object type="PCIDev" os_index="499" pci_busid="0000:00:1f.3" pci_type="0c05 [8086:1d22] [1028:0518] 06" pci_link_speed="0.000000"/>
       </object>
     </object>
     <object type="NUMANode" os_index="1" cpuset="0x0000ff00" complete_cpuset="0x0000ff00" online_cpuset="0x0000ff00" allowed_cpuset="0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="17179869184">
-      <object type="Socket" os_index="1" cpuset="0x0000ff00" complete_cpuset="0x0000ff00" online_cpuset="0x0000ff00" allowed_cpuset="0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+      <object type="Package" os_index="1" cpuset="0x0000ff00" complete_cpuset="0x0000ff00" online_cpuset="0x0000ff00" allowed_cpuset="0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz"/>
         <object type="Cache" cpuset="0x0000ff00" complete_cpuset="0x0000ff00" online_cpuset="0x0000ff00" allowed_cpuset="0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
           <object type="Cache" cpuset="0x00000100" complete_cpuset="0x00000100" online_cpuset="0x00000100" allowed_cpuset="0x00000100" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -240,9 +246,10 @@
         </object>
       </object>
       <object type="Bridge" os_index="2" bridge_type="0-1" depth="0" bridge_pci="0000:[80-83]">
-        <object type="Bridge" os_index="524320" bridge_type="1-1" depth="0" bridge_pci="0000:[81-81]" pci_busid="0000:80:02.0" pci_type="0604 [8086:3c04] [0000:0000] 07" pci_link_speed="0.000000"/>
-        <object type="Bridge" os_index="524322" bridge_type="1-1" depth="0" bridge_pci="0000:[82-82]" pci_busid="0000:80:02.2" pci_type="0604 [8086:3c06] [0000:0000] 07" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="524320" bridge_type="1-1" depth="1" bridge_pci="0000:[81-81]" pci_busid="0000:80:02.0" pci_type="0604 [8086:3c04] [0000:0000] 07" pci_link_speed="0.000000"/>
+        <object type="Bridge" os_index="524322" bridge_type="1-1" depth="1" bridge_pci="0000:[82-82]" pci_busid="0000:80:02.2" pci_type="0604 [8086:3c06] [0000:0000] 07" pci_link_speed="0.000000">
           <object type="PCIDev" os_index="532480" pci_busid="0000:82:00.0" pci_type="0280 [15b3:1003] [15b3:0059] 00" pci_link_speed="0.000000">
+            <info name="PCISlot" value="01"/>
             <object type="OSDev" name="ib0" osdev_type="2">
               <info name="Address" value="80:00:00:48:fe:80:00:00:00:00:00:00:00:02:c9:03:00:f9:bf:a1"/>
               <info name="Port" value="1"/>
@@ -257,8 +264,9 @@
             </object>
           </object>
         </object>
-        <object type="Bridge" os_index="524336" bridge_type="1-1" depth="0" bridge_pci="0000:[83-83]" pci_busid="0000:80:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="524336" bridge_type="1-1" depth="1" bridge_pci="0000:[83-83]" pci_busid="0000:80:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
           <object type="PCIDev" os_index="536576" pci_busid="0000:83:00.0" pci_type="0b40 [8086:225c] [8086:2500] 10" pci_link_speed="0.000000">
+            <info name="PCISlot" value="02"/>
             <object type="OSDev" name="mic0" osdev_type="5">
               <info name="CoProcType" value="MIC"/>
               <info name="MICFamily" value="Knights Corner"/>
@@ -298,6 +306,70 @@
         <object type="PCIDev" os_index="524372" pci_busid="0000:80:05.4" pci_type="0800 [8086:3c2c] [1028:0518] 07" pci_link_speed="0.000000"/>
       </object>
     </object>
+    <object type="Misc" os_index="0">
+      <info name="Type" value="MemoryModule"/>
+      <info name="DeviceLocation" value="DIMM_A1 "/>
+      <info name="Vendor" value="00AD04B300AD"/>
+      <info name="SerialNumber" value="48AAE639"/>
+      <info name="AssetTag" value="01115021"/>
+      <info name="PartNumber" value="HMT351R7CFR8C-PB  "/>
+    </object>
+    <object type="Misc" os_index="1">
+      <info name="Type" value="MemoryModule"/>
+      <info name="DeviceLocation" value="DIMM_A2 "/>
+      <info name="Vendor" value="00AD04B300AD"/>
+      <info name="SerialNumber" value="486AE620"/>
+      <info name="AssetTag" value="01115021"/>
+      <info name="PartNumber" value="HMT351R7CFR8C-PB  "/>
+    </object>
+    <object type="Misc" os_index="2">
+      <info name="Type" value="MemoryModule"/>
+      <info name="DeviceLocation" value="DIMM_A3 "/>
+      <info name="Vendor" value="00AD04B300AD"/>
+      <info name="SerialNumber" value="3667956F"/>
+      <info name="AssetTag" value="01115021"/>
+      <info name="PartNumber" value="HMT351R7CFR8C-PB  "/>
+    </object>
+    <object type="Misc" os_index="3">
+      <info name="Type" value="MemoryModule"/>
+      <info name="DeviceLocation" value="DIMM_A4 "/>
+      <info name="Vendor" value="00AD04B300AD"/>
+      <info name="SerialNumber" value="36679587"/>
+      <info name="AssetTag" value="01115021"/>
+      <info name="PartNumber" value="HMT351R7CFR8C-PB  "/>
+    </object>
+    <object type="Misc" os_index="12">
+      <info name="Type" value="MemoryModule"/>
+      <info name="DeviceLocation" value="DIMM_B1 "/>
+      <info name="Vendor" value="00AD04B300AD"/>
+      <info name="SerialNumber" value="484AE61F"/>
+      <info name="AssetTag" value="01115021"/>
+      <info name="PartNumber" value="HMT351R7CFR8C-PB  "/>
+    </object>
+    <object type="Misc" os_index="13">
+      <info name="Type" value="MemoryModule"/>
+      <info name="DeviceLocation" value="DIMM_B2 "/>
+      <info name="Vendor" value="00AD04B300AD"/>
+      <info name="SerialNumber" value="482AE655"/>
+      <info name="AssetTag" value="01115021"/>
+      <info name="PartNumber" value="HMT351R7CFR8C-PB  "/>
+    </object>
+    <object type="Misc" os_index="14">
+      <info name="Type" value="MemoryModule"/>
+      <info name="DeviceLocation" value="DIMM_B3 "/>
+      <info name="Vendor" value="00AD04B300AD"/>
+      <info name="SerialNumber" value="488AE635"/>
+      <info name="AssetTag" value="01115021"/>
+      <info name="PartNumber" value="HMT351R7CFR8C-PB  "/>
+    </object>
+    <object type="Misc" os_index="15">
+      <info name="Type" value="MemoryModule"/>
+      <info name="DeviceLocation" value="DIMM_B4 "/>
+      <info name="Vendor" value="00AD04B300AD"/>
+      <info name="SerialNumber" value="48AAE621"/>
+      <info name="AssetTag" value="01115021"/>
+      <info name="PartNumber" value="HMT351R7CFR8C-PB  "/>
+    </object>
     <object type="Bridge" os_index="1" bridge_type="0-1" depth="0" bridge_pci="0000:[7f-7f]">
       <object type="PCIDev" os_index="520320" pci_busid="0000:7f:08.0" pci_type="0880 [8086:3c80] [1028:0518] 07" pci_link_speed="0.000000"/>
       <object type="PCIDev" os_index="520323" pci_busid="0000:7f:08.3" pci_type="0880 [8086:3c83] [1028:0518] 07" pci_link_speed="0.000000"/>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32em64t-2n8c+1mic.tar.bz2 b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32em64t-2n8c+1mic.tar.bz2
index 2ba8c5c..09d7bb9 100644
Binary files a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32em64t-2n8c+1mic.tar.bz2 and b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32em64t-2n8c+1mic.tar.bz2 differ
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32ppc-4n4c2c.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32ppc-4n4c2c.output
index 7655d90..733abb4 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32ppc-4n4c2c.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32ppc-4n4c2c.output
@@ -1,4 +1,4 @@
-Machine (P#0 total=129236992KB Backend=Linux)
+Machine (P#0 total=129236992KB PlatformName=pSeries PlatformModel="CHRP IBM,9125-F2A" Backend=Linux Architecture=ppc)
   NUMANode L#0 (P#0 local=31195136KB total=31195136KB)
     L3Cache L#0 (size=32768KB linesize=128)
       L2Cache L#0 (size=4096KB linesize=128 ways=8)
@@ -171,7 +171,7 @@ depth 0:	1 Machine (type #1)
      depth 5:	32 L1iCache (type #4)
       depth 6:	32 Core (type #5)
        depth 7:	32 PU (type #6)
-latency matrix between NUMANodes (depth 1) by logical indexes:
+relative latency matrix between NUMANodes (depth 1) by logical indexes:
   index     0     1     2     3
       0 1.000 2.000 2.000 2.000
       1 2.000 1.000 2.000 2.000
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32ppc-4n4c2c.tar.bz2 b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32ppc-4n4c2c.tar.bz2
index 5db2a8b..8b1bf2f 100644
Binary files a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32ppc-4n4c2c.tar.bz2 and b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32ppc-4n4c2c.tar.bz2 differ
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/40intel64-2g2n4c+pci.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/40intel64-2g2n4c+pci.output
index da79304..d447f97 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/40intel64-2g2n4c+pci.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/40intel64-2g2n4c+pci.output
@@ -38,7 +38,7 @@
     </distances>
     <object type="Group" cpuset="0x00000055,0x55555555" complete_cpuset="0x00000055,0x55555555" online_cpuset="0x00000055,0x55555555" allowed_cpuset="0x00000055,0x55555555" nodeset="0x00000005" complete_nodeset="0x00000005" allowed_nodeset="0x00000005" depth="4294967295">
       <object type="NUMANode" os_index="0" cpuset="0x00000011,0x11111111" complete_cpuset="0x00000011,0x11111111" online_cpuset="0x00000011,0x11111111" allowed_cpuset="0x00000011,0x11111111" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="137425154048">
-        <object type="Socket" os_index="0" cpuset="0x00000011,0x11111111" complete_cpuset="0x00000011,0x11111111" online_cpuset="0x00000011,0x11111111" allowed_cpuset="0x00000011,0x11111111" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+        <object type="Package" os_index="0" cpuset="0x00000011,0x11111111" complete_cpuset="0x00000011,0x11111111" online_cpuset="0x00000011,0x11111111" allowed_cpuset="0x00000011,0x11111111" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E7- 4870  @ 2.40GHz"/>
           <object type="Cache" cpuset="0x00000011,0x11111111" complete_cpuset="0x00000011,0x11111111" online_cpuset="0x00000011,0x11111111" allowed_cpuset="0x00000011,0x11111111" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="31457280" depth="3" cache_linesize="64" cache_associativity="24" cache_type="0">
             <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -135,7 +135,7 @@
         </object>
       </object>
       <object type="NUMANode" os_index="2" cpuset="0x00000044,0x44444444" complete_cpuset="0x00000044,0x44444444" online_cpuset="0x00000044,0x44444444" allowed_cpuset="0x00000044,0x44444444" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" local_memory="137438953472">
-        <object type="Socket" os_index="2" cpuset="0x00000044,0x44444444" complete_cpuset="0x00000044,0x44444444" online_cpuset="0x00000044,0x44444444" allowed_cpuset="0x00000044,0x44444444" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+        <object type="Package" os_index="2" cpuset="0x00000044,0x44444444" complete_cpuset="0x00000044,0x44444444" online_cpuset="0x00000044,0x44444444" allowed_cpuset="0x00000044,0x44444444" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E7- 4870  @ 2.40GHz"/>
           <object type="Cache" cpuset="0x00000044,0x44444444" complete_cpuset="0x00000044,0x44444444" online_cpuset="0x00000044,0x44444444" allowed_cpuset="0x00000044,0x44444444" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="31457280" depth="3" cache_linesize="64" cache_associativity="24" cache_type="0">
             <object type="Cache" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -233,12 +233,14 @@
       </object>
       <object type="Bridge" os_index="0" bridge_type="0-1" depth="0" bridge_pci="0000:[00-09]">
         <object type="PCIDev" os_index="0" pci_busid="0000:00:00.0" pci_type="0600 [8086:3407] [1028:02d3] 22" pci_link_speed="0.000000"/>
-        <object type="Bridge" os_index="48" bridge_type="1-1" depth="0" bridge_pci="0000:[01-01]" pci_busid="0000:00:03.0" pci_type="0604 [8086:340a] [0000:0000] 22" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="48" bridge_type="1-1" depth="1" bridge_pci="0000:[01-01]" pci_busid="0000:00:03.0" pci_type="0604 [8086:340a] [0000:0000] 22" pci_link_speed="0.000000">
           <object type="PCIDev" os_index="4096" pci_busid="0000:01:00.0" pci_type="0104 [1000:0079] [1028:1f17] 05" pci_link_speed="0.000000">
-            <object type="OSDev" name="sda" osdev_type="0"/>
+            <object type="OSDev" name="sda" osdev_type="0">
+              <info name="LinuxDeviceID" value="8:0"/>
+            </object>
           </object>
         </object>
-        <object type="Bridge" os_index="80" bridge_type="1-1" depth="0" bridge_pci="0000:[02-02]" pci_busid="0000:00:05.0" pci_type="0604 [8086:340c] [0000:0000] 22" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="80" bridge_type="1-1" depth="1" bridge_pci="0000:[02-02]" pci_busid="0000:00:05.0" pci_type="0604 [8086:340c] [0000:0000] 22" pci_link_speed="0.000000">
           <object type="PCIDev" os_index="8192" pci_busid="0000:02:00.0" pci_type="0200 [14e4:1639] [1028:02d3] 20" pci_link_speed="0.000000">
             <object type="OSDev" name="eth0" osdev_type="2">
               <info name="Address" value="78:2b:cb:38:ac:1b"/>
@@ -250,7 +252,7 @@
             </object>
           </object>
         </object>
-        <object type="Bridge" os_index="96" bridge_type="1-1" depth="0" bridge_pci="0000:[03-03]" pci_busid="0000:00:06.0" pci_type="0604 [8086:340d] [0000:0000] 22" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="96" bridge_type="1-1" depth="1" bridge_pci="0000:[03-03]" pci_busid="0000:00:06.0" pci_type="0604 [8086:340d] [0000:0000] 22" pci_link_speed="0.000000">
           <object type="PCIDev" os_index="12288" pci_busid="0000:03:00.0" pci_type="0200 [14e4:1639] [1028:02d3] 20" pci_link_speed="0.000000">
             <object type="OSDev" name="eth2" osdev_type="2">
               <info name="Address" value="78:2b:cb:38:ac:1f"/>
@@ -262,33 +264,35 @@
             </object>
           </object>
         </object>
-        <object type="Bridge" os_index="112" bridge_type="1-1" depth="0" bridge_pci="0000:[04-04]" pci_busid="0000:00:07.0" pci_type="0604 [8086:340e] [0000:0000] 22" pci_link_speed="0.000000"/>
-        <object type="Bridge" os_index="128" bridge_type="1-1" depth="0" bridge_pci="0000:[05-05]" pci_busid="0000:00:08.0" pci_type="0604 [8086:340f] [0000:0000] 22" pci_link_speed="0.000000"/>
-        <object type="Bridge" os_index="144" bridge_type="1-1" depth="0" bridge_pci="0000:[06-06]" pci_busid="0000:00:09.0" pci_type="0604 [8086:3410] [0000:0000] 22" pci_link_speed="0.000000"/>
-        <object type="Bridge" os_index="160" bridge_type="1-1" depth="0" bridge_pci="0000:[07-07]" pci_busid="0000:00:0a.0" pci_type="0604 [8086:3411] [0000:0000] 22" pci_link_speed="0.000000"/>
+        <object type="Bridge" os_index="112" bridge_type="1-1" depth="1" bridge_pci="0000:[04-04]" pci_busid="0000:00:07.0" pci_type="0604 [8086:340e] [0000:0000] 22" pci_link_speed="0.000000"/>
+        <object type="Bridge" os_index="128" bridge_type="1-1" depth="1" bridge_pci="0000:[05-05]" pci_busid="0000:00:08.0" pci_type="0604 [8086:340f] [0000:0000] 22" pci_link_speed="0.000000"/>
+        <object type="Bridge" os_index="144" bridge_type="1-1" depth="1" bridge_pci="0000:[06-06]" pci_busid="0000:00:09.0" pci_type="0604 [8086:3410] [0000:0000] 22" pci_link_speed="0.000000"/>
+        <object type="Bridge" os_index="160" bridge_type="1-1" depth="1" bridge_pci="0000:[07-07]" pci_busid="0000:00:0a.0" pci_type="0604 [8086:3411] [0000:0000] 22" pci_link_speed="0.000000"/>
         <object type="PCIDev" os_index="320" pci_busid="0000:00:14.0" pci_type="0800 [8086:342e] [0000:0000] 22" pci_link_speed="0.000000"/>
         <object type="PCIDev" os_index="321" pci_busid="0000:00:14.1" pci_type="0800 [8086:3422] [0000:0000] 22" pci_link_speed="0.000000"/>
         <object type="PCIDev" os_index="322" pci_busid="0000:00:14.2" pci_type="0800 [8086:3423] [0000:0000] 22" pci_link_speed="0.000000"/>
         <object type="PCIDev" os_index="416" pci_busid="0000:00:1a.0" pci_type="0c03 [8086:3a37] [1028:02d3] 00" pci_link_speed="0.000000"/>
         <object type="PCIDev" os_index="417" pci_busid="0000:00:1a.1" pci_type="0c03 [8086:3a38] [1028:02d3] 00" pci_link_speed="0.000000"/>
         <object type="PCIDev" os_index="423" pci_busid="0000:00:1a.7" pci_type="0c03 [8086:3a3c] [1028:02d3] 00" pci_link_speed="0.000000"/>
-        <object type="Bridge" os_index="448" bridge_type="1-1" depth="0" bridge_pci="0000:[08-08]" pci_busid="0000:00:1c.0" pci_type="0604 [8086:3a40] [0000:0000] 00" pci_link_speed="0.000000"/>
+        <object type="Bridge" os_index="448" bridge_type="1-1" depth="1" bridge_pci="0000:[08-08]" pci_busid="0000:00:1c.0" pci_type="0604 [8086:3a40] [0000:0000] 00" pci_link_speed="0.000000"/>
         <object type="PCIDev" os_index="464" pci_busid="0000:00:1d.0" pci_type="0c03 [8086:3a34] [1028:02d3] 00" pci_link_speed="0.000000"/>
         <object type="PCIDev" os_index="465" pci_busid="0000:00:1d.1" pci_type="0c03 [8086:3a35] [1028:02d3] 00" pci_link_speed="0.000000"/>
         <object type="PCIDev" os_index="466" pci_busid="0000:00:1d.2" pci_type="0c03 [8086:3a36] [1028:02d3] 00" pci_link_speed="0.000000"/>
         <object type="PCIDev" os_index="471" pci_busid="0000:00:1d.7" pci_type="0c03 [8086:3a3a] [1028:02d3] 00" pci_link_speed="0.000000"/>
-        <object type="Bridge" os_index="480" bridge_type="1-1" depth="0" bridge_pci="0000:[09-09]" pci_busid="0000:00:1e.0" pci_type="0604 [8086:244e] [0000:0000] 90" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="480" bridge_type="1-1" depth="1" bridge_pci="0000:[09-09]" pci_busid="0000:00:1e.0" pci_type="0604 [8086:244e] [0000:0000] 90" pci_link_speed="0.000000">
           <object type="PCIDev" os_index="36912" pci_busid="0000:09:03.0" pci_type="0300 [102b:0532] [1028:02d3] 0a" pci_link_speed="0.000000"/>
         </object>
         <object type="PCIDev" os_index="496" pci_busid="0000:00:1f.0" pci_type="0601 [8086:3a18] [1028:02d3] 00" pci_link_speed="0.000000"/>
         <object type="PCIDev" os_index="498" pci_busid="0000:00:1f.2" pci_type="0101 [8086:3a20] [1028:02d3] 00" pci_link_speed="0.000000">
-          <object type="OSDev" name="sr0" osdev_type="0"/>
+          <object type="OSDev" name="sr0" osdev_type="0">
+            <info name="LinuxDeviceID" value="11:0"/>
+          </object>
         </object>
       </object>
     </object>
     <object type="Group" cpuset="0x000000aa,0xaaaaaaaa" complete_cpuset="0x000000aa,0xaaaaaaaa" online_cpuset="0x000000aa,0xaaaaaaaa" allowed_cpuset="0x000000aa,0xaaaaaaaa" nodeset="0x0000000a" complete_nodeset="0x0000000a" allowed_nodeset="0x0000000a" depth="4294967295">
       <object type="NUMANode" os_index="1" cpuset="0x00000022,0x22222222" complete_cpuset="0x00000022,0x22222222" online_cpuset="0x00000022,0x22222222" allowed_cpuset="0x00000022,0x22222222" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="137438953472">
-        <object type="Socket" os_index="1" cpuset="0x00000022,0x22222222" complete_cpuset="0x00000022,0x22222222" online_cpuset="0x00000022,0x22222222" allowed_cpuset="0x00000022,0x22222222" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+        <object type="Package" os_index="1" cpuset="0x00000022,0x22222222" complete_cpuset="0x00000022,0x22222222" online_cpuset="0x00000022,0x22222222" allowed_cpuset="0x00000022,0x22222222" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E7- 4870  @ 2.40GHz"/>
           <object type="Cache" cpuset="0x00000022,0x22222222" complete_cpuset="0x00000022,0x22222222" online_cpuset="0x00000022,0x22222222" allowed_cpuset="0x00000022,0x22222222" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="31457280" depth="3" cache_linesize="64" cache_associativity="24" cache_type="0">
             <object type="Cache" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -385,7 +389,7 @@
         </object>
       </object>
       <object type="NUMANode" os_index="3" cpuset="0x00000088,0x88888888" complete_cpuset="0x00000088,0x88888888" online_cpuset="0x00000088,0x88888888" allowed_cpuset="0x00000088,0x88888888" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" local_memory="137438953472">
-        <object type="Socket" os_index="3" cpuset="0x00000088,0x88888888" complete_cpuset="0x00000088,0x88888888" online_cpuset="0x00000088,0x88888888" allowed_cpuset="0x00000088,0x88888888" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+        <object type="Package" os_index="3" cpuset="0x00000088,0x88888888" complete_cpuset="0x00000088,0x88888888" online_cpuset="0x00000088,0x88888888" allowed_cpuset="0x00000088,0x88888888" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E7- 4870  @ 2.40GHz"/>
           <object type="Cache" cpuset="0x00000088,0x88888888" complete_cpuset="0x00000088,0x88888888" online_cpuset="0x00000088,0x88888888" allowed_cpuset="0x00000088,0x88888888" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="31457280" depth="3" cache_linesize="64" cache_associativity="24" cache_type="0">
             <object type="Cache" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -482,8 +486,8 @@
         </object>
       </object>
       <object type="Bridge" os_index="1" bridge_type="0-1" depth="0" bridge_pci="0000:[40-46]">
-        <object type="Bridge" os_index="262160" bridge_type="1-1" depth="0" bridge_pci="0000:[42-42]" pci_busid="0000:40:01.0" pci_type="0604 [8086:3408] [0000:0000] 22" pci_link_speed="0.000000"/>
-        <object type="Bridge" os_index="262192" bridge_type="1-1" depth="0" bridge_pci="0000:[43-43]" pci_busid="0000:40:03.0" pci_type="0604 [8086:340a] [0000:0000] 22" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="262160" bridge_type="1-1" depth="1" bridge_pci="0000:[42-42]" pci_busid="0000:40:01.0" pci_type="0604 [8086:3408] [0000:0000] 22" pci_link_speed="0.000000"/>
+        <object type="Bridge" os_index="262192" bridge_type="1-1" depth="1" bridge_pci="0000:[43-43]" pci_busid="0000:40:03.0" pci_type="0604 [8086:340a] [0000:0000] 22" pci_link_speed="0.000000">
           <object type="PCIDev" os_index="274432" pci_busid="0000:43:00.0" pci_type="0c06 [1077:7322] [1077:7322] 02" pci_link_speed="0.000000">
             <object type="OSDev" name="ib0" osdev_type="2">
               <info name="Address" value="80:00:00:03:fe:80:00:00:00:00:00:00:00:11:75:00:00:77:cf:c8"/>
@@ -499,9 +503,9 @@
             </object>
           </object>
         </object>
-        <object type="Bridge" os_index="262224" bridge_type="1-1" depth="0" bridge_pci="0000:[44-44]" pci_busid="0000:40:05.0" pci_type="0604 [8086:340c] [0000:0000] 22" pci_link_speed="0.000000"/>
-        <object type="Bridge" os_index="262256" bridge_type="1-1" depth="0" bridge_pci="0000:[45-45]" pci_busid="0000:40:07.0" pci_type="0604 [8086:340e] [0000:0000] 22" pci_link_speed="0.000000"/>
-        <object type="Bridge" os_index="262288" bridge_type="1-1" depth="0" bridge_pci="0000:[46-46]" pci_busid="0000:40:09.0" pci_type="0604 [8086:3410] [0000:0000] 22" pci_link_speed="0.000000"/>
+        <object type="Bridge" os_index="262224" bridge_type="1-1" depth="1" bridge_pci="0000:[44-44]" pci_busid="0000:40:05.0" pci_type="0604 [8086:340c] [0000:0000] 22" pci_link_speed="0.000000"/>
+        <object type="Bridge" os_index="262256" bridge_type="1-1" depth="1" bridge_pci="0000:[45-45]" pci_busid="0000:40:07.0" pci_type="0604 [8086:340e] [0000:0000] 22" pci_link_speed="0.000000"/>
+        <object type="Bridge" os_index="262288" bridge_type="1-1" depth="1" bridge_pci="0000:[46-46]" pci_busid="0000:40:09.0" pci_type="0604 [8086:3410] [0000:0000] 22" pci_link_speed="0.000000"/>
         <object type="PCIDev" os_index="262464" pci_busid="0000:40:14.0" pci_type="0800 [8086:342e] [0000:0000] 22" pci_link_speed="0.000000"/>
         <object type="PCIDev" os_index="262465" pci_busid="0000:40:14.1" pci_type="0800 [8086:3422] [0000:0000] 22" pci_link_speed="0.000000"/>
         <object type="PCIDev" os_index="262466" pci_busid="0000:40:14.2" pci_type="0800 [8086:3423] [0000:0000] 22" pci_link_speed="0.000000"/>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/40intel64-4n10c+pci-conflicts.env b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/40intel64-4n10c+pci-conflicts.env
new file mode 100644
index 0000000..47b5f1c
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/40intel64-4n10c+pci-conflicts.env
@@ -0,0 +1,6 @@
+HWLOC_HIDE_ERRORS=1
+export HWLOC_HIDE_ERRORS
+HWLOC_PU_DISTANCES=0,1,2,3:2*2
+export HWLOC_PU_DISTANCES
+HWLOC_NUMANode_DISTANCES=0,1,2,3:2*2
+export HWLOC_NUMANode_DISTANCES
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/40intel64-4n10c+pci-conflicts.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/40intel64-4n10c+pci-conflicts.output
new file mode 100644
index 0000000..8cdff01
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/40intel64-4n10c+pci-conflicts.output
@@ -0,0 +1,237 @@
+Machine (P#0 total=536857436KB Backend=Linux LinuxCgroup=/torque/513099.master.cm.cluster)
+  Group0 L#0 (total=268421980KB)
+    NUMANode L#0 (P#0 local=134204252KB total=134204252KB)
+      Package L#0 (P#0 CPUModel="Intel(R) Xeon(R) CPU E7- 4870  @ 2.40GHz")
+        L3Cache L#0 (size=30720KB linesize=64 ways=24)
+          L2Cache L#0 (size=256KB linesize=64 ways=8)
+            L1dCache L#0 (size=32KB linesize=64 ways=8)
+              L1iCache L#0 (size=32KB linesize=64 ways=4)
+                Core L#0 (P#0)
+                  PU L#0 (P#0)
+          L2Cache L#1 (size=256KB linesize=64 ways=8)
+            L1dCache L#1 (size=32KB linesize=64 ways=8)
+              L1iCache L#1 (size=32KB linesize=64 ways=4)
+                Core L#1 (P#1)
+                  PU L#1 (P#4)
+          L2Cache L#2 (size=256KB linesize=64 ways=8)
+            L1dCache L#2 (size=32KB linesize=64 ways=8)
+              L1iCache L#2 (size=32KB linesize=64 ways=4)
+                Core L#2 (P#2)
+                  PU L#2 (P#8)
+          L2Cache L#3 (size=256KB linesize=64 ways=8)
+            L1dCache L#3 (size=32KB linesize=64 ways=8)
+              L1iCache L#3 (size=32KB linesize=64 ways=4)
+                Core L#3 (P#8)
+                  PU L#3 (P#12)
+          L2Cache L#4 (size=256KB linesize=64 ways=8)
+            L1dCache L#4 (size=32KB linesize=64 ways=8)
+              L1iCache L#4 (size=32KB linesize=64 ways=4)
+                Core L#4 (P#9)
+                  PU L#4 (P#16)
+          L2Cache L#5 (size=256KB linesize=64 ways=8)
+            L1dCache L#5 (size=32KB linesize=64 ways=8)
+              L1iCache L#5 (size=32KB linesize=64 ways=4)
+                Core L#5 (P#16)
+                  PU L#5 (P#20)
+          L2Cache L#6 (size=256KB linesize=64 ways=8)
+            L1dCache L#6 (size=32KB linesize=64 ways=8)
+              L1iCache L#6 (size=32KB linesize=64 ways=4)
+                Core L#6 (P#17)
+                  PU L#6 (P#24)
+          L2Cache L#7 (size=256KB linesize=64 ways=8)
+            L1dCache L#7 (size=32KB linesize=64 ways=8)
+              L1iCache L#7 (size=32KB linesize=64 ways=4)
+                Core L#7 (P#18)
+                  PU L#7 (P#28)
+          L2Cache L#8 (size=256KB linesize=64 ways=8)
+            L1dCache L#8 (size=32KB linesize=64 ways=8)
+              L1iCache L#8 (size=32KB linesize=64 ways=4)
+                Core L#8 (P#24)
+                  PU L#8 (P#32)
+          L2Cache L#9 (size=256KB linesize=64 ways=8)
+            L1dCache L#9 (size=32KB linesize=64 ways=8)
+              L1iCache L#9 (size=32KB linesize=64 ways=4)
+                Core L#9 (P#25)
+                  PU L#9 (P#36)
+    NUMANode L#1 (P#1 local=134217728KB total=134217728KB)
+      Package L#1 (P#1 CPUModel="Intel(R) Xeon(R) CPU E7- 4870  @ 2.40GHz")
+        L3Cache L#1 (size=30720KB linesize=64 ways=24)
+          L2Cache L#10 (size=256KB linesize=64 ways=8)
+            L1dCache L#10 (size=32KB linesize=64 ways=8)
+              L1iCache L#10 (size=32KB linesize=64 ways=4)
+                Core L#10 (P#0)
+                  PU L#10 (P#1)
+          L2Cache L#11 (size=256KB linesize=64 ways=8)
+            L1dCache L#11 (size=32KB linesize=64 ways=8)
+              L1iCache L#11 (size=32KB linesize=64 ways=4)
+                Core L#11 (P#1)
+                  PU L#11 (P#5)
+          L2Cache L#12 (size=256KB linesize=64 ways=8)
+            L1dCache L#12 (size=32KB linesize=64 ways=8)
+              L1iCache L#12 (size=32KB linesize=64 ways=4)
+                Core L#12 (P#2)
+                  PU L#12 (P#9)
+          L2Cache L#13 (size=256KB linesize=64 ways=8)
+            L1dCache L#13 (size=32KB linesize=64 ways=8)
+              L1iCache L#13 (size=32KB linesize=64 ways=4)
+                Core L#13 (P#8)
+                  PU L#13 (P#13)
+          L2Cache L#14 (size=256KB linesize=64 ways=8)
+            L1dCache L#14 (size=32KB linesize=64 ways=8)
+              L1iCache L#14 (size=32KB linesize=64 ways=4)
+                Core L#14 (P#9)
+                  PU L#14 (P#17)
+          L2Cache L#15 (size=256KB linesize=64 ways=8)
+            L1dCache L#15 (size=32KB linesize=64 ways=8)
+              L1iCache L#15 (size=32KB linesize=64 ways=4)
+                Core L#15 (P#16)
+                  PU L#15 (P#21)
+          L2Cache L#16 (size=256KB linesize=64 ways=8)
+            L1dCache L#16 (size=32KB linesize=64 ways=8)
+              L1iCache L#16 (size=32KB linesize=64 ways=4)
+                Core L#16 (P#17)
+                  PU L#16 (P#25)
+          L2Cache L#17 (size=256KB linesize=64 ways=8)
+            L1dCache L#17 (size=32KB linesize=64 ways=8)
+              L1iCache L#17 (size=32KB linesize=64 ways=4)
+                Core L#17 (P#18)
+                  PU L#17 (P#29)
+          L2Cache L#18 (size=256KB linesize=64 ways=8)
+            L1dCache L#18 (size=32KB linesize=64 ways=8)
+              L1iCache L#18 (size=32KB linesize=64 ways=4)
+                Core L#18 (P#24)
+                  PU L#18 (P#33)
+          L2Cache L#19 (size=256KB linesize=64 ways=8)
+            L1dCache L#19 (size=32KB linesize=64 ways=8)
+              L1iCache L#19 (size=32KB linesize=64 ways=4)
+                Core L#19 (P#25)
+                  PU L#19 (P#37)
+  Group0 L#1 (total=268435456KB)
+    NUMANode L#2 (P#2 local=134217728KB total=134217728KB)
+      Package L#2 (P#2 CPUModel="Intel(R) Xeon(R) CPU E7- 4870  @ 2.40GHz")
+        L2Cache L#20 (size=256KB linesize=64 ways=8)
+          L1dCache L#20 (size=32KB linesize=64 ways=8)
+            L1iCache L#20 (size=32KB linesize=64 ways=4)
+              Core L#20 (P#0)
+                PU L#20 (P#2)
+        L2Cache L#21 (size=256KB linesize=64 ways=8)
+          L1dCache L#21 (size=32KB linesize=64 ways=8)
+            L1iCache L#21 (size=32KB linesize=64 ways=4)
+              Core L#21 (P#1)
+                PU L#21 (P#6)
+        L2Cache L#22 (size=256KB linesize=64 ways=8)
+          L1dCache L#22 (size=32KB linesize=64 ways=8)
+            L1iCache L#22 (size=32KB linesize=64 ways=4)
+              Core L#22 (P#2)
+                PU L#22 (P#10)
+        L2Cache L#23 (size=256KB linesize=64 ways=8)
+          L1dCache L#23 (size=32KB linesize=64 ways=8)
+            L1iCache L#23 (size=32KB linesize=64 ways=4)
+              Core L#23 (P#8)
+                PU L#23 (P#14)
+        L2Cache L#24 (size=256KB linesize=64 ways=8)
+          L1dCache L#24 (size=32KB linesize=64 ways=8)
+            L1iCache L#24 (size=32KB linesize=64 ways=4)
+              Core L#24 (P#9)
+                PU L#24 (P#18)
+        L2Cache L#25 (size=256KB linesize=64 ways=8)
+          L1dCache L#25 (size=32KB linesize=64 ways=8)
+            L1iCache L#25 (size=32KB linesize=64 ways=4)
+              Core L#25 (P#16)
+                PU L#25 (P#22)
+        L2Cache L#26 (size=256KB linesize=64 ways=8)
+          L1dCache L#26 (size=32KB linesize=64 ways=8)
+            L1iCache L#26 (size=32KB linesize=64 ways=4)
+              Core L#26 (P#17)
+                PU L#26 (P#26)
+        L2Cache L#27 (size=256KB linesize=64 ways=8)
+          L1dCache L#27 (size=32KB linesize=64 ways=8)
+            L1iCache L#27 (size=32KB linesize=64 ways=4)
+              Core L#27 (P#18)
+                PU L#27 (P#30)
+        L2Cache L#28 (size=256KB linesize=64 ways=8)
+          L1dCache L#28 (size=32KB linesize=64 ways=8)
+            L1iCache L#28 (size=32KB linesize=64 ways=4)
+              Core L#28 (P#24)
+                PU L#28 (P#34)
+        L2Cache L#29 (size=256KB linesize=64 ways=8)
+          L1dCache L#29 (size=32KB linesize=64 ways=8)
+            L1iCache L#29 (size=32KB linesize=64 ways=4)
+              Core L#29 (P#25)
+                PU L#29 (P#38)
+    NUMANode L#3 (P#3 local=134217728KB total=134217728KB)
+      L3Cache L#2 (size=30720KB linesize=64 ways=24)
+        L2Cache L#30 (size=256KB linesize=64 ways=8)
+          L1dCache L#30 (size=32KB linesize=64 ways=8)
+            L1iCache L#30 (size=32KB linesize=64 ways=4)
+              Core L#30 (P#0)
+                PU L#30 (P#3)
+        L2Cache L#31 (size=256KB linesize=64 ways=8)
+          L1dCache L#31 (size=32KB linesize=64 ways=8)
+            L1iCache L#31 (size=32KB linesize=64 ways=4)
+              Core L#31 (P#1)
+                PU L#31 (P#7)
+        L2Cache L#32 (size=256KB linesize=64 ways=8)
+          L1dCache L#32 (size=32KB linesize=64 ways=8)
+            L1iCache L#32 (size=32KB linesize=64 ways=4)
+              Core L#32 (P#2)
+                PU L#32 (P#11)
+        L2Cache L#33 (size=256KB linesize=64 ways=8)
+          L1dCache L#33 (size=32KB linesize=64 ways=8)
+            L1iCache L#33 (size=32KB linesize=64 ways=4)
+              Core L#33 (P#8)
+                PU L#33 (P#15)
+        L2Cache L#34 (size=256KB linesize=64 ways=8)
+          L1dCache L#34 (size=32KB linesize=64 ways=8)
+            L1iCache L#34 (size=32KB linesize=64 ways=4)
+              Core L#34 (P#9)
+                PU L#34 (P#19)
+        L2Cache L#35 (size=256KB linesize=64 ways=8)
+          L1dCache L#35 (size=32KB linesize=64 ways=8)
+            L1iCache L#35 (size=32KB linesize=64 ways=4)
+              Core L#35 (P#16)
+                PU L#35 (P#23)
+        L2Cache L#36 (size=256KB linesize=64 ways=8)
+          L1dCache L#36 (size=32KB linesize=64 ways=8)
+            L1iCache L#36 (size=32KB linesize=64 ways=4)
+              Core L#36 (P#17)
+                PU L#36 (P#27)
+        L2Cache L#37 (size=256KB linesize=64 ways=8)
+          L1dCache L#37 (size=32KB linesize=64 ways=8)
+            L1iCache L#37 (size=32KB linesize=64 ways=4)
+              Core L#37 (P#18)
+                PU L#37 (P#31)
+        L2Cache L#38 (size=256KB linesize=64 ways=8)
+          L1dCache L#38 (size=32KB linesize=64 ways=8)
+            L1iCache L#38 (size=32KB linesize=64 ways=4)
+              Core L#38 (P#24)
+                PU L#38 (P#35)
+        L2Cache L#39 (size=256KB linesize=64 ways=8)
+          L1dCache L#39 (size=32KB linesize=64 ways=8)
+            L1iCache L#39 (size=32KB linesize=64 ways=4)
+              Core L#39 (P#25)
+                PU L#39 (P#39)
+  Bridge Host->PCI L#0 (P#0 buses=0000:[00-01])
+    Bridge PCI->PCI (P#48 busid=0000:00:03.0 id=8086:340a class=0604(PCI_B) buses=0000:[01-01])
+      PCI 1000:0079 (P#4096 busid=0000:01:00.0 class=0104(RAID))
+        Block L#0 (LinuxDeviceID=8:0) "sda"
+depth 0:	1 Machine (type #1)
+ depth 1:	2 Group0 (type #7)
+  depth 2:	4 NUMANode (type #2)
+   depth 3:	3 Package (type #3)
+    depth 4:	3 L3Cache (type #4)
+     depth 5:	40 L2Cache (type #4)
+      depth 6:	40 L1dCache (type #4)
+       depth 7:	40 L1iCache (type #4)
+        depth 8:	40 Core (type #5)
+         depth 9:	40 PU (type #6)
+Special depth -3:	2 Bridge (type #9)
+Special depth -4:	1 PCI Device (type #10)
+Special depth -5:	1 OS Device (type #11)
+relative latency matrix between NUMANodes (depth 2) by logical indexes:
+  index     0     1     2     3
+      0 1.000 4.000 8.000 8.000
+      1 4.000 1.000 8.000 8.000
+      2 8.000 8.000 1.000 4.000
+      3 8.000 8.000 4.000 1.000
+Topology not from this system
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/40intel64-4n10c+pci-conflicts.tar.bz2 b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/40intel64-4n10c+pci-conflicts.tar.bz2
new file mode 100644
index 0000000..a302b32
Binary files /dev/null and b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/40intel64-4n10c+pci-conflicts.tar.bz2 differ
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/48amd64-4d2n6c-sparse.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/48amd64-4d2n6c-sparse.output
index 992ed2f..df3a5de 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/48amd64-4d2n6c-sparse.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/48amd64-4d2n6c-sparse.output
@@ -1,5 +1,5 @@
 Machine (P#0 total=100661148KB DMIProductName=DRACHMA DMIProductVersion="Rev 2" DMIProductSerial=0123456789 DMIProductUUID=008844D0-2214-DF11-B89F-F50F715B14E8 DMIBoardVendor=AMD DMIBoardName=DRACHMA DMIBoardVersion="Rev 2" DMIBoardSerial=0123456789 DMIBoardAssetTag= DMIChassisVendor=AMD DMIChassisType=23 DMIChassisVersion= DMIChassisSerial= DMIChassisAssetTag= DMIBIOSVendor="Phoenix Technologies Ltd." DMIBIOSVersion=PDPAX1-6 DMIBIOSDate=12/15/2009 DMISysVendor=AMD Backend=Linux)
-  Socket L#0 (P#0 total=25163676KB CPUModel="AMD Engineering Sample")
+  Package L#0 (P#0 total=25163676KB CPUModel="AMD Engineering Sample")
     NUMANode L#0 (P#0 local=8386460KB total=8386460KB)
       L3Cache L#0 (size=5118KB linesize=64 ways=48)
         L2Cache L#0 (size=512KB linesize=64 ways=16)
@@ -64,7 +64,7 @@ Machine (P#0 total=100661148KB DMIProductName=DRACHMA DMIProductVersion="Rev 2"
             L1iCache L#11 (size=64KB linesize=64 ways=2)
               Core L#11 (P#5)
                 PU L#11 (P#11)
-  Socket L#1 (P#1 total=25165824KB CPUModel="AMD Engineering Sample")
+  Package L#1 (P#1 total=25165824KB CPUModel="AMD Engineering Sample")
     NUMANode L#2 (P#2 local=8388608KB total=8388608KB)
       L3Cache L#2 (size=5118KB linesize=64 ways=48)
         L2Cache L#12 (size=512KB linesize=64 ways=16)
@@ -129,7 +129,7 @@ Machine (P#0 total=100661148KB DMIProductName=DRACHMA DMIProductVersion="Rev 2"
             L1iCache L#23 (size=64KB linesize=64 ways=2)
               Core L#23 (P#5)
                 PU L#23 (P#23)
-  Socket L#2 (P#2 total=25165824KB CPUModel="AMD Engineering Sample")
+  Package L#2 (P#2 total=25165824KB CPUModel="AMD Engineering Sample")
     NUMANode L#4 (P#34 local=8388608KB total=8388608KB)
       L3Cache L#4 (size=5118KB linesize=64 ways=48)
         L2Cache L#24 (size=512KB linesize=64 ways=16)
@@ -194,7 +194,7 @@ Machine (P#0 total=100661148KB DMIProductName=DRACHMA DMIProductVersion="Rev 2"
             L1iCache L#35 (size=64KB linesize=64 ways=2)
               Core L#35 (P#5)
                 PU L#35 (P#35)
-  Socket L#3 (P#3 total=25165824KB CPUModel="AMD Engineering Sample")
+  Package L#3 (P#3 total=25165824KB CPUModel="AMD Engineering Sample")
     NUMANode L#6 (P#72 local=8388608KB total=8388608KB)
       L3Cache L#6 (size=5118KB linesize=64 ways=48)
         L2Cache L#36 (size=512KB linesize=64 ways=16)
@@ -260,7 +260,7 @@ Machine (P#0 total=100661148KB DMIProductName=DRACHMA DMIProductVersion="Rev 2"
               Core L#47 (P#5)
                 PU L#47 (P#47)
 depth 0:	1 Machine (type #1)
- depth 1:	4 Socket (type #3)
+ depth 1:	4 Package (type #3)
   depth 2:	8 NUMANode (type #2)
    depth 3:	8 L3Cache (type #4)
     depth 4:	48 L2Cache (type #4)
@@ -268,7 +268,7 @@ depth 0:	1 Machine (type #1)
       depth 6:	48 L1iCache (type #4)
        depth 7:	48 Core (type #5)
         depth 8:	48 PU (type #6)
-latency matrix between NUMANodes (depth 2) by logical indexes:
+relative latency matrix between NUMANodes (depth 2) by logical indexes:
   index     0     1     2     3     4     5     6     7
       0 1.000 1.600 1.600 2.200 1.600 2.200 1.600 2.200
       1 1.600 1.000 2.200 1.600 1.600 2.200 2.200 1.600
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/4em64t-2c2t-ignore-reorder.options b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/4em64t-2c2t-ignore-reorder.options
index e866630..2875b61 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/4em64t-2c2t-ignore-reorder.options
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/4em64t-2c2t-ignore-reorder.options
@@ -1 +1 @@
-- -p --ignore Core --ignore Cache --ignore Socket --no-io
+- -p --ignore Core --ignore Cache --ignore Package --no-io
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/4ia64-4s.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/4ia64-4s.output
index 4217c41..9f5f83d 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/4ia64-4s.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/4ia64-4s.output
@@ -1,26 +1,26 @@
 Machine (P#0 Backend=Linux)
-  Socket L#0
+  Package L#0
     L3Cache L#0 (size=4096KB linesize=128 ways=16)
       L2Cache L#0 (size=256KB linesize=128 ways=8)
         L1dCache L#0 (size=16KB linesize=64 ways=4)
           L1iCache L#0 (size=16KB linesize=64 ways=4)
             Core L#0 (P#0)
               PU L#0 (P#0)
-  Socket L#1
+  Package L#1
     L3Cache L#1 (size=4096KB linesize=128 ways=16)
       L2Cache L#1 (size=256KB linesize=128 ways=8)
         L1dCache L#1 (size=16KB linesize=64 ways=4)
           L1iCache L#1 (size=16KB linesize=64 ways=4)
             Core L#1 (P#0)
               PU L#1 (P#1)
-  Socket L#2
+  Package L#2
     L3Cache L#2 (size=4096KB linesize=128 ways=16)
       L2Cache L#2 (size=256KB linesize=128 ways=8)
         L1dCache L#2 (size=16KB linesize=64 ways=4)
           L1iCache L#2 (size=16KB linesize=64 ways=4)
             Core L#2 (P#0)
               PU L#2 (P#2)
-  Socket L#3
+  Package L#3
     L3Cache L#3 (size=4096KB linesize=128 ways=16)
       L2Cache L#3 (size=256KB linesize=128 ways=8)
         L1dCache L#3 (size=16KB linesize=64 ways=4)
@@ -28,7 +28,7 @@ Machine (P#0 Backend=Linux)
             Core L#3 (P#0)
               PU L#3 (P#3)
 depth 0:	1 Machine (type #1)
- depth 1:	4 Socket (type #3)
+ depth 1:	4 Package (type #3)
   depth 2:	4 L3Cache (type #4)
    depth 3:	4 L2Cache (type #4)
     depth 4:	4 L1dCache (type #4)
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/4qs22-2s2t.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/4qs22-2s2t.output
index 4641091..290876b 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/4qs22-2s2t.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/4qs22-2s2t.output
@@ -8,7 +8,7 @@ Machine (P#0 total=16777216KB Backend=Linux)
 depth 0:	1 Machine (type #1)
  depth 1:	2 NUMANode (type #2)
   depth 2:	4 PU (type #6)
-latency matrix between NUMANodes (depth 1) by logical indexes:
+relative latency matrix between NUMANodes (depth 1) by logical indexes:
   index     0     1
       0 1.000 2.000
       1 2.000 1.000
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/64amd64-4s2n4ca2co.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/64amd64-4s2n4ca2co.output
index 7fe443f..320a129 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/64amd64-4s2n4ca2co.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/64amd64-4s2n4ca2co.output
@@ -1,5 +1,5 @@
 Machine (P#0 total=125805356KB DMIProductName="PowerEdge C6145 " DMIProductVersion="        " DMIBoardVendor="Dell                            " DMIBoardName=040N24 DMIBoardVersion="A01                   " DMIBoardAssetTag=".2                       " DMIChassisVendor="Dell Inc.                       " DMIChassisType=23 DMIChassisVersion="   " DMIChassisAssetTag="        " DMIBIOSVendor="Dell Inc." DMIBIOSVersion=2.5.91 DMIBIOSDate=11/04/2011 DMISysVendor="Dell                            " Backend=Linux)
-  Socket L#0 (P#0 total=33547052KB CPUModel="AMD Opteron(TM) Processor 6276                 ")
+  Package L#0 (P#0 total=33547052KB CPUModel="AMD Opteron(TM) Processor 6276                 ")
     NUMANode L#0 (P#0 local=16769836KB total=16769836KB)
       L3Cache L#0 (size=6144KB linesize=64 ways=64)
         L2Cache L#0 (size=2048KB linesize=64 ways=16)
@@ -68,7 +68,7 @@ Machine (P#0 total=125805356KB DMIProductName="PowerEdge C6145 " DMIProductVersi
             L1dCache L#15 (size=16KB linesize=64 ways=4)
               Core L#15 (P#7)
                 PU L#15 (P#15)
-  Socket L#1 (P#1 total=33554432KB CPUModel="AMD Opteron(TM) Processor 6276                 ")
+  Package L#1 (P#1 total=33554432KB CPUModel="AMD Opteron(TM) Processor 6276                 ")
     NUMANode L#2 (P#2 local=16777216KB total=16777216KB)
       L3Cache L#2 (size=6144KB linesize=64 ways=64)
         L2Cache L#8 (size=2048KB linesize=64 ways=16)
@@ -137,7 +137,7 @@ Machine (P#0 total=125805356KB DMIProductName="PowerEdge C6145 " DMIProductVersi
             L1dCache L#31 (size=16KB linesize=64 ways=4)
               Core L#31 (P#7)
                 PU L#31 (P#31)
-  Socket L#2 (P#2 total=25165824KB CPUModel="AMD Opteron(TM) Processor 6276                 ")
+  Package L#2 (P#2 total=25165824KB CPUModel="AMD Opteron(TM) Processor 6276                 ")
     NUMANode L#4 (P#4 local=16777216KB total=16777216KB)
       L3Cache L#4 (size=6144KB linesize=64 ways=64)
         L2Cache L#16 (size=2048KB linesize=64 ways=16)
@@ -206,7 +206,7 @@ Machine (P#0 total=125805356KB DMIProductName="PowerEdge C6145 " DMIProductVersi
             L1dCache L#47 (size=16KB linesize=64 ways=4)
               Core L#47 (P#7)
                 PU L#47 (P#47)
-  Socket L#3 (P#3 total=33538048KB CPUModel="AMD Opteron(TM) Processor 6276                 ")
+  Package L#3 (P#3 total=33538048KB CPUModel="AMD Opteron(TM) Processor 6276                 ")
     NUMANode L#6 (P#6 local=16777216KB total=16777216KB)
       L3Cache L#6 (size=6144KB linesize=64 ways=64)
         L2Cache L#24 (size=2048KB linesize=64 ways=16)
@@ -276,7 +276,7 @@ Machine (P#0 total=125805356KB DMIProductName="PowerEdge C6145 " DMIProductVersi
               Core L#63 (P#7)
                 PU L#63 (P#63)
 depth 0:	1 Machine (type #1)
- depth 1:	4 Socket (type #3)
+ depth 1:	4 Package (type #3)
   depth 2:	8 NUMANode (type #2)
    depth 3:	8 L3Cache (type #4)
     depth 4:	32 L2Cache (type #4)
@@ -284,7 +284,7 @@ depth 0:	1 Machine (type #1)
       depth 6:	64 L1dCache (type #4)
        depth 7:	64 Core (type #5)
         depth 8:	64 PU (type #6)
-latency matrix between NUMANodes (depth 2) by logical indexes:
+relative latency matrix between NUMANodes (depth 2) by logical indexes:
   index     0     1     2     3     4     5     6     7
       0 1.000 1.600 1.600 2.200 1.600 2.200 1.600 2.200
       1 1.600 1.000 2.200 1.600 1.600 2.200 2.200 1.600
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/64fake-4n2s2ca2c2t.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/64fake-4n2s2ca2c2t.output
index 477de21..0dba786 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/64fake-4n2s2ca2c2t.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/64fake-4n2s2ca2c2t.output
@@ -1,6 +1,6 @@
 Machine (P#0 total=4194304KB Backend=Linux)
   NUMANode L#0 (P#0 local=1048576KB total=1048576KB)
-    Socket L#0 (P#0)
+    Package L#0 (P#0)
       L3Cache L#0 (size=8192KB linesize=64 ways=16)
         L2Cache L#0 (size=256KB linesize=64 ways=8)
           L1dCache L#0 (size=32KB linesize=64 ways=8)
@@ -24,7 +24,7 @@ Machine (P#0 total=4194304KB Backend=Linux)
               Core L#3 (P#3)
                 PU L#6 (P#3)
                 PU L#7 (P#7)
-    Socket L#1 (P#1)
+    Package L#1 (P#1)
       L3Cache L#1 (size=8192KB linesize=64 ways=16)
         L2Cache L#2 (size=256KB linesize=64 ways=8)
           L1dCache L#4 (size=32KB linesize=64 ways=8)
@@ -49,7 +49,7 @@ Machine (P#0 total=4194304KB Backend=Linux)
                 PU L#14 (P#11)
                 PU L#15 (P#15)
   NUMANode L#1 (P#1 local=1048576KB total=1048576KB)
-    Socket L#2 (P#2)
+    Package L#2 (P#2)
       L3Cache L#2 (size=8192KB linesize=64 ways=16)
         L2Cache L#4 (size=256KB linesize=64 ways=8)
           L1dCache L#8 (size=32KB linesize=64 ways=8)
@@ -73,7 +73,7 @@ Machine (P#0 total=4194304KB Backend=Linux)
               Core L#11 (P#3)
                 PU L#22 (P#19)
                 PU L#23 (P#23)
-    Socket L#3 (P#3)
+    Package L#3 (P#3)
       L3Cache L#3 (size=8192KB linesize=64 ways=16)
         L2Cache L#6 (size=256KB linesize=64 ways=8)
           L1dCache L#12 (size=32KB linesize=64 ways=8)
@@ -98,7 +98,7 @@ Machine (P#0 total=4194304KB Backend=Linux)
                 PU L#30 (P#27)
                 PU L#31 (P#31)
   NUMANode L#2 (P#2 local=1048576KB total=1048576KB)
-    Socket L#4 (P#4)
+    Package L#4 (P#4)
       L3Cache L#4 (size=8192KB linesize=64 ways=16)
         L2Cache L#8 (size=256KB linesize=64 ways=8)
           L1dCache L#16 (size=32KB linesize=64 ways=8)
@@ -122,7 +122,7 @@ Machine (P#0 total=4194304KB Backend=Linux)
               Core L#19 (P#3)
                 PU L#38 (P#35)
                 PU L#39 (P#39)
-    Socket L#5 (P#5)
+    Package L#5 (P#5)
       L3Cache L#5 (size=8192KB linesize=64 ways=16)
         L2Cache L#10 (size=256KB linesize=64 ways=8)
           L1dCache L#20 (size=32KB linesize=64 ways=8)
@@ -147,7 +147,7 @@ Machine (P#0 total=4194304KB Backend=Linux)
                 PU L#46 (P#43)
                 PU L#47 (P#47)
   NUMANode L#3 (P#3 local=1048576KB total=1048576KB)
-    Socket L#6 (P#6)
+    Package L#6 (P#6)
       L3Cache L#6 (size=8192KB linesize=64 ways=16)
         L2Cache L#12 (size=256KB linesize=64 ways=8)
           L1dCache L#24 (size=32KB linesize=64 ways=8)
@@ -171,7 +171,7 @@ Machine (P#0 total=4194304KB Backend=Linux)
               Core L#27 (P#3)
                 PU L#54 (P#51)
                 PU L#55 (P#55)
-    Socket L#7 (P#7)
+    Package L#7 (P#7)
       L3Cache L#7 (size=8192KB linesize=64 ways=16)
         L2Cache L#14 (size=256KB linesize=64 ways=8)
           L1dCache L#28 (size=32KB linesize=64 ways=8)
@@ -197,7 +197,7 @@ Machine (P#0 total=4194304KB Backend=Linux)
                 PU L#63 (P#63)
 depth 0:	1 Machine (type #1)
  depth 1:	4 NUMANode (type #2)
-  depth 2:	8 Socket (type #3)
+  depth 2:	8 Package (type #3)
    depth 3:	8 L3Cache (type #4)
     depth 4:	16 L2Cache (type #4)
      depth 5:	32 L1dCache (type #4)
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8amd64-4n2c.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8amd64-4n2c.output
index 92c64d8..3265f3c 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8amd64-4n2c.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8amd64-4n2c.output
@@ -1,6 +1,6 @@
 Machine (P#0 total=67108240KB Backend=Linux)
   NUMANode L#0 (P#0 local=16776592KB total=16776592KB)
-    Socket L#0 (P#0 CPUModel="Dual-Core AMD Opteron(tm) Processor 8218")
+    Package L#0 (P#0 CPUModel="Dual-Core AMD Opteron(tm) Processor 8218")
       L2Cache L#0 (size=1024KB linesize=64 ways=16)
         L1dCache L#0 (size=64KB linesize=64 ways=2)
           L1iCache L#0 (size=64KB linesize=64 ways=2)
@@ -12,7 +12,7 @@ Machine (P#0 total=67108240KB Backend=Linux)
             Core L#1 (P#1)
               PU L#1 (P#4)
   NUMANode L#1 (P#1 local=16777216KB total=16777216KB)
-    Socket L#1 (P#1 CPUModel="Dual-Core AMD Opteron(tm) Processor 8218")
+    Package L#1 (P#1 CPUModel="Dual-Core AMD Opteron(tm) Processor 8218")
       L2Cache L#2 (size=1024KB linesize=64 ways=16)
         L1dCache L#2 (size=64KB linesize=64 ways=2)
           L1iCache L#2 (size=64KB linesize=64 ways=2)
@@ -24,7 +24,7 @@ Machine (P#0 total=67108240KB Backend=Linux)
             Core L#3 (P#1)
               PU L#3 (P#5)
   NUMANode L#2 (P#2 local=16777216KB total=16777216KB)
-    Socket L#2 (P#2 CPUModel="Dual-Core AMD Opteron(tm) Processor 8218")
+    Package L#2 (P#2 CPUModel="Dual-Core AMD Opteron(tm) Processor 8218")
       L2Cache L#4 (size=1024KB linesize=64 ways=16)
         L1dCache L#4 (size=64KB linesize=64 ways=2)
           L1iCache L#4 (size=64KB linesize=64 ways=2)
@@ -36,7 +36,7 @@ Machine (P#0 total=67108240KB Backend=Linux)
             Core L#5 (P#1)
               PU L#5 (P#6)
   NUMANode L#3 (P#3 local=16777216KB total=16777216KB)
-    Socket L#3 (P#3 CPUModel="Dual-Core AMD Opteron(tm) Processor 8218")
+    Package L#3 (P#3 CPUModel="Dual-Core AMD Opteron(tm) Processor 8218")
       L2Cache L#6 (size=1024KB linesize=64 ways=16)
         L1dCache L#6 (size=64KB linesize=64 ways=2)
           L1iCache L#6 (size=64KB linesize=64 ways=2)
@@ -49,13 +49,13 @@ Machine (P#0 total=67108240KB Backend=Linux)
               PU L#7 (P#7)
 depth 0:	1 Machine (type #1)
  depth 1:	4 NUMANode (type #2)
-  depth 2:	4 Socket (type #3)
+  depth 2:	4 Package (type #3)
    depth 3:	8 L2Cache (type #4)
     depth 4:	8 L1dCache (type #4)
      depth 5:	8 L1iCache (type #4)
       depth 6:	8 Core (type #5)
        depth 7:	8 PU (type #6)
-latency matrix between NUMANodes (depth 1) by logical indexes:
+relative latency matrix between NUMANodes (depth 1) by logical indexes:
   index     0     1     2     3
       0 1.000 2.000 2.000 2.000
       1 2.000 1.000 2.000 2.000
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8em64t-2s2ca2c-buggynuma.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8em64t-2s2ca2c-buggynuma.output
index 86a2319..3c7d86c 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8em64t-2s2ca2c-buggynuma.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8em64t-2s2ca2c-buggynuma.output
@@ -1,6 +1,6 @@
 Machine (P#0 total=2096684KB DMIProductName=AltixXE320 DMIProductVersion=AltixXE DMIBoardVendor=SM DMIBoardName=X7DWT-INF DMIBoardVersion=1.01 DMIBoardAssetTag= DMIChassisVendor=SGI.COM DMIChassisType=1 DMIChassisVersion=013-5556-002 DMIChassisAssetTag=" " DMIBIOSVendor="Phoenix Technologies LTD" DMIBIOSVersion=.0b
 DMIBIOSDate=03/24/2008 DMISysVendor=SGI.COM Backend=Linux LinuxCgroup=/)
   NUMANode L#0 (P#0 local=2096684KB total=2096684KB)
-    Socket L#0 (P#0 CPUModel="Intel(R) Xeon(R) CPU           E5472  @ 3.00GHz")
+    Package L#0 (P#0 CPUModel="Intel(R) Xeon(R) CPU           E5472  @ 3.00GHz")
       L2Cache L#0 (size=6144KB linesize=64 ways=24)
         L1dCache L#0 (size=32KB linesize=64 ways=8)
           L1iCache L#0 (size=32KB linesize=64 ways=8)
@@ -19,7 +19,7 @@ Machine (P#0 total=2096684KB DMIProductName=AltixXE320 DMIProductVersion=AltixXE
           L1iCache L#3 (size=32KB linesize=64 ways=8)
             Core L#3 (P#3)
               PU L#3 (P#6)
-    Socket L#1 (P#1 CPUModel="Intel(R) Xeon(R) CPU           E5472  @ 3.00GHz")
+    Package L#1 (P#1 CPUModel="Intel(R) Xeon(R) CPU           E5472  @ 3.00GHz")
       L2Cache L#2 (size=6144KB linesize=64 ways=24)
         L1dCache L#4 (size=32KB linesize=64 ways=8)
           L1iCache L#4 (size=32KB linesize=64 ways=8)
@@ -40,7 +40,7 @@ Machine (P#0 total=2096684KB DMIProductName=AltixXE320 DMIProductVersion=AltixXE
               PU L#7 (P#7)
 depth 0:	1 Machine (type #1)
  depth 1:	1 NUMANode (type #2)
-  depth 2:	2 Socket (type #3)
+  depth 2:	2 Package (type #3)
    depth 3:	4 L2Cache (type #4)
     depth 4:	8 L1dCache (type #4)
      depth 5:	8 L1iCache (type #4)
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8em64t-2s2ca2c.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8em64t-2s2ca2c.output
index df33984..e0df367 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8em64t-2s2ca2c.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8em64t-2s2ca2c.output
@@ -1,5 +1,5 @@
 Machine (P#0 local=16468292KB total=16468292KB DMIProductName="PowerEdge 2950" DMIProductVersion= DMIBoardVendor="Dell Inc." DMIBoardName=0NR282 DMIBoardVersion=A00 DMIBoardAssetTag= DMIChassisVendor="Dell Inc." DMIChassisType=23 DMIChassisVersion= DMIChassisAssetTag= DMIBIOSVendor="Dell Inc." DMIBIOSVersion=2.3.1 DMIBIOSDate=04/29/2008 DMISysVendor="Dell Inc." Backend=Linux)
-  Socket L#0 (P#0 CPUModel="Intel(R) Xeon(R) CPU           E5345  @ 2.33GHz")
+  Package L#0 (P#0 CPUModel="Intel(R) Xeon(R) CPU           E5345  @ 2.33GHz")
     L2Cache L#0 (size=4096KB linesize=64 ways=16)
       L1dCache L#0 (size=32KB linesize=64 ways=8)
         L1iCache L#0 (size=32KB linesize=64 ways=8)
@@ -18,7 +18,7 @@ Machine (P#0 local=16468292KB total=16468292KB DMIProductName="PowerEdge 2950" D
         L1iCache L#3 (size=32KB linesize=64 ways=8)
           Core L#3 (P#3)
             PU L#3 (P#6)
-  Socket L#1 (P#1 CPUModel="Intel(R) Xeon(R) CPU           E5345  @ 2.33GHz")
+  Package L#1 (P#1 CPUModel="Intel(R) Xeon(R) CPU           E5345  @ 2.33GHz")
     L2Cache L#2 (size=4096KB linesize=64 ways=16)
       L1dCache L#4 (size=32KB linesize=64 ways=8)
         L1iCache L#4 (size=32KB linesize=64 ways=8)
@@ -38,7 +38,7 @@ Machine (P#0 local=16468292KB total=16468292KB DMIProductName="PowerEdge 2950" D
           Core L#7 (P#3)
             PU L#7 (P#7)
 depth 0:	1 Machine (type #1)
- depth 1:	2 Socket (type #3)
+ depth 1:	2 Package (type #3)
   depth 2:	4 L2Cache (type #4)
    depth 3:	8 L1dCache (type #4)
     depth 4:	8 L1iCache (type #4)
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8em64t-2s4c-heterogeneous.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8em64t-2s4c-heterogeneous.output
index b697714..fe3f479 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8em64t-2s4c-heterogeneous.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8em64t-2s4c-heterogeneous.output
@@ -1,5 +1,5 @@
 Machine (P#0 local=16468292KB total=16468292KB DMIProductName="PowerEdge 2950" DMIProductVersion= DMIBoardVendor="Dell Inc." DMIBoardName=0NR282 DMIBoardVersion=A00 DMIBoardAssetTag= DMIChassisVendor="Dell Inc." DMIChassisType=23 DMIChassisVersion= DMIChassisAssetTag= DMIBIOSVendor="Dell Inc." DMIBIOSVersion=2.3.1 DMIBIOSDate=04/29/2008 DMISysVendor="Dell Inc." Backend=Linux)
-  Socket L#0 (P#0 CPUModel="Intel(R) Xeon(R) CPU           E5345  @ 2.33GHz")
+  Package L#0 (P#0 CPUModel="Intel(R) Xeon(R) CPU           E5345  @ 2.33GHz")
     L1dCache L#0 (size=32KB linesize=64 ways=8)
       L1iCache L#0 (size=32KB linesize=64 ways=8)
         Core L#0 (P#0)
@@ -15,7 +15,7 @@ Machine (P#0 local=16468292KB total=16468292KB DMIProductName="PowerEdge 2950" D
       L1iCache L#2 (size=32KB linesize=64 ways=8)
         Core L#3 (P#1)
           PU L#3 (P#4)
-  Socket L#1 (P#1 CPUModel="Intel(R) Xeon(R) CPU           E5345  @ 2.33GHz")
+  Package L#1 (P#1 CPUModel="Intel(R) Xeon(R) CPU           E5345  @ 2.33GHz")
     L2Cache L#1 (size=4096KB linesize=64 ways=16)
       Core L#4 (P#0)
         PU L#4 (P#1)
@@ -31,7 +31,7 @@ Machine (P#0 local=16468292KB total=16468292KB DMIProductName="PowerEdge 2950" D
           Core L#7 (P#3)
             PU L#7 (P#7)
 depth 0:	1 Machine (type #1)
- depth 1:	2 Socket (type #3)
+ depth 1:	2 Package (type #3)
   depth 2:	3 L2Cache (type #4)
    depth 3:	5 L1dCache (type #4)
     depth 4:	5 L1iCache (type #4)
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8em64t-4c2t.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8em64t-4c2t.output
index e5d0270..2f0ccad 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8em64t-4c2t.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8em64t-4c2t.output
@@ -1,5 +1,5 @@
 Machine (P#0 local=1016272KB total=1016272KB Backend=Linux Architecture=x86_64)
-  Socket L#0 (P#1 CPUVendor=GenuineIntel CPUFamilyNumber=6 CPUModelNumber=26 CPUModel="Genuine Intel(R) CPU           @ 0000 @ 2.93GHz")
+  Package L#0 (P#1 CPUVendor=GenuineIntel CPUFamilyNumber=6 CPUModelNumber=26 CPUModel="Genuine Intel(R) CPU           @ 0000 @ 2.93GHz" CPUStepping=2)
     L3Cache L#0 (size=8192KB linesize=64 ways=16)
       L2Cache L#0 (size=256KB linesize=64 ways=8)
         L1dCache L#0 (size=32KB linesize=64 ways=8)
@@ -26,7 +26,7 @@ Machine (P#0 local=1016272KB total=1016272KB Backend=Linux Architecture=x86_64)
               PU L#6 (P#3)
               PU L#7 (P#7)
 depth 0:	1 Machine (type #1)
- depth 1:	1 Socket (type #3)
+ depth 1:	1 Package (type #3)
   depth 2:	1 L3Cache (type #4)
    depth 3:	4 L2Cache (type #4)
     depth 4:	4 L1dCache (type #4)
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8ia64-2n2s2c.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8ia64-2n2s2c.output
index 596d28a..85ba156 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8ia64-2n2s2c.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8ia64-2n2s2c.output
@@ -1,6 +1,6 @@
 Machine (P#0 total=33331648KB Backend=Linux)
   NUMANode L#0 (P#0 local=16554432KB total=16554432KB)
-    Socket L#0 (P#0)
+    Package L#0 (P#0)
       L3Cache L#0 (size=9216KB linesize=128 ways=9)
         L2dCache L#0 (size=256KB linesize=128 ways=8)
           L2iCache L#0 (size=1024KB linesize=128 ways=8)
@@ -15,7 +15,7 @@ Machine (P#0 total=33331648KB Backend=Linux)
               L1iCache L#1 (size=16KB linesize=64 ways=4)
                 Core L#1 (P#1)
                   PU L#1 (P#2)
-    Socket L#1 (P#196611)
+    Package L#1 (P#196611)
       L3Cache L#2 (size=9216KB linesize=128 ways=9)
         L2dCache L#2 (size=256KB linesize=128 ways=8)
           L2iCache L#2 (size=1024KB linesize=128 ways=8)
@@ -31,7 +31,7 @@ Machine (P#0 total=33331648KB Backend=Linux)
                 Core L#3 (P#1)
                   PU L#3 (P#3)
   NUMANode L#1 (P#1 local=16777216KB total=16777216KB)
-    Socket L#2 (P#256)
+    Package L#2 (P#256)
       L3Cache L#4 (size=9216KB linesize=128 ways=9)
         L2dCache L#4 (size=256KB linesize=128 ways=8)
           L2iCache L#4 (size=1024KB linesize=128 ways=8)
@@ -46,7 +46,7 @@ Machine (P#0 total=33331648KB Backend=Linux)
               L1iCache L#5 (size=16KB linesize=64 ways=4)
                 Core L#5 (P#1)
                   PU L#5 (P#6)
-    Socket L#3 (P#196867)
+    Package L#3 (P#196867)
       L3Cache L#6 (size=9216KB linesize=128 ways=9)
         L2dCache L#6 (size=256KB linesize=128 ways=8)
           L2iCache L#6 (size=1024KB linesize=128 ways=8)
@@ -63,7 +63,7 @@ Machine (P#0 total=33331648KB Backend=Linux)
                   PU L#7 (P#7)
 depth 0:	1 Machine (type #1)
  depth 1:	2 NUMANode (type #2)
-  depth 2:	4 Socket (type #3)
+  depth 2:	4 Package (type #3)
    depth 3:	8 L3Cache (type #4)
     depth 4:	8 L2dCache (type #4)
      depth 5:	8 L2iCache (type #4)
@@ -71,7 +71,7 @@ depth 0:	1 Machine (type #1)
        depth 7:	8 L1iCache (type #4)
         depth 8:	8 Core (type #5)
          depth 9:	8 PU (type #6)
-latency matrix between NUMANodes (depth 1) by logical indexes:
+relative latency matrix between NUMANodes (depth 1) by logical indexes:
   index     0     1
       0 1.000 1.500
       1 1.500 1.000
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8ia64-2s2c2t.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8ia64-2s2c2t.output
index 836eca3..b5c5cbe 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8ia64-2s2c2t.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8ia64-2s2c2t.output
@@ -1,5 +1,5 @@
 Machine (P#0 local=16591312KB total=16591312KB Backend=Linux)
-  Socket L#0 (P#0)
+  Package L#0 (P#0)
     L3Cache L#0 (size=9216KB linesize=128 ways=9)
       L2dCache L#0 (size=256KB linesize=128 ways=8)
         L2iCache L#0 (size=1024KB linesize=128 ways=8)
@@ -16,7 +16,7 @@ Machine (P#0 local=16591312KB total=16591312KB Backend=Linux)
               Core L#1 (P#1)
                 PU L#2 (P#2)
                 PU L#3 (P#3)
-  Socket L#1 (P#1)
+  Package L#1 (P#1)
     L3Cache L#2 (size=9216KB linesize=128 ways=9)
       L2dCache L#2 (size=256KB linesize=128 ways=8)
         L2iCache L#2 (size=1024KB linesize=128 ways=8)
@@ -34,7 +34,7 @@ Machine (P#0 local=16591312KB total=16591312KB Backend=Linux)
                 PU L#6 (P#6)
                 PU L#7 (P#7)
 depth 0:	1 Machine (type #1)
- depth 1:	2 Socket (type #3)
+ depth 1:	2 Package (type #3)
   depth 2:	4 L3Cache (type #4)
    depth 3:	4 L2dCache (type #4)
     depth 4:	4 L2iCache (type #4)
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8ia64-4s2c.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8ia64-4s2c.output
index 75ac136..16bb534 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8ia64-4s2c.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/8ia64-4s2c.output
@@ -1,5 +1,5 @@
 Machine (P#0 Backend=Linux)
-  Socket L#0 (P#6147)
+  Package L#0 (P#6147)
     L3Cache L#0 (size=9216KB linesize=128 ways=9)
       L2dCache L#0 (size=256KB linesize=128 ways=8)
         L2iCache L#0 (size=1024KB linesize=128 ways=8)
@@ -14,7 +14,7 @@ Machine (P#0 Backend=Linux)
             L1iCache L#1 (size=16KB linesize=64 ways=4)
               Core L#1 (P#1)
                 PU L#1 (P#4)
-  Socket L#1 (P#6144)
+  Package L#1 (P#6144)
     L3Cache L#2 (size=9216KB linesize=128 ways=9)
       L2dCache L#2 (size=256KB linesize=128 ways=8)
         L2iCache L#2 (size=1024KB linesize=128 ways=8)
@@ -29,7 +29,7 @@ Machine (P#0 Backend=Linux)
             L1iCache L#3 (size=16KB linesize=64 ways=4)
               Core L#3 (P#0)
                 PU L#3 (P#5)
-  Socket L#2 (P#6145)
+  Package L#2 (P#6145)
     L3Cache L#4 (size=9216KB linesize=128 ways=9)
       L2dCache L#4 (size=256KB linesize=128 ways=8)
         L2iCache L#4 (size=1024KB linesize=128 ways=8)
@@ -44,7 +44,7 @@ Machine (P#0 Backend=Linux)
             L1iCache L#5 (size=16KB linesize=64 ways=4)
               Core L#5 (P#0)
                 PU L#5 (P#6)
-  Socket L#3 (P#6146)
+  Package L#3 (P#6146)
     L3Cache L#6 (size=9216KB linesize=128 ways=9)
       L2dCache L#6 (size=256KB linesize=128 ways=8)
         L2iCache L#6 (size=1024KB linesize=128 ways=8)
@@ -60,7 +60,7 @@ Machine (P#0 Backend=Linux)
               Core L#7 (P#0)
                 PU L#7 (P#7)
 depth 0:	1 Machine (type #1)
- depth 1:	4 Socket (type #3)
+ depth 1:	4 Package (type #3)
   depth 2:	8 L3Cache (type #4)
    depth 3:	8 L2dCache (type #4)
     depth 4:	8 L2iCache (type #4)
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/96em64t-4n4d3ca2co-forcecpuinfo.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/96em64t-4n4d3ca2co-forcecpuinfo.output
index ebd6267..25f13a8 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/96em64t-4n4d3ca2co-forcecpuinfo.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/96em64t-4n4d3ca2co-forcecpuinfo.output
@@ -1,6 +1,6 @@
 Machine (P#0 total=528473984KB Backend=Linux)
   NUMANode L#0 (P#0 local=132101504KB total=132101504KB)
-    Socket L#0 (P#1 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#0 (P#1 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       Core L#0 (P#0)
         PU L#0 (P#0)
       Core L#1 (P#1)
@@ -13,7 +13,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
         PU L#4 (P#16)
       Core L#5 (P#5)
         PU L#5 (P#20)
-    Socket L#1 (P#0 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#1 (P#0 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       Core L#6 (P#0)
         PU L#6 (P#1)
       Core L#7 (P#1)
@@ -26,7 +26,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
         PU L#10 (P#17)
       Core L#11 (P#5)
         PU L#11 (P#21)
-    Socket L#2 (P#2 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#2 (P#2 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       Core L#12 (P#0)
         PU L#12 (P#2)
       Core L#13 (P#1)
@@ -39,7 +39,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
         PU L#16 (P#18)
       Core L#17 (P#5)
         PU L#17 (P#22)
-    Socket L#3 (P#3 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#3 (P#3 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       Core L#18 (P#0)
         PU L#18 (P#3)
       Core L#19 (P#1)
@@ -53,7 +53,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
       Core L#23 (P#5)
         PU L#23 (P#23)
   NUMANode L#1 (P#1 local=132124160KB total=132124160KB)
-    Socket L#4 (P#4 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#4 (P#4 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       Core L#24 (P#0)
         PU L#24 (P#24)
       Core L#25 (P#1)
@@ -66,7 +66,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
         PU L#28 (P#40)
       Core L#29 (P#5)
         PU L#29 (P#44)
-    Socket L#5 (P#5 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#5 (P#5 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       Core L#30 (P#0)
         PU L#30 (P#25)
       Core L#31 (P#1)
@@ -79,7 +79,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
         PU L#34 (P#41)
       Core L#35 (P#5)
         PU L#35 (P#45)
-    Socket L#6 (P#6 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#6 (P#6 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       Core L#36 (P#0)
         PU L#36 (P#26)
       Core L#37 (P#1)
@@ -92,7 +92,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
         PU L#40 (P#42)
       Core L#41 (P#5)
         PU L#41 (P#46)
-    Socket L#7 (P#7 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#7 (P#7 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       Core L#42 (P#0)
         PU L#42 (P#27)
       Core L#43 (P#1)
@@ -106,7 +106,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
       Core L#47 (P#5)
         PU L#47 (P#47)
   NUMANode L#2 (P#2 local=132124160KB total=132124160KB)
-    Socket L#8 (P#8 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#8 (P#8 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       Core L#48 (P#0)
         PU L#48 (P#48)
       Core L#49 (P#1)
@@ -119,7 +119,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
         PU L#52 (P#64)
       Core L#53 (P#5)
         PU L#53 (P#68)
-    Socket L#9 (P#9 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#9 (P#9 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       Core L#54 (P#0)
         PU L#54 (P#49)
       Core L#55 (P#1)
@@ -132,7 +132,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
         PU L#58 (P#65)
       Core L#59 (P#5)
         PU L#59 (P#69)
-    Socket L#10 (P#10 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#10 (P#10 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       Core L#60 (P#0)
         PU L#60 (P#50)
       Core L#61 (P#1)
@@ -145,7 +145,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
         PU L#64 (P#66)
       Core L#65 (P#5)
         PU L#65 (P#70)
-    Socket L#11 (P#11 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#11 (P#11 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       Core L#66 (P#0)
         PU L#66 (P#51)
       Core L#67 (P#1)
@@ -159,7 +159,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
       Core L#71 (P#5)
         PU L#71 (P#71)
   NUMANode L#3 (P#3 local=132124160KB total=132124160KB)
-    Socket L#12 (P#12 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#12 (P#12 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       Core L#72 (P#0)
         PU L#72 (P#72)
       Core L#73 (P#1)
@@ -172,7 +172,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
         PU L#76 (P#88)
       Core L#77 (P#5)
         PU L#77 (P#92)
-    Socket L#13 (P#13 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#13 (P#13 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       Core L#78 (P#0)
         PU L#78 (P#73)
       Core L#79 (P#1)
@@ -185,7 +185,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
         PU L#82 (P#89)
       Core L#83 (P#5)
         PU L#83 (P#93)
-    Socket L#14 (P#14 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#14 (P#14 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       Core L#84 (P#0)
         PU L#84 (P#74)
       Core L#85 (P#1)
@@ -198,7 +198,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
         PU L#88 (P#90)
       Core L#89 (P#5)
         PU L#89 (P#94)
-    Socket L#15 (P#15 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#15 (P#15 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       Core L#90 (P#0)
         PU L#90 (P#75)
       Core L#91 (P#1)
@@ -213,10 +213,10 @@ Machine (P#0 total=528473984KB Backend=Linux)
         PU L#95 (P#95)
 depth 0:	1 Machine (type #1)
  depth 1:	4 NUMANode (type #2)
-  depth 2:	16 Socket (type #3)
+  depth 2:	16 Package (type #3)
    depth 3:	96 Core (type #5)
     depth 4:	96 PU (type #6)
-latency matrix between NUMANodes (depth 1) by logical indexes:
+relative latency matrix between NUMANodes (depth 1) by logical indexes:
   index     0     1     2     3
       0 1.000 2.600 2.600 2.600
       1 2.600 1.000 2.600 2.600
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/96em64t-4n4d3ca2co.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/96em64t-4n4d3ca2co.output
index 72175a2..522c306 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/96em64t-4n4d3ca2co.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/96em64t-4n4d3ca2co.output
@@ -1,6 +1,6 @@
 Machine (P#0 total=528473984KB Backend=Linux)
   NUMANode L#0 (P#0 local=132101504KB total=132101504KB)
-    Socket L#0 (P#1 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#0 (P#1 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       L3Cache L#0 (size=16384KB linesize=64 ways=16)
         L2Cache L#0 (size=3072KB linesize=64 ways=12)
           L1dCache L#0 (size=32KB linesize=64 ways=8)
@@ -29,7 +29,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
             L1iCache L#5 (size=32KB linesize=64 ways=8)
               Core L#5 (P#5)
                 PU L#5 (P#20)
-    Socket L#1 (P#0 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#1 (P#0 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       L3Cache L#1 (size=16384KB linesize=64 ways=16)
         L2Cache L#3 (size=3072KB linesize=64 ways=12)
           L1dCache L#6 (size=32KB linesize=64 ways=8)
@@ -58,7 +58,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
             L1iCache L#11 (size=32KB linesize=64 ways=8)
               Core L#11 (P#5)
                 PU L#11 (P#21)
-    Socket L#2 (P#2 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#2 (P#2 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       L3Cache L#2 (size=16384KB linesize=64 ways=16)
         L2Cache L#6 (size=3072KB linesize=64 ways=12)
           L1dCache L#12 (size=32KB linesize=64 ways=8)
@@ -87,7 +87,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
             L1iCache L#17 (size=32KB linesize=64 ways=8)
               Core L#17 (P#5)
                 PU L#17 (P#22)
-    Socket L#3 (P#3 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#3 (P#3 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       L3Cache L#3 (size=16384KB linesize=64 ways=16)
         L2Cache L#9 (size=3072KB linesize=64 ways=12)
           L1dCache L#18 (size=32KB linesize=64 ways=8)
@@ -117,7 +117,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
               Core L#23 (P#5)
                 PU L#23 (P#23)
   NUMANode L#1 (P#1 local=132124160KB total=132124160KB)
-    Socket L#4 (P#4 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#4 (P#4 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       L3Cache L#4 (size=16384KB linesize=64 ways=16)
         L2Cache L#12 (size=3072KB linesize=64 ways=12)
           L1dCache L#24 (size=32KB linesize=64 ways=8)
@@ -146,7 +146,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
             L1iCache L#29 (size=32KB linesize=64 ways=8)
               Core L#29 (P#5)
                 PU L#29 (P#44)
-    Socket L#5 (P#5 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#5 (P#5 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       L3Cache L#5 (size=16384KB linesize=64 ways=16)
         L2Cache L#15 (size=3072KB linesize=64 ways=12)
           L1dCache L#30 (size=32KB linesize=64 ways=8)
@@ -175,7 +175,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
             L1iCache L#35 (size=32KB linesize=64 ways=8)
               Core L#35 (P#5)
                 PU L#35 (P#45)
-    Socket L#6 (P#6 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#6 (P#6 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       L3Cache L#6 (size=16384KB linesize=64 ways=16)
         L2Cache L#18 (size=3072KB linesize=64 ways=12)
           L1dCache L#36 (size=32KB linesize=64 ways=8)
@@ -204,7 +204,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
             L1iCache L#41 (size=32KB linesize=64 ways=8)
               Core L#41 (P#5)
                 PU L#41 (P#46)
-    Socket L#7 (P#7 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#7 (P#7 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       L3Cache L#7 (size=16384KB linesize=64 ways=16)
         L2Cache L#21 (size=3072KB linesize=64 ways=12)
           L1dCache L#42 (size=32KB linesize=64 ways=8)
@@ -234,7 +234,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
               Core L#47 (P#5)
                 PU L#47 (P#47)
   NUMANode L#2 (P#2 local=132124160KB total=132124160KB)
-    Socket L#8 (P#8 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#8 (P#8 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       L3Cache L#8 (size=16384KB linesize=64 ways=16)
         L2Cache L#24 (size=3072KB linesize=64 ways=12)
           L1dCache L#48 (size=32KB linesize=64 ways=8)
@@ -263,7 +263,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
             L1iCache L#53 (size=32KB linesize=64 ways=8)
               Core L#53 (P#5)
                 PU L#53 (P#68)
-    Socket L#9 (P#9 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#9 (P#9 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       L3Cache L#9 (size=16384KB linesize=64 ways=16)
         L2Cache L#27 (size=3072KB linesize=64 ways=12)
           L1dCache L#54 (size=32KB linesize=64 ways=8)
@@ -292,7 +292,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
             L1iCache L#59 (size=32KB linesize=64 ways=8)
               Core L#59 (P#5)
                 PU L#59 (P#69)
-    Socket L#10 (P#10 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#10 (P#10 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       L3Cache L#10 (size=16384KB linesize=64 ways=16)
         L2Cache L#30 (size=3072KB linesize=64 ways=12)
           L1dCache L#60 (size=32KB linesize=64 ways=8)
@@ -321,7 +321,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
             L1iCache L#65 (size=32KB linesize=64 ways=8)
               Core L#65 (P#5)
                 PU L#65 (P#70)
-    Socket L#11 (P#11 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#11 (P#11 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       L3Cache L#11 (size=16384KB linesize=64 ways=16)
         L2Cache L#33 (size=3072KB linesize=64 ways=12)
           L1dCache L#66 (size=32KB linesize=64 ways=8)
@@ -351,7 +351,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
               Core L#71 (P#5)
                 PU L#71 (P#71)
   NUMANode L#3 (P#3 local=132124160KB total=132124160KB)
-    Socket L#12 (P#12 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#12 (P#12 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       L3Cache L#12 (size=16384KB linesize=64 ways=16)
         L2Cache L#36 (size=3072KB linesize=64 ways=12)
           L1dCache L#72 (size=32KB linesize=64 ways=8)
@@ -380,7 +380,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
             L1iCache L#77 (size=32KB linesize=64 ways=8)
               Core L#77 (P#5)
                 PU L#77 (P#92)
-    Socket L#13 (P#13 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#13 (P#13 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       L3Cache L#13 (size=16384KB linesize=64 ways=16)
         L2Cache L#39 (size=3072KB linesize=64 ways=12)
           L1dCache L#78 (size=32KB linesize=64 ways=8)
@@ -409,7 +409,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
             L1iCache L#83 (size=32KB linesize=64 ways=8)
               Core L#83 (P#5)
                 PU L#83 (P#93)
-    Socket L#14 (P#14 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#14 (P#14 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       L3Cache L#14 (size=16384KB linesize=64 ways=16)
         L2Cache L#42 (size=3072KB linesize=64 ways=12)
           L1dCache L#84 (size=32KB linesize=64 ways=8)
@@ -438,7 +438,7 @@ Machine (P#0 total=528473984KB Backend=Linux)
             L1iCache L#89 (size=32KB linesize=64 ways=8)
               Core L#89 (P#5)
                 PU L#89 (P#94)
-    Socket L#15 (P#15 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
+    Package L#15 (P#15 CPUModel="Genuine Intel(R) CPU                  @ 2.66GHz")
       L3Cache L#15 (size=16384KB linesize=64 ways=16)
         L2Cache L#45 (size=3072KB linesize=64 ways=12)
           L1dCache L#90 (size=32KB linesize=64 ways=8)
@@ -469,14 +469,14 @@ Machine (P#0 total=528473984KB Backend=Linux)
                 PU L#95 (P#95)
 depth 0:	1 Machine (type #1)
  depth 1:	4 NUMANode (type #2)
-  depth 2:	16 Socket (type #3)
+  depth 2:	16 Package (type #3)
    depth 3:	16 L3Cache (type #4)
     depth 4:	48 L2Cache (type #4)
      depth 5:	96 L1dCache (type #4)
       depth 6:	96 L1iCache (type #4)
        depth 7:	96 Core (type #5)
         depth 8:	96 PU (type #6)
-latency matrix between NUMANodes (depth 1) by logical indexes:
+relative latency matrix between NUMANodes (depth 1) by logical indexes:
   index     0     1     2     3
       0 1.000 2.600 2.600 2.600
       1 2.600 1.000 2.600 2.600
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/Makefile.am b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/Makefile.am
index f23cd98..fb8bc56 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/Makefile.am
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/Makefile.am
@@ -1,5 +1,5 @@
-# Copyright © 2009-2014 Inria.  All rights reserved.
-# Copyright © 2009-2011 Université Bordeaux 1
+# Copyright © 2009-2015 Inria.  All rights reserved.
+# Copyright © 2009-2011 Université Bordeaux
 # Copyright © 2009-2010 Cisco Systems, Inc.  All rights reserved.
 # See COPYING in top-level directory.
 
@@ -20,6 +20,7 @@ sysfs_outputs = \
 		256ppc-8n8s4t.output \
 		256ppc-8n8s4t-nocache.output \
 		256ppc-8n8s4t-nosys.output \
+		28em64t-2s2n7c-buggycoresiblings.output \
 		32amd64-4s2n4c-cgroup.output \
 		32amd64-4s2n4c-cgroup.xml.output \
 		32ppc-4n4c2c.output \
@@ -37,6 +38,7 @@ sysfs_outputs = \
 		16amd64-8n2c-cpusets.xml.output \
 		16amd64-8n2c-cpusets_noadmin.output \
 		16em64t-4s2ca2c-cpusetreorder.output \
+		16em64t-4s2ca2c-cpusetreorder-merge.output \
 		16em64t-4s2c2t.output \
 		16em64t-4s2c2t-offlines.output \
 		16em64t-4s2c2t-offlines.xml.output \
@@ -49,6 +51,7 @@ sysfs_outputs = \
 		24em64t-2n6c2t+2mic.olddriver.output \
 		32em64t-2n8c+1mic.output \
 		40intel64-2g2n4c+pci.output \
+		40intel64-4n10c+pci-conflicts.output \
 		48amd64-4d2n6c-sparse.output \
 		64amd64-4s2n4ca2co.output \
 		64fake-4n2s2ca2c2t.output \
@@ -77,6 +80,7 @@ sysfs_tarballs = \
 		256ppc-8n8s4t.tar.bz2 \
 		256ppc-8n8s4t-nocache.source \
 		256ppc-8n8s4t-nosys.source \
+		28em64t-2s2n7c-buggycoresiblings.tar.bz2 \
 		32amd64-4s2n4c-cgroup.tar.bz2 \
 		32amd64-4s2n4c-cgroup.xml.source \
 		32ppc-4n4c2c.tar.bz2 \
@@ -94,6 +98,7 @@ sysfs_tarballs = \
 		16amd64-8n2c-cpusets.xml.source \
 		16amd64-8n2c-cpusets_noadmin.source \
 		16em64t-4s2ca2c-cpusetreorder.tar.bz2 \
+		16em64t-4s2ca2c-cpusetreorder-merge.source \
 		16em64t-4s2c2t.tar.bz2 \
 		16em64t-4s2c2t-offlines.tar.bz2 \
 		16em64t-4s2c2t-offlines.xml.source \
@@ -106,6 +111,7 @@ sysfs_tarballs = \
 		24em64t-2n6c2t+2mic.olddriver.tar.bz2 \
 		32em64t-2n8c+1mic.tar.bz2 \
 		40intel64-2g2n4c+pci.tar.bz2 \
+		40intel64-4n10c+pci-conflicts.tar.bz2 \
 		48amd64-4d2n6c-sparse.tar.bz2 \
 		64amd64-4s2n4ca2co.tar.bz2 \
 		64fake-4n2s2ca2c2t.tar.bz2 \
@@ -133,6 +139,7 @@ sysfs_options = \
 		16amd64-4n4c-cgroup-distance-merge.options \
 		16amd64-8n2c-cpusets.xml.options \
 		16amd64-8n2c-cpusets_noadmin.options \
+		16em64t-4s2ca2c-cpusetreorder-merge.options \
 		16em64t-4s2c2t-offlines.xml.options \
 		16em64t-4s2c2t-offlines_noadmin.options \
 		16em64t-4s2c2t_ncaches.options \
@@ -147,9 +154,11 @@ sysfs_options = \
 # modifying the environment of lstopo
 sysfs_envs = \
 		2i386-2t-hugepagesizecount.xml.env \
+		16amd64-8n2c-cpusets.xml.env \
 		32amd64-4s2n4c-cgroup.env \
 		32amd64-4s2n4c-cgroup.xml.env \
 		40intel64-2g2n4c+pci.env \
+		40intel64-4n10c+pci-conflicts.env \
 		96em64t-4n4d3ca2co-forcecpuinfo.env
 
 if HWLOC_HAVE_OPENAT
@@ -162,11 +171,4 @@ EXTRA_DIST = $(sysfs_outputs) $(sysfs_tarballs) $(sysfs_excludes) $(sysfs_option
 
 LOG_COMPILER = $(builddir)/test-topology.sh
 
-
-bin_SCRIPTS = hwloc-gather-topology
-
-install-exec-hook:
-	$(SED) -e 's/HWLOC_top_builddir\/utils/bindir/' -e '/HWLOC_top_builddir/d' $(DESTDIR)$(bindir)/hwloc-gather-topology > $(DESTDIR)$(bindir)/hwloc-gather-topology.tmp && mv -f $(DESTDIR)$(bindir)/hwloc-gather-topology.tmp $(DESTDIR)$(bindir)/hwloc-gather-topology
-	chmod +x $(DESTDIR)$(bindir)/hwloc-gather-topology
-
-SUBDIRS = gather
+SUBDIRS = . gather
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/gather/test-gather-topology.sh.in b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/gather/test-gather-topology.sh.in
index 7735646..9bd180c 100755
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/gather/test-gather-topology.sh.in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/gather/test-gather-topology.sh.in
@@ -2,15 +2,15 @@
 #-*-sh-*-
 
 #
-# Copyright © 2012-2014 Inria.  All rights reserved.
+# Copyright © 2012-2015 Inria.  All rights reserved.
 # Copyright © 2010 Cisco Systems, Inc.  All rights reserved.
-# Copyright © 2011 Université Bordeaux 1
+# Copyright © 2011 Université Bordeaux
 # See COPYING in top-level directory.
 #
 
 HWLOC_top_builddir="@HWLOC_top_builddir@"
-lstopo="$HWLOC_top_builddir/utils/lstopo-no-graphics"
-gather="$HWLOC_top_builddir/tests/linux/hwloc-gather-topology"
+lstopo="$HWLOC_top_builddir/utils/lstopo/lstopo-no-graphics"
+gather="$HWLOC_top_builddir/utils/hwloc/hwloc-gather-topology"
 
 # make sure we use default numeric formats
 LANG=C
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/test-topology.sh.in b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/test-topology.sh.in
index 3349991..eaebd72 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/test-topology.sh.in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/test-topology.sh.in
@@ -3,8 +3,8 @@
 
 #
 # Copyright © 2009 CNRS
-# Copyright © 2009-2013 Inria.  All rights reserved.
-# Copyright © 2009-2011 Université Bordeaux 1
+# Copyright © 2009-2015 Inria.  All rights reserved.
+# Copyright © 2009-2011 Université Bordeaux
 # Copyright © 2009 Cisco Systems, Inc.  All rights reserved.
 # See COPYING in top-level directory.
 #
@@ -12,9 +12,10 @@
 # Check the conformance of `lstopo' for all the Linux sysfs
 # hierarchies available here.  Return true on success.
 
+HWLOC_VERSION="@HWLOC_VERSION@"
 HWLOC_top_srcdir="@HWLOC_top_srcdir@"
 HWLOC_top_builddir="@HWLOC_top_builddir@"
-lstopo="$HWLOC_top_builddir/utils/lstopo-no-graphics"
+lstopo="$HWLOC_top_builddir/utils/lstopo/lstopo-no-graphics"
 
 HWLOC_PLUGINS_PATH=${HWLOC_top_builddir}/src
 export HWLOC_PLUGINS_PATH
@@ -43,19 +44,26 @@ test_topology ()
 
     local output="`mktemp`"
 
-    export HWLOC_FSROOT="$dir"
     export HWLOC_DEBUG_CHECK=1
 
     opts="-v -"
     [ -r "$options" ] && opts=`cat $options`
 
-    if ! "$lstopo" $opts > "$output"
+    if ! "$lstopo" -i "$dir" --if fsroot $opts \
+	| sed	-e 's/ hwlocVersion='$HWLOC_VERSION'//' \
+		-e 's/ ProcessName=lstopo-no-graphics//' \
+		-e 's/ ProcessName=lt-lstopo-no-graphics//' \
+	| grep -v "<info name=\"hwlocVersion\" value=\"$HWLOC_VERSION\"\/>" \
+	| grep -v "<info name=\"ProcessName\" value=\"lstopo-no-graphics\"\/>" \
+	| grep -v "<info name=\"ProcessName\" value=\"lt-lstopo-no-graphics\"\/>" \
+	> "$output"
+	# filtered hwlocVersion since it often changes
     then
 	result=1
     else
 	if [ "$HWLOC_UPDATE_TEST_TOPOLOGY_OUTPUT" != 1 ]
 	then
-	    diff -uBb "$expected_output" "$output"
+	    diff @HWLOC_DIFF_U@ -b "$expected_output" "$output"
 	    result=$?
 	else
 	    if ! diff "$expected_output" "$output" >/dev/null
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/nvml.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/nvml.c
index 9cfec27..2c6111a 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/nvml.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/nvml.c
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2012 Inria.  All rights reserved.
+ * Copyright © 2012-2014 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -64,7 +64,7 @@ int main(void)
     assert(!err);
 
     assert(osdev->attr->osdev.type == HWLOC_OBJ_OSDEV_GPU);
-   
+
     value = hwloc_obj_get_info_by_name(osdev, "GPUModel");
     printf("found OSDev model %s\n", value);
 
@@ -77,7 +77,9 @@ int main(void)
       hwloc_bitmap_asprintf(&cpuset_string, set);
       printf("got cpuset %s for device %d\n", cpuset_string, i);
       free(cpuset_string);
-      assert(hwloc_bitmap_isequal(set, ancestor->cpuset));
+      if (hwloc_bitmap_isequal(hwloc_topology_get_complete_cpuset(topology), hwloc_topology_get_topology_cpuset(topology)))
+	/* only compare if the topology is complete, otherwise things can be significantly different */
+	assert(hwloc_bitmap_isequal(set, ancestor->cpuset));
     }
     hwloc_bitmap_free(set);
   }
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/opencl.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/opencl.c
index 0b8dcef..d1d8d91 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/opencl.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/opencl.c
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2012 Inria.  All rights reserved.
+ * Copyright © 2012-2014 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -72,7 +72,9 @@ int main(void)
 	hwloc_bitmap_asprintf(&cpuset_string, set);
 	printf("got cpuset %s for platform %d device %d\n", cpuset_string, i, j);
 	free(cpuset_string);
-	assert(hwloc_bitmap_isequal(set, ancestor->cpuset));
+	if (hwloc_bitmap_isequal(hwloc_topology_get_complete_cpuset(topology), hwloc_topology_get_topology_cpuset(topology)))
+	  /* only compare if the topology is complete, otherwise things can be significantly different */
+	  assert(hwloc_bitmap_isequal(set, ancestor->cpuset));
       }
       hwloc_bitmap_free(set);
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/openfabrics-verbs.c b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/openfabrics-verbs.c
index 3f61324..ec8657d 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/openfabrics-verbs.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/openfabrics-verbs.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2010 inria.  All rights reserved.
- * Copyright © 2009-2010 Université Bordeaux 1
+ * Copyright © 2009-2010 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/Makefile.am b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/Makefile.am
index 7bbdbfe..2a1e57a 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/Makefile.am
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/Makefile.am
@@ -1,5 +1,5 @@
-# Copyright © 2009-2012 Inria.  All rights reserved.
-# Copyright © 2009, 2011-2012 Université Bordeaux 1
+# Copyright © 2009-2015 Inria.  All rights reserved.
+# Copyright © 2009, 2011-2012 Université Bordeaux
 # Copyright © 2009-2010 Cisco Systems, Inc.  All rights reserved.
 # See COPYING in top-level directory.
 
@@ -98,10 +98,13 @@ libhwloc_port_hpux_la_CPPFLAGS = $(common_CPPFLAGS) \
 nodist_libhwloc_port_netbsd_la_SOURCES = topology-netbsd.c
 libhwloc_port_netbsd_la_SOURCES = \
 	include/netbsd/pthread.h \
-	include/netbsd/sched.h
+	include/netbsd/sched.h \
+	include/netbsd/sys/sysctl.h
 libhwloc_port_netbsd_la_CPPFLAGS = $(common_CPPFLAGS) \
 	-I$(HWLOC_top_srcdir)/tests/ports/include/netbsd \
-	-DHWLOC_NETBSD_SYS
+	-DHWLOC_NETBSD_SYS \
+	-DHAVE_SYS_SYSCTL_H \
+	-DHAVE_SYSCTL
 
 nodist_libhwloc_port_osf_la_SOURCES = topology-osf.c
 libhwloc_port_osf_la_SOURCES = \
@@ -146,6 +149,7 @@ libhwloc_port_opencl_la_CPPFLAGS = $(common_CPPFLAGS) \
 
 nodist_libhwloc_port_cuda_la_SOURCES = topology-cuda.c
 libhwloc_port_cuda_la_SOURCES = \
+	include/cuda/cuda.h \
 	include/cuda/cuda_runtime_api.h
 libhwloc_port_cuda_la_CPPFLAGS = $(common_CPPFLAGS) \
 	-I$(HWLOC_top_srcdir)/tests/ports/include/cuda
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/aix/sys/processor.h b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/aix/sys/processor.h
index e400d54..397854b 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/aix/sys/processor.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/aix/sys/processor.h
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2009 inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009 Université Bordeaux
  * See COPYING in top-level directory.
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/aix/sys/rset.h b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/aix/sys/rset.h
index 65bb0c7..e3b4044 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/aix/sys/rset.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/aix/sys/rset.h
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2009 inria.  All rights reserved.
- * Copyright © 2009-2011 Université Bordeaux 1
+ * Copyright © 2009-2011 Université Bordeaux
  * See COPYING in top-level directory.
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/aix/sys/systemcfg.h b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/aix/sys/systemcfg.h
index 93a8d6e..a075b5b 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/aix/sys/systemcfg.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/aix/sys/systemcfg.h
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2011 Université Bordeaux 1
+ * Copyright © 2011 Université Bordeaux
  * See COPYING in top-level directory.
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/aix/sys/thread.h b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/aix/sys/thread.h
index 01ac3db..6a4be5d 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/aix/sys/thread.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/aix/sys/thread.h
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2009 inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009 Université Bordeaux
  * See COPYING in top-level directory.
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/cuda/cuda.h b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/cuda/cuda.h
new file mode 100644
index 0000000..137403e
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/cuda/cuda.h
@@ -0,0 +1,11 @@
+/*
+ * Copyright © 2015 Inria.  All rights reserved.
+ * See COPYING in top-level directory.
+ */
+
+#ifndef HWLOC_PORT_CUDA_CUDA_H
+#define HWLOC_PORT_CUDA_CUDA_H
+
+#define CUDA_VERSION 4000
+
+#endif /* HWLOC_PORT_CUDA_CUDA_H */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/cuda/cuda_runtime_api.h b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/cuda/cuda_runtime_api.h
index 1c4b53c..96ee1d5 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/cuda/cuda_runtime_api.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/cuda/cuda_runtime_api.h
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2013-2014 Inria.  All rights reserved.
+ * Copyright © 2013-2015 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -17,6 +17,7 @@ typedef unsigned cudaError_t;
 
 struct cudaDeviceProp {
   char * name;
+  int pciDomainID;
   int pciBusID;
   int pciDeviceID;
   size_t totalGlobalMem;
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/darwin/sys/sysctl.h b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/darwin/sys/sysctl.h
index 03f6032..8ade071 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/darwin/sys/sysctl.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/darwin/sys/sysctl.h
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2009 inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009 Université Bordeaux
  * See COPYING in top-level directory.
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/freebsd/pthread_np.h b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/freebsd/pthread_np.h
index 0584536..d2edacc 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/freebsd/pthread_np.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/freebsd/pthread_np.h
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009 Université Bordeaux
  * See COPYING in top-level directory.
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/freebsd/sys/cpuset.h b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/freebsd/sys/cpuset.h
index 02c947f..3be4b18 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/freebsd/sys/cpuset.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/freebsd/sys/cpuset.h
@@ -1,5 +1,6 @@
 /*
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009 Université Bordeaux
+ * Copyright © 2015 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -26,9 +27,9 @@ int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid)
 #undef CPU_ZERO
 #define CPU_ZERO(cpuset) (*(cpuset) = 0)
 #undef CPU_SET
-#define CPU_SET(cpu, cpuset) (*(cpuset) |= (1<<(cpu)))
+#define CPU_SET(cpu, cpuset) (*(cpuset) |= (1ULL<<(cpu)))
 #undef CPU_ISSET
-#define CPU_ISSET(cpu, cpuset) (*(cpuset) & (1<<(cpu)))
+#define CPU_ISSET(cpu, cpuset) (*(cpuset) & (1ULL<<(cpu)))
 
 int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t size, cpuset_t *cpuset);
 int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t size, const cpuset_t *cpuset);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/freebsd/sys/sysctl.h b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/freebsd/sys/sysctl.h
index 7d8b2d0..d611908 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/freebsd/sys/sysctl.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/freebsd/sys/sysctl.h
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2009 inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009 Université Bordeaux
  * See COPYING in top-level directory.
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/hpux/sys/mpctl.h b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/hpux/sys/mpctl.h
index d0a9e2a..7f58c98 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/hpux/sys/mpctl.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/hpux/sys/mpctl.h
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2009 inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009 Université Bordeaux
  * See COPYING in top-level directory.
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/netbsd/sys/sysctl.h b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/netbsd/sys/sysctl.h
new file mode 100644
index 0000000..f379af6
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/netbsd/sys/sysctl.h
@@ -0,0 +1,14 @@
+/*
+ * Copyright © 2014 Inria.  All rights reserved.
+ * See COPYING in top-level directory.
+ */
+
+#ifndef HWLOC_PORT_NETBSD_SYS_SYSCTL_H
+#define HWLOC_PORT_NETBSD_SYS_SYSCTL_H
+
+extern int sysctl(const int *, unsigned int, void *, size_t *, const void *, size_t);
+
+#define CTL_HW 6
+#define HW_PHYSMEM64 13
+
+#endif /* HWLOC_PORT_NETBSD_SYS_SYSCTL_H */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/osf/cpuset.h b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/osf/cpuset.h
index 1563577..d8f6afa 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/osf/cpuset.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/osf/cpuset.h
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2009 inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009 Université Bordeaux
  * See COPYING in top-level directory.
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/osf/numa.h b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/osf/numa.h
index 7ed5800..9359e87 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/osf/numa.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/osf/numa.h
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2009 inria.  All rights reserved.
- * Copyright © 2009-2010 Université Bordeaux 1
+ * Copyright © 2009-2010 Université Bordeaux
  * See COPYING in top-level directory.
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/osf/radset.h b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/osf/radset.h
index 0efd64f..0b6be4d 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/osf/radset.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/osf/radset.h
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2009-2010 inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009 Université Bordeaux
  * See COPYING in top-level directory.
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/solaris/kstat.h b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/solaris/kstat.h
index da98482..eec3788 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/solaris/kstat.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/solaris/kstat.h
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2009 inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009 Université Bordeaux
  * See COPYING in top-level directory.
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/solaris/sys/lgrp_user.h b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/solaris/sys/lgrp_user.h
index 4c3004d..1078e74 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/solaris/sys/lgrp_user.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/solaris/sys/lgrp_user.h
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2009 inria.  All rights reserved.
- * Copyright © 2009-2011 Université Bordeaux 1
+ * Copyright © 2009-2011 Université Bordeaux
  * See COPYING in top-level directory.
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/solaris/sys/processor.h b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/solaris/sys/processor.h
index 6c49b53..0efdf20 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/solaris/sys/processor.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/solaris/sys/processor.h
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2009 inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009 Université Bordeaux
  * See COPYING in top-level directory.
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/solaris/sys/procset.h b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/solaris/sys/procset.h
index 3f2c811..adc5b75 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/solaris/sys/procset.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/solaris/sys/procset.h
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009 Université Bordeaux
  * See COPYING in top-level directory.
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/windows/windows.h b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/windows/windows.h
index b08e5d1..eaf23e1 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/windows/windows.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/windows/windows.h
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2009 inria.  All rights reserved.
- * Copyright © 2009-2012 Université Bordeaux 1
+ * Copyright © 2009-2012 Université Bordeaux
  * See COPYING in top-level directory.
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16-2gr2gr2n2c+misc.console.options b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16-2gr2gr2n2c+misc.console.options
new file mode 100644
index 0000000..ecaa393
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16-2gr2gr2n2c+misc.console.options
@@ -0,0 +1 @@
+--of console -v
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16-2gr2gr2n2c+misc.console.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16-2gr2gr2n2c+misc.console.output
new file mode 100644
index 0000000..7e48f3f
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16-2gr2gr2n2c+misc.console.output
@@ -0,0 +1,56 @@
+Machine (P#0 total=8388608KB Backend=Synthetic SyntheticDescription="group:2 group:2 node:2 core:2 1" hwlocVersion=1.10.1)
+  Group2(MyBigGroup) L#0 (P#0 total=4194304KB Type=MyBigGroup)
+    Group1(MySmallGroup) L#0 (P#0 total=2097152KB Type=MySmallGroup)
+      NUMANode L#0 (P#0 local=1048576KB total=1048576KB)
+        Core L#0 (P#0)
+          PU L#0 (P#0)
+        Core L#1 (P#1)
+          PU L#1 (P#1)
+      NUMANode L#1 (P#1 local=1048576KB total=1048576KB)
+        Core L#2 (P#2)
+          PU L#2 (P#2)
+        Core L#3 (P#3)
+          PU L#3 (P#3)
+    Group1(MySmallGroup) L#1 (P#1 total=2097152KB Type=MySmallGroup)
+      NUMANode L#2 (P#2 local=1048576KB total=1048576KB)
+        Core L#4 (P#4)
+          PU L#4 (P#4)
+        Core L#5 (P#5)
+          PU L#5 (P#5)
+      NUMANode L#3 (P#3 local=1048576KB total=1048576KB)
+        Core L#6 (P#6)
+          PU L#6 (P#6)
+        Core L#7 (P#7)
+          PU L#7 (P#7)
+    Misc MyName
+  Group2(MyBigGroup) L#1 (P#1 total=4194304KB Type=MyBigGroup)
+    Group1(MySmallGroup) L#2 (P#2 total=2097152KB Type=MySmallGroup)
+      NUMANode L#4 (P#4 local=1048576KB total=1048576KB)
+        Core L#8 (P#8)
+          PU L#8 (P#8)
+        Core L#9 (P#9)
+          PU L#9 (P#9)
+      NUMANode L#5 (P#5 local=1048576KB total=1048576KB)
+        Core L#10 (P#10)
+          PU L#10 (P#10)
+        Core L#11 (P#11)
+          PU L#11 (P#11)
+    Group1(MySmallGroup) L#3 (P#3 total=2097152KB Type=MySmallGroup)
+      NUMANode L#6 (P#6 local=1048576KB total=1048576KB)
+        Core L#12 (P#12)
+          PU L#12 (P#12)
+        Core L#13 (P#13)
+          PU L#13 (P#13)
+      NUMANode L#7 (P#7 local=1048576KB total=1048576KB)
+        Core L#14 (P#14)
+          PU L#14 (P#14)
+        Core L#15 (P#15)
+          PU L#15 (P#15)
+      Misc(ReallyMisc) MyName2 (Type=ReallyMisc)
+depth 0:	1 Machine (type #1)
+ depth 1:	2 Group2 (type #7)
+  depth 2:	4 Group1 (type #7)
+   depth 3:	8 NUMANode (type #2)
+    depth 4:	16 Core (type #5)
+     depth 5:	16 PU (type #6)
+Topology not from this system
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16-2gr2gr2n2c+misc.console.source b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16-2gr2gr2n2c+misc.console.source
new file mode 100644
index 0000000..6788555
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16-2gr2gr2n2c+misc.console.source
@@ -0,0 +1 @@
+16-2gr2gr2n2c+misc.xml
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16-2gr2gr2n2c+misc.xml b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16-2gr2gr2n2c+misc.xml
new file mode 100644
index 0000000..ab5ef22
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16-2gr2gr2n2c+misc.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topology SYSTEM "hwloc.dtd">
+<topology>
+  <object type="Machine" os_index="0" cpuset="0x0000ffff" complete_cpuset="0x0000ffff" online_cpuset="0x0000ffff" allowed_cpuset="0x0000ffff" nodeset="0x000000ff" complete_nodeset="0x000000ff" allowed_nodeset="0x000000ff">
+    <info name="Backend" value="Synthetic"/>
+    <info name="SyntheticDescription" value="group:2 group:2 node:2 core:2 1"/>
+    <info name="hwlocVersion" value="1.10.1"/>
+    <object type="Group" os_index="0" cpuset="0x000000ff" complete_cpuset="0x000000ff" online_cpuset="0x000000ff" allowed_cpuset="0x000000ff" nodeset="0x0000000f" complete_nodeset="0x0000000f" allowed_nodeset="0x0000000f" depth="2">
+      <info name="Type" value="MyBigGroup"/>
+      <object type="Group" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" nodeset="0x00000003" complete_nodeset="0x00000003" allowed_nodeset="0x00000003" depth="1">
+        <info name="Type" value="MySmallGroup"/>
+        <object type="NUMANode" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="1073741824">
+          <page_type size="4096" count="262144"/>
+          <object type="Core" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+            <object type="PU" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+          </object>
+          <object type="Core" os_index="1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+            <object type="PU" os_index="1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+          </object>
+        </object>
+        <object type="NUMANode" os_index="1" cpuset="0x0000000c" complete_cpuset="0x0000000c" online_cpuset="0x0000000c" allowed_cpuset="0x0000000c" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="1073741824">
+          <page_type size="4096" count="262144"/>
+          <object type="Core" os_index="2" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+            <object type="PU" os_index="2" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+          </object>
+          <object type="Core" os_index="3" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+            <object type="PU" os_index="3" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+          </object>
+        </object>
+      </object>
+      <object type="Group" os_index="1" cpuset="0x000000f0" complete_cpuset="0x000000f0" online_cpuset="0x000000f0" allowed_cpuset="0x000000f0" nodeset="0x0000000c" complete_nodeset="0x0000000c" allowed_nodeset="0x0000000c" depth="1">
+        <info name="Type" value="MySmallGroup"/>
+        <object type="NUMANode" os_index="2" cpuset="0x00000030" complete_cpuset="0x00000030" online_cpuset="0x00000030" allowed_cpuset="0x00000030" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" local_memory="1073741824">
+          <page_type size="4096" count="262144"/>
+          <object type="Core" os_index="4" cpuset="0x00000010" complete_cpuset="0x00000010" online_cpuset="0x00000010" allowed_cpuset="0x00000010" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+            <object type="PU" os_index="4" cpuset="0x00000010" complete_cpuset="0x00000010" online_cpuset="0x00000010" allowed_cpuset="0x00000010" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+          </object>
+          <object type="Core" os_index="5" cpuset="0x00000020" complete_cpuset="0x00000020" online_cpuset="0x00000020" allowed_cpuset="0x00000020" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+            <object type="PU" os_index="5" cpuset="0x00000020" complete_cpuset="0x00000020" online_cpuset="0x00000020" allowed_cpuset="0x00000020" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+          </object>
+        </object>
+        <object type="NUMANode" os_index="3" cpuset="0x000000c0" complete_cpuset="0x000000c0" online_cpuset="0x000000c0" allowed_cpuset="0x000000c0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" local_memory="1073741824">
+          <page_type size="4096" count="262144"/>
+          <object type="Core" os_index="6" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+            <object type="PU" os_index="6" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+          </object>
+          <object type="Core" os_index="7" cpuset="0x00000080" complete_cpuset="0x00000080" online_cpuset="0x00000080" allowed_cpuset="0x00000080" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+            <object type="PU" os_index="7" cpuset="0x00000080" complete_cpuset="0x00000080" online_cpuset="0x00000080" allowed_cpuset="0x00000080" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+          </object>
+        </object>
+      </object>
+      <object type="Misc" name="MyName"/>
+    </object>
+    <object type="Group" os_index="1" cpuset="0x0000ff00" complete_cpuset="0x0000ff00" online_cpuset="0x0000ff00" allowed_cpuset="0x0000ff00" nodeset="0x000000f0" complete_nodeset="0x000000f0" allowed_nodeset="0x000000f0" depth="2">
+      <info name="Type" value="MyBigGroup"/>
+      <object type="Group" os_index="2" cpuset="0x00000f00" complete_cpuset="0x00000f00" online_cpuset="0x00000f00" allowed_cpuset="0x00000f00" nodeset="0x00000030" complete_nodeset="0x00000030" allowed_nodeset="0x00000030" depth="1">
+        <info name="Type" value="MySmallGroup"/>
+        <object type="NUMANode" os_index="4" cpuset="0x00000300" complete_cpuset="0x00000300" online_cpuset="0x00000300" allowed_cpuset="0x00000300" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" local_memory="1073741824">
+          <page_type size="4096" count="262144"/>
+          <object type="Core" os_index="8" cpuset="0x00000100" complete_cpuset="0x00000100" online_cpuset="0x00000100" allowed_cpuset="0x00000100" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
+            <object type="PU" os_index="8" cpuset="0x00000100" complete_cpuset="0x00000100" online_cpuset="0x00000100" allowed_cpuset="0x00000100" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+          </object>
+          <object type="Core" os_index="9" cpuset="0x00000200" complete_cpuset="0x00000200" online_cpuset="0x00000200" allowed_cpuset="0x00000200" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
+            <object type="PU" os_index="9" cpuset="0x00000200" complete_cpuset="0x00000200" online_cpuset="0x00000200" allowed_cpuset="0x00000200" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+          </object>
+        </object>
+        <object type="NUMANode" os_index="5" cpuset="0x00000c00" complete_cpuset="0x00000c00" online_cpuset="0x00000c00" allowed_cpuset="0x00000c00" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" local_memory="1073741824">
+          <page_type size="4096" count="262144"/>
+          <object type="Core" os_index="10" cpuset="0x00000400" complete_cpuset="0x00000400" online_cpuset="0x00000400" allowed_cpuset="0x00000400" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
+            <object type="PU" os_index="10" cpuset="0x00000400" complete_cpuset="0x00000400" online_cpuset="0x00000400" allowed_cpuset="0x00000400" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+          </object>
+          <object type="Core" os_index="11" cpuset="0x00000800" complete_cpuset="0x00000800" online_cpuset="0x00000800" allowed_cpuset="0x00000800" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
+            <object type="PU" os_index="11" cpuset="0x00000800" complete_cpuset="0x00000800" online_cpuset="0x00000800" allowed_cpuset="0x00000800" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+          </object>
+        </object>
+      </object>
+      <object type="Group" os_index="3" cpuset="0x0000f000" complete_cpuset="0x0000f000" online_cpuset="0x0000f000" allowed_cpuset="0x0000f000" nodeset="0x000000c0" complete_nodeset="0x000000c0" allowed_nodeset="0x000000c0" depth="1">
+        <info name="Type" value="MySmallGroup"/>
+        <object type="NUMANode" os_index="6" cpuset="0x00003000" complete_cpuset="0x00003000" online_cpuset="0x00003000" allowed_cpuset="0x00003000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" local_memory="1073741824">
+          <page_type size="4096" count="262144"/>
+          <object type="Core" os_index="12" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
+            <object type="PU" os_index="12" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+          </object>
+          <object type="Core" os_index="13" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
+            <object type="PU" os_index="13" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+          </object>
+        </object>
+        <object type="NUMANode" os_index="7" cpuset="0x0000c000" complete_cpuset="0x0000c000" online_cpuset="0x0000c000" allowed_cpuset="0x0000c000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" local_memory="1073741824">
+          <page_type size="4096" count="262144"/>
+          <object type="Core" os_index="14" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
+            <object type="PU" os_index="14" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+          </object>
+          <object type="Core" os_index="15" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
+            <object type="PU" os_index="15" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+          </object>
+        </object>
+        <object type="Misc" name="MyName2">
+          <info name="Type" value="ReallyMisc"/>
+        </object>
+      </object>
+    </object>
+  </object>
+</topology>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16amd64-8n2c-cpusets.xml b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16amd64-8n2c-cpusets.xml
index a83a4da..19cc49b 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16amd64-8n2c-cpusets.xml
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16amd64-8n2c-cpusets.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE topology SYSTEM "hwloc.dtd">
 <topology>
-  <object type="Machine" os_index="0" cpuset="0x0000f06f" complete_cpuset="0x0000ffff" online_cpuset="0x0000ffef" allowed_cpuset="0x0000f07f" nodeset="0x000000ff" complete_nodeset="0x000000ff" allowed_nodeset="0x0000003e">
+  <object type="Machine" os_index="0" cpuset="0x0000f06f" complete_cpuset="0x0000ffff" online_cpuset="0x0000ffef" allowed_cpuset="0x0000f07f" nodeset="0x0000003e" complete_nodeset="0x000000ff" allowed_nodeset="0x0000003e">
     <info name="DMIBoardVendor" value="TYAN Computer Corp"/>
     <info name="DMIBoardName" value="S4881 "/>
     <distances nbobjs="8" relative_depth="1" latency_base="10.000000">
@@ -70,26 +70,26 @@
       <latency value="2.000000"/>
       <latency value="1.000000"/>
     </distances>
-    <object type="NUMANode" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x0">
-      <object type="Socket" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x0">
-        <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
-          <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
-            <object type="Core" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x0">
-              <object type="PU" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x0"/>
+    <object type="NUMANode" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0">
+      <object type="Package" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0">
+        <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
+          <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
+            <object type="Core" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0">
+              <object type="PU" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0"/>
             </object>
           </object>
         </object>
-        <object type="Cache" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
-          <object type="Cache" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
-            <object type="Core" os_index="1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x0">
-              <object type="PU" os_index="1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x0"/>
+        <object type="Cache" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
+          <object type="Cache" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
+            <object type="Core" os_index="1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0">
+              <object type="PU" os_index="1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0"/>
             </object>
           </object>
         </object>
       </object>
     </object>
     <object type="NUMANode" os_index="1" cpuset="0x0000000c" complete_cpuset="0x0000000c" online_cpuset="0x0000000c" allowed_cpuset="0x0000000c" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="8589934592">
-      <object type="Socket" os_index="1" cpuset="0x0000000c" complete_cpuset="0x0000000c" online_cpuset="0x0000000c" allowed_cpuset="0x0000000c" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+      <object type="Package" os_index="1" cpuset="0x0000000c" complete_cpuset="0x0000000c" online_cpuset="0x0000000c" allowed_cpuset="0x0000000c" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <object type="Cache" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
           <object type="Cache" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="65536" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
             <object type="Core" os_index="0" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
@@ -107,7 +107,7 @@
       </object>
     </object>
     <object type="NUMANode" os_index="2" cpuset="0x00000020" complete_cpuset="0x00000030" online_cpuset="0x00000020" allowed_cpuset="0x00000030" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" local_memory="8589934592">
-      <object type="Socket" os_index="2" cpuset="0x00000020" complete_cpuset="0x00000030" online_cpuset="0x00000020" allowed_cpuset="0x00000030" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+      <object type="Package" os_index="2" cpuset="0x00000020" complete_cpuset="0x00000030" online_cpuset="0x00000020" allowed_cpuset="0x00000030" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
         <object type="Cache" cpuset="0x00000020" complete_cpuset="0x00000020" online_cpuset="0x00000020" allowed_cpuset="0x00000020" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
           <object type="Cache" cpuset="0x00000020" complete_cpuset="0x00000020" online_cpuset="0x00000020" allowed_cpuset="0x00000020" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="65536" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
             <object type="Core" os_index="1" cpuset="0x00000020" complete_cpuset="0x00000020" online_cpuset="0x00000020" allowed_cpuset="0x00000020" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
@@ -118,7 +118,7 @@
       </object>
     </object>
     <object type="NUMANode" os_index="3" cpuset="0x00000040" complete_cpuset="0x000000c0" online_cpuset="0x000000c0" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" local_memory="8589934592">
-      <object type="Socket" os_index="3" cpuset="0x00000040" complete_cpuset="0x000000c0" online_cpuset="0x000000c0" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+      <object type="Package" os_index="3" cpuset="0x00000040" complete_cpuset="0x000000c0" online_cpuset="0x000000c0" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
         <object type="Cache" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
           <object type="Cache" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="65536" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
             <object type="Core" os_index="0" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
@@ -130,37 +130,37 @@
     </object>
     <object type="NUMANode" os_index="4" cpuset="0x0" complete_cpuset="0x00000300" online_cpuset="0x00000300" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" local_memory="8589934592"/>
     <object type="NUMANode" os_index="5" cpuset="0x0" complete_cpuset="0x00000c00" online_cpuset="0x00000c00" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" local_memory="8589934592"/>
-    <object type="NUMANode" os_index="6" cpuset="0x00003000" complete_cpuset="0x00003000" online_cpuset="0x00003000" allowed_cpuset="0x00003000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0">
-      <object type="Socket" os_index="6" cpuset="0x00003000" complete_cpuset="0x00003000" online_cpuset="0x00003000" allowed_cpuset="0x00003000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0">
-        <object type="Cache" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
-          <object type="Cache" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
-            <object type="Core" os_index="0" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0">
-              <object type="PU" os_index="12" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0"/>
+    <object type="NUMANode" os_index="6" cpuset="0x00003000" complete_cpuset="0x00003000" online_cpuset="0x00003000" allowed_cpuset="0x00003000" nodeset="0x0" complete_nodeset="0x00000040" allowed_nodeset="0x0">
+      <object type="Package" os_index="6" cpuset="0x00003000" complete_cpuset="0x00003000" online_cpuset="0x00003000" allowed_cpuset="0x00003000" nodeset="0x0" complete_nodeset="0x00000040" allowed_nodeset="0x0">
+        <object type="Cache" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x0" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
+          <object type="Cache" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x0" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
+            <object type="Core" os_index="0" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x0" complete_nodeset="0x00000040" allowed_nodeset="0x0">
+              <object type="PU" os_index="12" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x0" complete_nodeset="0x00000040" allowed_nodeset="0x0"/>
             </object>
           </object>
         </object>
-        <object type="Cache" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
-          <object type="Cache" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
-            <object type="Core" os_index="1" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0">
-              <object type="PU" os_index="13" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0"/>
+        <object type="Cache" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x0" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
+          <object type="Cache" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x0" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
+            <object type="Core" os_index="1" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x0" complete_nodeset="0x00000040" allowed_nodeset="0x0">
+              <object type="PU" os_index="13" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x0" complete_nodeset="0x00000040" allowed_nodeset="0x0"/>
             </object>
           </object>
         </object>
       </object>
     </object>
-    <object type="NUMANode" os_index="7" cpuset="0x0000c000" complete_cpuset="0x0000c000" online_cpuset="0x0000c000" allowed_cpuset="0x0000c000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0">
-      <object type="Socket" os_index="7" cpuset="0x0000c000" complete_cpuset="0x0000c000" online_cpuset="0x0000c000" allowed_cpuset="0x0000c000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0">
-        <object type="Cache" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
-          <object type="Cache" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
-            <object type="Core" os_index="0" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0">
-              <object type="PU" os_index="14" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0"/>
+    <object type="NUMANode" os_index="7" cpuset="0x0000c000" complete_cpuset="0x0000c000" online_cpuset="0x0000c000" allowed_cpuset="0x0000c000" nodeset="0x0" complete_nodeset="0x00000080" allowed_nodeset="0x0">
+      <object type="Package" os_index="7" cpuset="0x0000c000" complete_cpuset="0x0000c000" online_cpuset="0x0000c000" allowed_cpuset="0x0000c000" nodeset="0x0" complete_nodeset="0x00000080" allowed_nodeset="0x0">
+        <object type="Cache" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x0" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
+          <object type="Cache" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x0" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
+            <object type="Core" os_index="0" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x0" complete_nodeset="0x00000080" allowed_nodeset="0x0">
+              <object type="PU" os_index="14" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x0" complete_nodeset="0x00000080" allowed_nodeset="0x0"/>
             </object>
           </object>
         </object>
-        <object type="Cache" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
-          <object type="Cache" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
-            <object type="Core" os_index="1" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0">
-              <object type="PU" os_index="15" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0"/>
+        <object type="Cache" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x0" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
+          <object type="Cache" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x0" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="65536" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
+            <object type="Core" os_index="1" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x0" complete_nodeset="0x00000080" allowed_nodeset="0x0">
+              <object type="PU" os_index="15" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x0" complete_nodeset="0x00000080" allowed_nodeset="0x0"/>
             </object>
           </object>
         </object>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16em64t-4s2c2t-offlines.xml b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16em64t-4s2c2t-offlines.xml
index 85f229d..23ce0f3 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16em64t-4s2c2t-offlines.xml
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16em64t-4s2c2t-offlines.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE topology SYSTEM "hwloc.dtd">
 <topology>
   <object type="Machine" os_index="0" cpuset="0x0000905b" complete_cpuset="0x0001915b" online_cpuset="0x0000905b" allowed_cpuset="0x0000915b">
-    <object type="Socket" os_index="0" cpuset="0x00001011" complete_cpuset="0x00001011" online_cpuset="0x00001011" allowed_cpuset="0x00001011">
+    <object type="Package" os_index="0" cpuset="0x00001011" complete_cpuset="0x00001011" online_cpuset="0x00001011" allowed_cpuset="0x00001011">
       <object type="Cache" cpuset="0x00001011" complete_cpuset="0x00001011" online_cpuset="0x00001011" allowed_cpuset="0x00001011" cache_size="4194304" depth="3" cache_linesize="0" cache_associativity="0" cache_type="0">
         <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
           <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" cache_size="16384" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
@@ -21,7 +21,7 @@
         </object>
       </object>
     </object>
-    <object type="Socket" os_index="1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002">
+    <object type="Package" os_index="1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002">
       <object type="Cache" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" cache_size="4194304" depth="3" cache_linesize="0" cache_associativity="0" cache_type="0">
         <object type="Cache" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
           <object type="Cache" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" cache_size="16384" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
@@ -32,7 +32,7 @@
         </object>
       </object>
     </object>
-    <object type="Socket" os_index="3" cpuset="0x00008008" complete_cpuset="0x00008008" online_cpuset="0x00008008" allowed_cpuset="0x00008008">
+    <object type="Package" os_index="3" cpuset="0x00008008" complete_cpuset="0x00008008" online_cpuset="0x00008008" allowed_cpuset="0x00008008">
       <object type="Cache" cpuset="0x00008008" complete_cpuset="0x00008008" online_cpuset="0x00008008" allowed_cpuset="0x00008008" cache_size="4194304" depth="3" cache_linesize="0" cache_associativity="0" cache_type="0">
         <object type="Cache" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
           <object type="Cache" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" cache_size="16384" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
@@ -50,7 +50,7 @@
         </object>
       </object>
     </object>
-    <object type="Socket" os_index="2" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040">
+    <object type="Package" os_index="2" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040">
       <object type="Cache" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" cache_size="4194304" depth="3" cache_linesize="0" cache_associativity="0" cache_type="0">
         <object type="Cache" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
           <object type="Cache" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" cache_size="16384" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16em64t-4s2c2t.console.options b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16em64t-4s2c2t.console.options
new file mode 100644
index 0000000..bd06d56
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16em64t-4s2c2t.console.options
@@ -0,0 +1 @@
+--of console
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16em64t-4s2c2t.console.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16em64t-4s2c2t.console.output
new file mode 100644
index 0000000..21713cf
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16em64t-4s2c2t.console.output
@@ -0,0 +1,29 @@
+Machine
+  Package L#0 + L3 L#0 (4096KB)
+    L2 L#0 (1024KB) + L1d L#0 (16KB) + Core L#0
+      PU L#0 (P#0)
+      PU L#1 (P#8)
+    L2 L#1 (1024KB) + L1d L#1 (16KB) + Core L#1
+      PU L#2 (P#4)
+      PU L#3 (P#12)
+  Package L#1 + L3 L#1 (4096KB)
+    L2 L#2 (1024KB) + L1d L#2 (16KB) + Core L#2
+      PU L#4 (P#1)
+      PU L#5 (P#9)
+    L2 L#3 (1024KB) + L1d L#3 (16KB) + Core L#3
+      PU L#6 (P#5)
+      PU L#7 (P#13)
+  Package L#2 + L3 L#2 (4096KB)
+    L2 L#4 (1024KB) + L1d L#4 (16KB) + Core L#4
+      PU L#8 (P#2)
+      PU L#9 (P#10)
+    L2 L#5 (1024KB) + L1d L#5 (16KB) + Core L#5
+      PU L#10 (P#6)
+      PU L#11 (P#14)
+  Package L#3 + L3 L#3 (4096KB)
+    L2 L#6 (1024KB) + L1d L#6 (16KB) + Core L#6
+      PU L#12 (P#3)
+      PU L#13 (P#11)
+    L2 L#7 (1024KB) + L1d L#7 (16KB) + Core L#7
+      PU L#14 (P#7)
+      PU L#15 (P#15)
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16em64t-4s2c2t.console.source b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16em64t-4s2c2t.console.source
new file mode 100644
index 0000000..54566e4
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16em64t-4s2c2t.console.source
@@ -0,0 +1 @@
+16em64t-4s2c2t.xml
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16em64t-4s2c2t.xml b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16em64t-4s2c2t.xml
index 19e7ce2..d8c389c 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16em64t-4s2c2t.xml
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16em64t-4s2c2t.xml
@@ -7,7 +7,7 @@
     <page_type size="17179869184" count="1"/>
     <info name="infowithvalue" value="value"/>
     <info name="infowithoutvalue" value=""/>
-    <object type="Socket" os_index="0" cpuset="0x00001111" complete_cpuset="0x00001111" online_cpuset="0x00001111" allowed_cpuset="0x00001111">
+    <object type="Package" os_index="0" cpuset="0x00001111" complete_cpuset="0x00001111" online_cpuset="0x00001111" allowed_cpuset="0x00001111">
       <object type="Cache" cpuset="0x00001111" complete_cpuset="0x00001111" online_cpuset="0x00001111" allowed_cpuset="0x00001111" cache_size="4194304" depth="3" cache_linesize="0" cache_associativity="0" cache_type="0">
         <object type="Cache" cpuset="0x00000101" complete_cpuset="0x00000101" online_cpuset="0x00000101" allowed_cpuset="0x00000101" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
           <object type="Cache" cpuset="0x00000101" complete_cpuset="0x00000101" online_cpuset="0x00000101" allowed_cpuset="0x00000101" cache_size="16384" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
@@ -27,7 +27,7 @@
         </object>
       </object>
     </object>
-    <object type="Socket" os_index="1" cpuset="0x00002222" complete_cpuset="0x00002222" online_cpuset="0x00002222" allowed_cpuset="0x00002222">
+    <object type="Package" os_index="1" cpuset="0x00002222" complete_cpuset="0x00002222" online_cpuset="0x00002222" allowed_cpuset="0x00002222">
       <object type="Cache" cpuset="0x00002222" complete_cpuset="0x00002222" online_cpuset="0x00002222" allowed_cpuset="0x00002222" cache_size="4194304" depth="3" cache_linesize="0" cache_associativity="0" cache_type="0">
         <object type="Cache" cpuset="0x00000202" complete_cpuset="0x00000202" online_cpuset="0x00000202" allowed_cpuset="0x00000202" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
           <object type="Cache" cpuset="0x00000202" complete_cpuset="0x00000202" online_cpuset="0x00000202" allowed_cpuset="0x00000202" cache_size="16384" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
@@ -47,7 +47,7 @@
         </object>
       </object>
     </object>
-    <object type="Socket" os_index="2" cpuset="0x00004444" complete_cpuset="0x00004444" online_cpuset="0x00004444" allowed_cpuset="0x00004444">
+    <object type="Package" os_index="2" cpuset="0x00004444" complete_cpuset="0x00004444" online_cpuset="0x00004444" allowed_cpuset="0x00004444">
       <object type="Cache" cpuset="0x00004444" complete_cpuset="0x00004444" online_cpuset="0x00004444" allowed_cpuset="0x00004444" cache_size="4194304" depth="3" cache_linesize="0" cache_associativity="0" cache_type="0">
         <object type="Cache" cpuset="0x00000404" complete_cpuset="0x00000404" online_cpuset="0x00000404" allowed_cpuset="0x00000404" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
           <object type="Cache" cpuset="0x00000404" complete_cpuset="0x00000404" online_cpuset="0x00000404" allowed_cpuset="0x00000404" cache_size="16384" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
@@ -67,7 +67,7 @@
         </object>
       </object>
     </object>
-    <object type="Socket" os_index="3" cpuset="0x00008888" complete_cpuset="0x00008888" online_cpuset="0x00008888" allowed_cpuset="0x00008888">
+    <object type="Package" os_index="3" cpuset="0x00008888" complete_cpuset="0x00008888" online_cpuset="0x00008888" allowed_cpuset="0x00008888">
       <object type="Cache" cpuset="0x00008888" complete_cpuset="0x00008888" online_cpuset="0x00008888" allowed_cpuset="0x00008888" cache_size="4194304" depth="3" cache_linesize="0" cache_associativity="0" cache_type="0">
         <object type="Cache" cpuset="0x00000808" complete_cpuset="0x00000808" online_cpuset="0x00000808" allowed_cpuset="0x00000808" cache_size="1048576" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
           <object type="Cache" cpuset="0x00000808" complete_cpuset="0x00000808" online_cpuset="0x00000808" allowed_cpuset="0x00000808" cache_size="16384" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.nocollapse.options b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.nocollapse.options
new file mode 100644
index 0000000..5aa3238
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.nocollapse.options
@@ -0,0 +1 @@
+--of console -v --no-collapse
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.nocollapse.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.nocollapse.output
new file mode 100644
index 0000000..0a62605
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.nocollapse.output
@@ -0,0 +1,142 @@
+Machine (P#0 total=134181920KB Architecture=x86_64 hwlocVersion=2.0.0a1-git ProcessName=lt-lstopo-no-graphics)
+  NUMANode L#0 (P#0 local=67073056KB total=67073056KB)
+    Package L#0 (P#0)
+      L3Cache L#0 (size=20480KB linesize=64 ways=20)
+        L2Cache L#0 (size=256KB linesize=64 ways=8)
+          L1dCache L#0 (size=32KB linesize=64 ways=8)
+            L1iCache L#0 (size=32KB linesize=64 ways=8)
+              Core L#0 (P#0)
+                PU L#0 (P#0)
+        L2Cache L#1 (size=256KB linesize=64 ways=8)
+          L1dCache L#1 (size=32KB linesize=64 ways=8)
+            L1iCache L#1 (size=32KB linesize=64 ways=8)
+              Core L#1 (P#1)
+                PU L#1 (P#1)
+        L2Cache L#2 (size=256KB linesize=64 ways=8)
+          L1dCache L#2 (size=32KB linesize=64 ways=8)
+            L1iCache L#2 (size=32KB linesize=64 ways=8)
+              Core L#2 (P#2)
+                PU L#2 (P#2)
+        L2Cache L#3 (size=256KB linesize=64 ways=8)
+          L1dCache L#3 (size=32KB linesize=64 ways=8)
+            L1iCache L#3 (size=32KB linesize=64 ways=8)
+              Core L#3 (P#3)
+                PU L#3 (P#3)
+        L2Cache L#4 (size=256KB linesize=64 ways=8)
+          L1dCache L#4 (size=32KB linesize=64 ways=8)
+            L1iCache L#4 (size=32KB linesize=64 ways=8)
+              Core L#4 (P#4)
+                PU L#4 (P#4)
+        L2Cache L#5 (size=256KB linesize=64 ways=8)
+          L1dCache L#5 (size=32KB linesize=64 ways=8)
+            L1iCache L#5 (size=32KB linesize=64 ways=8)
+              Core L#5 (P#5)
+                PU L#5 (P#5)
+        L2Cache L#6 (size=256KB linesize=64 ways=8)
+          L1dCache L#6 (size=32KB linesize=64 ways=8)
+            L1iCache L#6 (size=32KB linesize=64 ways=8)
+              Core L#6 (P#6)
+                PU L#6 (P#6)
+        L2Cache L#7 (size=256KB linesize=64 ways=8)
+          L1dCache L#7 (size=32KB linesize=64 ways=8)
+            L1iCache L#7 (size=32KB linesize=64 ways=8)
+              Core L#7 (P#7)
+                PU L#7 (P#7)
+    Bridge Host->PCI L#0 (P#0 buses=0000:[00-15])
+      Bridge PCI->PCI (P#17 busid=0000:00:01.1 id=8086:3c03 class=0604(PCI_B) buses=0000:[02-03] PCIVendor="Intel Corporation" PCIDevice="Xeon E5/Core i7 IIO PCI Express Root Port 1b") "Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 1b"
+        PCI 8086:1521 (P#8192 busid=0000:02:00.0 class=0200(Ether) PCIVendor="Intel Corporation" PCIDevice="I350 Gigabit Network Connection") "Intel Corporation I350 Gigabit Network Connection"
+          Network L#0 (Address=a4:93:4c:aa:60:1e) "eth0"
+        PCI 8086:1521 (P#8193 busid=0000:02:00.1 class=0200(Ether) PCIVendor="Intel Corporation" PCIDevice="I350 Gigabit Network Connection") "Intel Corporation I350 Gigabit Network Connection"
+          Network L#1 (Address=a4:93:4c:aa:60:1f) "eth1"
+      Bridge PCI->PCI (P#48 busid=0000:00:03.0 id=8086:3c08 class=0604(PCI_B) buses=0000:[06-11] PCIVendor="Intel Corporation" PCIDevice="Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode") "Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode"
+        Bridge PCI->PCI (P#24576 busid=0000:06:00.0 id=1137:004e class=0604(PCI_B) buses=0000:[07-11] PCIVendor="Cisco Systems Inc" PCIDevice="VIC 82 PCIe Upstream Port") "Cisco Systems Inc VIC 82 PCIe Upstream Port"
+          Bridge PCI->PCI (P#28688 busid=0000:07:01.0 id=1137:0041 class=0604(PCI_B) buses=0000:[09-11] PCIVendor="Cisco Systems Inc" PCIDevice="VIC PCIe Downstream Port") "Cisco Systems Inc VIC PCIe Downstream Port"
+            Bridge PCI->PCI (P#36864 busid=0000:09:00.0 id=1137:0040 class=0604(PCI_B) buses=0000:[0a-11] PCIVendor="Cisco Systems Inc" PCIDevice="VIC PCIe Upstream Port") "Cisco Systems Inc VIC PCIe Upstream Port"
+              Bridge PCI->PCI (P#40960 busid=0000:0a:00.0 id=1137:0041 class=0604(PCI_B) buses=0000:[0b-0b] PCIVendor="Cisco Systems Inc" PCIDevice="VIC PCIe Downstream Port") "Cisco Systems Inc VIC PCIe Downstream Port"
+                PCI 1137:0043 (P#45056 busid=0000:0b:00.0 class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Ethernet NIC") "Cisco Systems Inc VIC Ethernet NIC"
+                  Network L#2 (Address=24:57:20:04:20:00 Port=1) "eth4"
+                  OpenFabrics L#3 (NodeGUID=0200:00ff:fe00:0000 SysImageGUID=2657:20ff:fe04:2000 Port1State=4 Port1LID=0x0 Port1LMC=1 Port1GID0=fe80:0000:0a0a:0004:2657:20ff:fe04:2000) "usnic_0"
+                PCI 1137:00cf (P#45057 busid=0000:0b:00.1 class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Userspace NIC") "Cisco Systems Inc VIC Userspace NIC"
+                PCI 1137:00cf (P#45058 busid=0000:0b:00.2 class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Userspace NIC") "Cisco Systems Inc VIC Userspace NIC"
+                PCI 1137:00cf (P#45059 busid=0000:0b:00.3 class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Userspace NIC") "Cisco Systems Inc VIC Userspace NIC"
+              Bridge PCI->PCI (P#40976 busid=0000:0a:01.0 id=1137:0041 class=0604(PCI_B) buses=0000:[0c-0c] PCIVendor="Cisco Systems Inc" PCIDevice="VIC PCIe Downstream Port") "Cisco Systems Inc VIC PCIe Downstream Port"
+                PCI 1137:0043 (P#49152 busid=0000:0c:00.0 class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Ethernet NIC") "Cisco Systems Inc VIC Ethernet NIC"
+                  Network L#4 (Address=24:57:20:04:21:00 Port=1) "eth5"
+                  OpenFabrics L#5 (NodeGUID=0200:00ff:fe00:0000 SysImageGUID=2657:20ff:fe04:2100 Port1State=4 Port1LID=0x0 Port1LMC=1 Port1GID0=fe80:0000:0a02:0004:2657:20ff:fe04:2100) "usnic_1"
+                PCI 1137:00cf (P#49153 busid=0000:0c:00.1 class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Userspace NIC") "Cisco Systems Inc VIC Userspace NIC"
+                PCI 1138:00cf (P#49154 busid=0000:0c:00.2 class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Userspace NIC") "Cisco Systems Inc VIC Userspace NIC"
+                PCI 1138:00cf (P#49155 busid=0000:0c:00.3 class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Userspace NIC") "Cisco Systems Inc VIC Userspace NIC"
+                PCI 1137:00cf (P#49156 busid=0000:0c:00.4 class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Userspace NIC") "Cisco Systems Inc VIC Userspace NIC"
+  NUMANode L#1 (P#1 local=67108864KB total=67108864KB)
+    Package L#1 (P#1)
+      L3Cache L#1 (size=20480KB linesize=64 ways=20)
+        L2Cache L#8 (size=256KB linesize=64 ways=8)
+          L1dCache L#8 (size=32KB linesize=64 ways=8)
+            L1iCache L#8 (size=32KB linesize=64 ways=8)
+              Core L#8 (P#0)
+                PU L#8 (P#8)
+        L2Cache L#9 (size=256KB linesize=64 ways=8)
+          L1dCache L#9 (size=32KB linesize=64 ways=8)
+            L1iCache L#9 (size=32KB linesize=64 ways=8)
+              Core L#9 (P#1)
+                PU L#9 (P#9)
+        L2Cache L#10 (size=256KB linesize=64 ways=8)
+          L1dCache L#10 (size=32KB linesize=64 ways=8)
+            L1iCache L#10 (size=32KB linesize=64 ways=8)
+              Core L#10 (P#2)
+                PU L#10 (P#10)
+        L2Cache L#11 (size=256KB linesize=64 ways=8)
+          L1dCache L#11 (size=32KB linesize=64 ways=8)
+            L1iCache L#11 (size=32KB linesize=64 ways=8)
+              Core L#11 (P#3)
+                PU L#11 (P#11)
+        L2Cache L#12 (size=256KB linesize=64 ways=8)
+          L1dCache L#12 (size=32KB linesize=64 ways=8)
+            L1iCache L#12 (size=32KB linesize=64 ways=8)
+              Core L#12 (P#4)
+                PU L#12 (P#12)
+        L2Cache L#13 (size=256KB linesize=64 ways=8)
+          L1dCache L#13 (size=32KB linesize=64 ways=8)
+            L1iCache L#13 (size=32KB linesize=64 ways=8)
+              Core L#13 (P#5)
+                PU L#13 (P#13)
+        L2Cache L#14 (size=256KB linesize=64 ways=8)
+          L1dCache L#14 (size=32KB linesize=64 ways=8)
+            L1iCache L#14 (size=32KB linesize=64 ways=8)
+              Core L#14 (P#6)
+                PU L#14 (P#14)
+        L2Cache L#15 (size=256KB linesize=64 ways=8)
+          L1dCache L#15 (size=32KB linesize=64 ways=8)
+            L1iCache L#15 (size=32KB linesize=64 ways=8)
+              Core L#15 (P#7)
+                PU L#15 (P#15)
+    Bridge Host->PCI L#8 (P#2 buses=0000:[80-8c])
+      Bridge PCI->PCI (P#524336 busid=0000:80:03.0 id=8086:3c08 class=0604(PCI_B) buses=0000:[83-8c] PCIVendor="Intel Corporation" PCIDevice="Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode") "Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode"
+        Bridge PCI->PCI (P#536576 busid=0000:83:00.0 id=1137:004e class=0604(PCI_B) buses=0000:[84-8c] PCIVendor="Cisco Systems Inc" PCIDevice="VIC 82 PCIe Upstream Port") "Cisco Systems Inc VIC 82 PCIe Upstream Port"
+          Bridge PCI->PCI (P#540688 busid=0000:84:01.0 id=1137:0041 class=0604(PCI_B) buses=0000:[86-8c] PCIVendor="Cisco Systems Inc" PCIDevice="VIC PCIe Downstream Port") "Cisco Systems Inc VIC PCIe Downstream Port"
+            Bridge PCI->PCI (P#548864 busid=0000:86:00.0 id=1137:0040 class=0604(PCI_B) buses=0000:[87-8c] PCIVendor="Cisco Systems Inc" PCIDevice="VIC PCIe Upstream Port") "Cisco Systems Inc VIC PCIe Upstream Port"
+              Bridge PCI->PCI (P#552960 busid=0000:87:00.0 id=1137:0041 class=0604(PCI_B) buses=0000:[88-88] PCIVendor="Cisco Systems Inc" PCIDevice="VIC PCIe Downstream Port") "Cisco Systems Inc VIC PCIe Downstream Port"
+                PCI 1137:0043 (P#557056 busid=0000:88:00.0 class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Ethernet NIC") "Cisco Systems Inc VIC Ethernet NIC"
+                  Network L#6 (Address=24:57:20:04:50:00 Port=1) "eth6"
+                  OpenFabrics L#7 (NodeGUID=0200:00ff:fe00:0000 SysImageGUID=2657:20ff:fe04:5000 Port1State=4 Port1LID=0x0 Port1LMC=1 Port1GID0=fe80:0000:0a03:0004:2657:20ff:fe04:5000) "usnic_2"
+                PCI 1137:00cf (P#557057 busid=0000:88:00.1 class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Userspace NIC") "Cisco Systems Inc VIC Userspace NIC"
+                PCI 1137:00cf (P#557058 busid=0000:88:00.2 class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Userspace NIC") "Cisco Systems Inc VIC Userspace NIC"
+                PCI 1137:00cf (P#557059 busid=0000:88:00.3 class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Userspace NIC") "Cisco Systems Inc VIC Userspace NIC"
+                PCI 1137:00cf (P#557060 busid=0000:88:00.4 class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Userspace NIC") "Cisco Systems Inc VIC Userspace NIC"
+                PCI 1137:00cf (P#557061 busid=0000:88:00.5 class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Userspace NIC") "Cisco Systems Inc VIC Userspace NIC"
+              Bridge PCI->PCI (P#552976 busid=0000:87:01.0 id=1137:0041 class=0604(PCI_B) buses=0000:[89-89] PCIVendor="Cisco Systems Inc" PCIDevice="VIC PCIe Downstream Port") "Cisco Systems Inc VIC PCIe Downstream Port"
+                PCI 1137:0043 (P#561152 busid=0000:89:00.0 class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Ethernet NIC") "Cisco Systems Inc VIC Ethernet NIC"
+                  Network L#8 (Address=24:57:20:04:51:00) "eth7"
+depth 0:	1 Machine (type #1)
+ depth 1:	2 NUMANode (type #2)
+  depth 2:	2 Package (type #3)
+   depth 3:	2 L3Cache (type #4)
+    depth 4:	16 L2Cache (type #4)
+     depth 5:	16 L1dCache (type #4)
+      depth 6:	16 L1iCache (type #4)
+       depth 7:	16 Core (type #5)
+        depth 8:	16 PU (type #6)
+Special depth -3:	15 Bridge (type #9)
+Special depth -4:	18 PCI Device (type #10)
+Special depth -5:	9 OS Device (type #11)
+Topology not from this system
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.nocollapse.source b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.nocollapse.source
new file mode 100644
index 0000000..6e7b504
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.nocollapse.source
@@ -0,0 +1 @@
+16intel64-manyVFs.xml
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.options b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.options
new file mode 100644
index 0000000..ecaa393
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.options
@@ -0,0 +1 @@
+--of console -v
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.output
new file mode 100644
index 0000000..ae03519
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.output
@@ -0,0 +1,135 @@
+Machine (P#0 total=134181920KB Architecture=x86_64 hwlocVersion=2.0.0a1-git ProcessName=lt-lstopo-no-graphics)
+  NUMANode L#0 (P#0 local=67073056KB total=67073056KB)
+    Package L#0 (P#0)
+      L3Cache L#0 (size=20480KB linesize=64 ways=20)
+        L2Cache L#0 (size=256KB linesize=64 ways=8)
+          L1dCache L#0 (size=32KB linesize=64 ways=8)
+            L1iCache L#0 (size=32KB linesize=64 ways=8)
+              Core L#0 (P#0)
+                PU L#0 (P#0)
+        L2Cache L#1 (size=256KB linesize=64 ways=8)
+          L1dCache L#1 (size=32KB linesize=64 ways=8)
+            L1iCache L#1 (size=32KB linesize=64 ways=8)
+              Core L#1 (P#1)
+                PU L#1 (P#1)
+        L2Cache L#2 (size=256KB linesize=64 ways=8)
+          L1dCache L#2 (size=32KB linesize=64 ways=8)
+            L1iCache L#2 (size=32KB linesize=64 ways=8)
+              Core L#2 (P#2)
+                PU L#2 (P#2)
+        L2Cache L#3 (size=256KB linesize=64 ways=8)
+          L1dCache L#3 (size=32KB linesize=64 ways=8)
+            L1iCache L#3 (size=32KB linesize=64 ways=8)
+              Core L#3 (P#3)
+                PU L#3 (P#3)
+        L2Cache L#4 (size=256KB linesize=64 ways=8)
+          L1dCache L#4 (size=32KB linesize=64 ways=8)
+            L1iCache L#4 (size=32KB linesize=64 ways=8)
+              Core L#4 (P#4)
+                PU L#4 (P#4)
+        L2Cache L#5 (size=256KB linesize=64 ways=8)
+          L1dCache L#5 (size=32KB linesize=64 ways=8)
+            L1iCache L#5 (size=32KB linesize=64 ways=8)
+              Core L#5 (P#5)
+                PU L#5 (P#5)
+        L2Cache L#6 (size=256KB linesize=64 ways=8)
+          L1dCache L#6 (size=32KB linesize=64 ways=8)
+            L1iCache L#6 (size=32KB linesize=64 ways=8)
+              Core L#6 (P#6)
+                PU L#6 (P#6)
+        L2Cache L#7 (size=256KB linesize=64 ways=8)
+          L1dCache L#7 (size=32KB linesize=64 ways=8)
+            L1iCache L#7 (size=32KB linesize=64 ways=8)
+              Core L#7 (P#7)
+                PU L#7 (P#7)
+    Bridge Host->PCI L#0 (P#0 buses=0000:[00-15])
+      Bridge PCI->PCI (P#17 busid=0000:00:01.1 id=8086:3c03 class=0604(PCI_B) buses=0000:[02-03] PCIVendor="Intel Corporation" PCIDevice="Xeon E5/Core i7 IIO PCI Express Root Port 1b") "Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 1b"
+        PCI 8086:1521 (P#8192 busid=0000:02:00.0 class=0200(Ether) PCIVendor="Intel Corporation" PCIDevice="I350 Gigabit Network Connection") "Intel Corporation I350 Gigabit Network Connection"
+          Network L#0 (Address=a4:93:4c:aa:60:1e) "eth0"
+        PCI 8086:1521 (P#8193 busid=0000:02:00.1 class=0200(Ether) PCIVendor="Intel Corporation" PCIDevice="I350 Gigabit Network Connection") "Intel Corporation I350 Gigabit Network Connection"
+          Network L#1 (Address=a4:93:4c:aa:60:1f) "eth1"
+      Bridge PCI->PCI (P#48 busid=0000:00:03.0 id=8086:3c08 class=0604(PCI_B) buses=0000:[06-11] PCIVendor="Intel Corporation" PCIDevice="Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode") "Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode"
+        Bridge PCI->PCI (P#24576 busid=0000:06:00.0 id=1137:004e class=0604(PCI_B) buses=0000:[07-11] PCIVendor="Cisco Systems Inc" PCIDevice="VIC 82 PCIe Upstream Port") "Cisco Systems Inc VIC 82 PCIe Upstream Port"
+          Bridge PCI->PCI (P#28688 busid=0000:07:01.0 id=1137:0041 class=0604(PCI_B) buses=0000:[09-11] PCIVendor="Cisco Systems Inc" PCIDevice="VIC PCIe Downstream Port") "Cisco Systems Inc VIC PCIe Downstream Port"
+            Bridge PCI->PCI (P#36864 busid=0000:09:00.0 id=1137:0040 class=0604(PCI_B) buses=0000:[0a-11] PCIVendor="Cisco Systems Inc" PCIDevice="VIC PCIe Upstream Port") "Cisco Systems Inc VIC PCIe Upstream Port"
+              Bridge PCI->PCI (P#40960 busid=0000:0a:00.0 id=1137:0041 class=0604(PCI_B) buses=0000:[0b-0b] PCIVendor="Cisco Systems Inc" PCIDevice="VIC PCIe Downstream Port") "Cisco Systems Inc VIC PCIe Downstream Port"
+                PCI 1137:0043 (P#45056 busid=0000:0b:00.0 class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Ethernet NIC") "Cisco Systems Inc VIC Ethernet NIC"
+                  Network L#2 (Address=24:57:20:04:20:00 Port=1) "eth4"
+                  OpenFabrics L#3 (NodeGUID=0200:00ff:fe00:0000 SysImageGUID=2657:20ff:fe04:2000 Port1State=4 Port1LID=0x0 Port1LMC=1 Port1GID0=fe80:0000:0a0a:0004:2657:20ff:fe04:2000) "usnic_0"
+                3 x { PCI 1137:00cf (P#[collapsed] busid=[collapsed] class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Userspace NIC") "Cisco Systems Inc VIC Userspace NIC" }
+              Bridge PCI->PCI (P#40976 busid=0000:0a:01.0 id=1137:0041 class=0604(PCI_B) buses=0000:[0c-0c] PCIVendor="Cisco Systems Inc" PCIDevice="VIC PCIe Downstream Port") "Cisco Systems Inc VIC PCIe Downstream Port"
+                PCI 1137:0043 (P#49152 busid=0000:0c:00.0 class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Ethernet NIC") "Cisco Systems Inc VIC Ethernet NIC"
+                  Network L#4 (Address=24:57:20:04:21:00 Port=1) "eth5"
+                  OpenFabrics L#5 (NodeGUID=0200:00ff:fe00:0000 SysImageGUID=2657:20ff:fe04:2100 Port1State=4 Port1LID=0x0 Port1LMC=1 Port1GID0=fe80:0000:0a02:0004:2657:20ff:fe04:2100) "usnic_1"
+                PCI 1137:00cf (P#49153 busid=0000:0c:00.1 class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Userspace NIC") "Cisco Systems Inc VIC Userspace NIC"
+                2 x { PCI 1138:00cf (P#[collapsed] busid=[collapsed] class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Userspace NIC") "Cisco Systems Inc VIC Userspace NIC" }
+                PCI 1137:00cf (P#49156 busid=0000:0c:00.4 class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Userspace NIC") "Cisco Systems Inc VIC Userspace NIC"
+  NUMANode L#1 (P#1 local=67108864KB total=67108864KB)
+    Package L#1 (P#1)
+      L3Cache L#1 (size=20480KB linesize=64 ways=20)
+        L2Cache L#8 (size=256KB linesize=64 ways=8)
+          L1dCache L#8 (size=32KB linesize=64 ways=8)
+            L1iCache L#8 (size=32KB linesize=64 ways=8)
+              Core L#8 (P#0)
+                PU L#8 (P#8)
+        L2Cache L#9 (size=256KB linesize=64 ways=8)
+          L1dCache L#9 (size=32KB linesize=64 ways=8)
+            L1iCache L#9 (size=32KB linesize=64 ways=8)
+              Core L#9 (P#1)
+                PU L#9 (P#9)
+        L2Cache L#10 (size=256KB linesize=64 ways=8)
+          L1dCache L#10 (size=32KB linesize=64 ways=8)
+            L1iCache L#10 (size=32KB linesize=64 ways=8)
+              Core L#10 (P#2)
+                PU L#10 (P#10)
+        L2Cache L#11 (size=256KB linesize=64 ways=8)
+          L1dCache L#11 (size=32KB linesize=64 ways=8)
+            L1iCache L#11 (size=32KB linesize=64 ways=8)
+              Core L#11 (P#3)
+                PU L#11 (P#11)
+        L2Cache L#12 (size=256KB linesize=64 ways=8)
+          L1dCache L#12 (size=32KB linesize=64 ways=8)
+            L1iCache L#12 (size=32KB linesize=64 ways=8)
+              Core L#12 (P#4)
+                PU L#12 (P#12)
+        L2Cache L#13 (size=256KB linesize=64 ways=8)
+          L1dCache L#13 (size=32KB linesize=64 ways=8)
+            L1iCache L#13 (size=32KB linesize=64 ways=8)
+              Core L#13 (P#5)
+                PU L#13 (P#13)
+        L2Cache L#14 (size=256KB linesize=64 ways=8)
+          L1dCache L#14 (size=32KB linesize=64 ways=8)
+            L1iCache L#14 (size=32KB linesize=64 ways=8)
+              Core L#14 (P#6)
+                PU L#14 (P#14)
+        L2Cache L#15 (size=256KB linesize=64 ways=8)
+          L1dCache L#15 (size=32KB linesize=64 ways=8)
+            L1iCache L#15 (size=32KB linesize=64 ways=8)
+              Core L#15 (P#7)
+                PU L#15 (P#15)
+    Bridge Host->PCI L#8 (P#2 buses=0000:[80-8c])
+      Bridge PCI->PCI (P#524336 busid=0000:80:03.0 id=8086:3c08 class=0604(PCI_B) buses=0000:[83-8c] PCIVendor="Intel Corporation" PCIDevice="Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode") "Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode"
+        Bridge PCI->PCI (P#536576 busid=0000:83:00.0 id=1137:004e class=0604(PCI_B) buses=0000:[84-8c] PCIVendor="Cisco Systems Inc" PCIDevice="VIC 82 PCIe Upstream Port") "Cisco Systems Inc VIC 82 PCIe Upstream Port"
+          Bridge PCI->PCI (P#540688 busid=0000:84:01.0 id=1137:0041 class=0604(PCI_B) buses=0000:[86-8c] PCIVendor="Cisco Systems Inc" PCIDevice="VIC PCIe Downstream Port") "Cisco Systems Inc VIC PCIe Downstream Port"
+            Bridge PCI->PCI (P#548864 busid=0000:86:00.0 id=1137:0040 class=0604(PCI_B) buses=0000:[87-8c] PCIVendor="Cisco Systems Inc" PCIDevice="VIC PCIe Upstream Port") "Cisco Systems Inc VIC PCIe Upstream Port"
+              Bridge PCI->PCI (P#552960 busid=0000:87:00.0 id=1137:0041 class=0604(PCI_B) buses=0000:[88-88] PCIVendor="Cisco Systems Inc" PCIDevice="VIC PCIe Downstream Port") "Cisco Systems Inc VIC PCIe Downstream Port"
+                PCI 1137:0043 (P#557056 busid=0000:88:00.0 class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Ethernet NIC") "Cisco Systems Inc VIC Ethernet NIC"
+                  Network L#6 (Address=24:57:20:04:50:00 Port=1) "eth6"
+                  OpenFabrics L#7 (NodeGUID=0200:00ff:fe00:0000 SysImageGUID=2657:20ff:fe04:5000 Port1State=4 Port1LID=0x0 Port1LMC=1 Port1GID0=fe80:0000:0a03:0004:2657:20ff:fe04:5000) "usnic_2"
+                5 x { PCI 1137:00cf (P#[collapsed] busid=[collapsed] class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Userspace NIC") "Cisco Systems Inc VIC Userspace NIC" }
+              Bridge PCI->PCI (P#552976 busid=0000:87:01.0 id=1137:0041 class=0604(PCI_B) buses=0000:[89-89] PCIVendor="Cisco Systems Inc" PCIDevice="VIC PCIe Downstream Port") "Cisco Systems Inc VIC PCIe Downstream Port"
+                PCI 1137:0043 (P#561152 busid=0000:89:00.0 class=0200(Ether) PCIVendor="Cisco Systems Inc" PCIDevice="VIC Ethernet NIC") "Cisco Systems Inc VIC Ethernet NIC"
+                  Network L#8 (Address=24:57:20:04:51:00) "eth7"
+depth 0:	1 Machine (type #1)
+ depth 1:	2 NUMANode (type #2)
+  depth 2:	2 Package (type #3)
+   depth 3:	2 L3Cache (type #4)
+    depth 4:	16 L2Cache (type #4)
+     depth 5:	16 L1dCache (type #4)
+      depth 6:	16 L1iCache (type #4)
+       depth 7:	16 Core (type #5)
+        depth 8:	16 PU (type #6)
+Special depth -3:	15 Bridge (type #9)
+Special depth -4:	18 PCI Device (type #10)
+Special depth -5:	9 OS Device (type #11)
+Topology not from this system
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.source b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.source
new file mode 100644
index 0000000..6e7b504
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.source
@@ -0,0 +1 @@
+16intel64-manyVFs.xml
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32em64t-2n8c+1mic.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.xml
similarity index 51%
copy from src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32em64t-2n8c+1mic.output
copy to src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.xml
index e191ad1..6e47507 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/32em64t-2n8c+1mic.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.xml
@@ -2,30 +2,15 @@
 <!DOCTYPE topology SYSTEM "hwloc.dtd">
 <topology>
   <object type="Machine" os_index="0" cpuset="0x0000ffff" complete_cpuset="0x0000ffff" online_cpuset="0x0000ffff" allowed_cpuset="0x0000ffff" nodeset="0x00000003" complete_nodeset="0x00000003" allowed_nodeset="0x00000003">
-    <info name="DMIProductName" value="DCS8000Z"/>
-    <info name="DMIProductVersion" value=""/>
-    <info name="DMIBoardVendor" value="Dell"/>
-    <info name="DMIBoardName" value="0W6W6G"/>
-    <info name="DMIBoardVersion" value="A00"/>
-    <info name="DMIBoardAssetTag" value="N/A"/>
-    <info name="DMIChassisVendor" value="Dell"/>
-    <info name="DMIChassisType" value="23"/>
-    <info name="DMIChassisVersion" value="N/A"/>
-    <info name="DMIChassisAssetTag" value="N/A"/>
-    <info name="DMIBIOSVendor" value="Dell Inc."/>
-    <info name="DMIBIOSVersion" value="1.0.30"/>
-    <info name="DMIBIOSDate" value="08/06/2012"/>
-    <info name="DMISysVendor" value="Dell"/>
-    <info name="Backend" value="Linux"/>
-    <distances nbobjs="2" relative_depth="1" latency_base="10.000000">
-      <latency value="1.000000"/>
-      <latency value="2.100000"/>
-      <latency value="2.100000"/>
-      <latency value="1.000000"/>
-    </distances>
-    <object type="NUMANode" os_index="0" cpuset="0x000000ff" complete_cpuset="0x000000ff" online_cpuset="0x000000ff" allowed_cpuset="0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="17149054976">
-      <object type="Socket" os_index="0" cpuset="0x000000ff" complete_cpuset="0x000000ff" online_cpuset="0x000000ff" allowed_cpuset="0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz"/>
+    <page_type size="4096" count="0"/>
+    <page_type size="2097152" count="0"/>
+    <info name="Architecture" value="x86_64"/>
+    <info name="hwlocVersion" value="2.0.0a1-git"/>
+    <info name="ProcessName" value="lt-lstopo-no-graphics"/>
+    <object type="NUMANode" os_index="0" cpuset="0x000000ff" complete_cpuset="0x000000ff" online_cpuset="0x000000ff" allowed_cpuset="0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="68682809344">
+      <page_type size="4096" count="16768264"/>
+      <page_type size="2097152" count="0"/>
+      <object type="Package" os_index="0" cpuset="0x000000ff" complete_cpuset="0x000000ff" online_cpuset="0x000000ff" allowed_cpuset="0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
         <object type="Cache" cpuset="0x000000ff" complete_cpuset="0x000000ff" online_cpuset="0x000000ff" allowed_cpuset="0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
           <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
             <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
@@ -101,69 +86,115 @@
           </object>
         </object>
       </object>
-      <object type="Bridge" os_index="0" bridge_type="0-1" depth="0" bridge_pci="0000:[00-06]">
-        <object type="PCIDev" os_index="0" pci_busid="0000:00:00.0" pci_type="0600 [8086:3c00] [1028:0518] 07" pci_link_speed="0.000000"/>
-        <object type="Bridge" os_index="16" bridge_type="1-1" depth="0" bridge_pci="0000:[01-01]" pci_busid="0000:00:01.0" pci_type="0604 [8086:3c02] [0000:0000] 07" pci_link_speed="0.000000"/>
-        <object type="Bridge" os_index="17" bridge_type="1-1" depth="0" bridge_pci="0000:[02-02]" pci_busid="0000:00:01.1" pci_type="0604 [8086:3c03] [0000:0000] 07" pci_link_speed="0.000000">
-          <object type="PCIDev" os_index="8192" pci_busid="0000:02:00.0" pci_type="0200 [8086:1521] [1028:0000] 01" pci_link_speed="0.000000">
+      <object type="Bridge" os_index="0" bridge_type="0-1" depth="0" bridge_pci="0000:[00-15]">
+        <object type="Bridge" os_index="17" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 1b" bridge_type="1-1" depth="1" bridge_pci="0000:[02-03]" pci_busid="0000:00:01.1" pci_type="0604 [8086:3c03] [0000:0000] 07" pci_link_speed="0.000000">
+          <info name="PCIVendor" value="Intel Corporation"/>
+          <info name="PCIDevice" value="Xeon E5/Core i7 IIO PCI Express Root Port 1b"/>
+          <object type="PCIDev" os_index="8192" name="Intel Corporation I350 Gigabit Network Connection" pci_busid="0000:02:00.0" pci_type="0200 [8086:1521] [1137:008b] 01" pci_link_speed="0.000000">
+            <info name="PCIVendor" value="Intel Corporation"/>
+            <info name="PCIDevice" value="I350 Gigabit Network Connection"/>
             <object type="OSDev" name="eth0" osdev_type="2">
-              <info name="Address" value="84:8f:69:fe:cc:40"/>
+              <info name="Address" value="a4:93:4c:aa:60:1e"/>
             </object>
           </object>
-          <object type="PCIDev" os_index="8195" pci_busid="0000:02:00.3" pci_type="0200 [8086:1521] [1028:0000] 01" pci_link_speed="0.000000">
+          <object type="PCIDev" os_index="8193" name="Intel Corporation I350 Gigabit Network Connection" pci_busid="0000:02:00.1" pci_type="0200 [8086:1521] [1137:008b] 01" pci_link_speed="0.000000">
+            <info name="PCIVendor" value="Intel Corporation"/>
+            <info name="PCIDevice" value="I350 Gigabit Network Connection"/>
             <object type="OSDev" name="eth1" osdev_type="2">
-              <info name="Address" value="84:8f:69:fe:cc:41"/>
+              <info name="Address" value="a4:93:4c:aa:60:1f"/>
             </object>
           </object>
         </object>
-        <object type="PCIDev" os_index="64" pci_busid="0000:00:04.0" pci_type="0880 [8086:3c20] [1028:0518] 07" pci_link_speed="0.000000">
-          <object type="OSDev" name="dma0chan0" osdev_type="4"/>
-        </object>
-        <object type="PCIDev" os_index="65" pci_busid="0000:00:04.1" pci_type="0880 [8086:3c21] [1028:0518] 07" pci_link_speed="0.000000">
-          <object type="OSDev" name="dma1chan0" osdev_type="4"/>
-        </object>
-        <object type="PCIDev" os_index="66" pci_busid="0000:00:04.2" pci_type="0880 [8086:3c22] [1028:0518] 07" pci_link_speed="0.000000">
-          <object type="OSDev" name="dma2chan0" osdev_type="4"/>
-        </object>
-        <object type="PCIDev" os_index="67" pci_busid="0000:00:04.3" pci_type="0880 [8086:3c23] [1028:0518] 07" pci_link_speed="0.000000">
-          <object type="OSDev" name="dma3chan0" osdev_type="4"/>
-        </object>
-        <object type="PCIDev" os_index="68" pci_busid="0000:00:04.4" pci_type="0880 [8086:3c24] [1028:0518] 07" pci_link_speed="0.000000">
-          <object type="OSDev" name="dma4chan0" osdev_type="4"/>
-        </object>
-        <object type="PCIDev" os_index="69" pci_busid="0000:00:04.5" pci_type="0880 [8086:3c25] [1028:0518] 07" pci_link_speed="0.000000">
-          <object type="OSDev" name="dma5chan0" osdev_type="4"/>
-        </object>
-        <object type="PCIDev" os_index="70" pci_busid="0000:00:04.6" pci_type="0880 [8086:3c26] [1028:0518] 07" pci_link_speed="0.000000">
-          <object type="OSDev" name="dma6chan0" osdev_type="4"/>
-        </object>
-        <object type="PCIDev" os_index="71" pci_busid="0000:00:04.7" pci_type="0880 [8086:3c27] [1028:0518] 07" pci_link_speed="0.000000">
-          <object type="OSDev" name="dma7chan0" osdev_type="4"/>
-        </object>
-        <object type="PCIDev" os_index="80" pci_busid="0000:00:05.0" pci_type="0880 [8086:3c28] [1028:0518] 07" pci_link_speed="0.000000"/>
-        <object type="PCIDev" os_index="82" pci_busid="0000:00:05.2" pci_type="0880 [8086:3c2a] [1028:0518] 07" pci_link_speed="0.000000"/>
-        <object type="PCIDev" os_index="84" pci_busid="0000:00:05.4" pci_type="0800 [8086:3c2c] [1028:0518] 07" pci_link_speed="0.000000"/>
-        <object type="Bridge" os_index="272" bridge_type="1-1" depth="0" bridge_pci="0000:[03-03]" pci_busid="0000:00:11.0" pci_type="0604 [8086:1d3e] [0000:0000] 06" pci_link_speed="0.000000"/>
-        <object type="PCIDev" os_index="352" pci_busid="0000:00:16.0" pci_type="0780 [8086:1d3a] [1028:0518] 05" pci_link_speed="0.000000"/>
-        <object type="PCIDev" os_index="353" pci_busid="0000:00:16.1" pci_type="0780 [8086:1d3b] [1028:0518] 05" pci_link_speed="0.000000"/>
-        <object type="PCIDev" os_index="416" pci_busid="0000:00:1a.0" pci_type="0c03 [8086:1d2d] [1028:0518] 06" pci_link_speed="0.000000"/>
-        <object type="Bridge" os_index="448" bridge_type="1-1" depth="0" bridge_pci="0000:[04-05]" pci_busid="0000:00:1c.0" pci_type="0604 [8086:1d10] [0000:0000] b6" pci_link_speed="0.000000">
-          <object type="Bridge" os_index="16384" bridge_type="1-1" depth="1" bridge_pci="0000:[05-05]" pci_busid="0000:04:00.0" pci_type="0604 [1a03:1150] [0000:0000] 02" pci_link_speed="0.000000">
-            <object type="PCIDev" os_index="20480" pci_busid="0000:05:00.0" pci_type="0300 [1a03:2000] [1028:0518] 21" pci_link_speed="0.000000"/>
+        <object type="Bridge" os_index="48" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0000:[06-11]" pci_busid="0000:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
+          <info name="PCIVendor" value="Intel Corporation"/>
+          <info name="PCIDevice" value="Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode"/>
+          <object type="Bridge" os_index="24576" name="Cisco Systems Inc VIC 82 PCIe Upstream Port" bridge_type="1-1" depth="2" bridge_pci="0000:[07-11]" pci_busid="0000:06:00.0" pci_type="0604 [1137:004e] [0000:0000] 01" pci_link_speed="0.000000">
+            <info name="PCIVendor" value="Cisco Systems Inc"/>
+            <info name="PCIDevice" value="VIC 82 PCIe Upstream Port"/>
+            <object type="Bridge" os_index="28688" name="Cisco Systems Inc VIC PCIe Downstream Port" bridge_type="1-1" depth="3" bridge_pci="0000:[09-11]" pci_busid="0000:07:01.0" pci_type="0604 [1137:0041] [0000:0000] a2" pci_link_speed="0.000000">
+              <info name="PCIVendor" value="Cisco Systems Inc"/>
+              <info name="PCIDevice" value="VIC PCIe Downstream Port"/>
+              <object type="Bridge" os_index="36864" name="Cisco Systems Inc VIC PCIe Upstream Port" bridge_type="1-1" depth="4" bridge_pci="0000:[0a-11]" pci_busid="0000:09:00.0" pci_type="0604 [1137:0040] [0000:0000] a2" pci_link_speed="0.000000">
+                <info name="PCIVendor" value="Cisco Systems Inc"/>
+                <info name="PCIDevice" value="VIC PCIe Upstream Port"/>
+                <object type="Bridge" os_index="40960" name="Cisco Systems Inc VIC PCIe Downstream Port" bridge_type="1-1" depth="5" bridge_pci="0000:[0b-0b]" pci_busid="0000:0a:00.0" pci_type="0604 [1137:0041] [0000:0000] a2" pci_link_speed="0.000000">
+                  <info name="PCIVendor" value="Cisco Systems Inc"/>
+                  <info name="PCIDevice" value="VIC PCIe Downstream Port"/>
+                  <object type="PCIDev" os_index="45056" name="Cisco Systems Inc VIC Ethernet NIC" pci_busid="0000:0b:00.0" pci_type="0200 [1137:0043] [1137:0085] a2" pci_link_speed="0.000000">
+                    <info name="PCIVendor" value="Cisco Systems Inc"/>
+                    <info name="PCIDevice" value="VIC Ethernet NIC"/>
+                    <object type="OSDev" name="eth4" osdev_type="2">
+                      <info name="Address" value="24:57:20:04:20:00"/>
+                      <info name="Port" value="1"/>
+                    </object>
+                    <object type="OSDev" name="usnic_0" osdev_type="3">
+                      <info name="NodeGUID" value="0200:00ff:fe00:0000"/>
+                      <info name="SysImageGUID" value="2657:20ff:fe04:2000"/>
+                      <info name="Port1State" value="4"/>
+                      <info name="Port1LID" value="0x0"/>
+                      <info name="Port1LMC" value="1"/>
+                      <info name="Port1GID0" value="fe80:0000:0a0a:0004:2657:20ff:fe04:2000"/>
+                    </object>
+                  </object>
+                  <object type="PCIDev" os_index="45057" name="Cisco Systems Inc VIC Userspace NIC" pci_busid="0000:0b:00.1" pci_type="0200 [1137:00cf] [1137:0000] a2" pci_link_speed="0.000000">
+                    <info name="PCIVendor" value="Cisco Systems Inc"/>
+                    <info name="PCIDevice" value="VIC Userspace NIC"/>
+                  </object>
+                  <object type="PCIDev" os_index="45058" name="Cisco Systems Inc VIC Userspace NIC" pci_busid="0000:0b:00.2" pci_type="0200 [1137:00cf] [1137:0000] a2" pci_link_speed="0.000000">
+                    <info name="PCIVendor" value="Cisco Systems Inc"/>
+                    <info name="PCIDevice" value="VIC Userspace NIC"/>
+                  </object>
+                  <object type="PCIDev" os_index="45059" name="Cisco Systems Inc VIC Userspace NIC" pci_busid="0000:0b:00.3" pci_type="0200 [1137:00cf] [1137:0000] a2" pci_link_speed="0.000000">
+                    <info name="PCIVendor" value="Cisco Systems Inc"/>
+                    <info name="PCIDevice" value="VIC Userspace NIC"/>
+                  </object>
+                </object>
+                <object type="Bridge" os_index="40976" name="Cisco Systems Inc VIC PCIe Downstream Port" bridge_type="1-1" depth="5" bridge_pci="0000:[0c-0c]" pci_busid="0000:0a:01.0" pci_type="0604 [1137:0041] [0000:0000] a2" pci_link_speed="0.000000">
+                  <info name="PCIVendor" value="Cisco Systems Inc"/>
+                  <info name="PCIDevice" value="VIC PCIe Downstream Port"/>
+                  <object type="PCIDev" os_index="49152" name="Cisco Systems Inc VIC Ethernet NIC" pci_busid="0000:0c:00.0" pci_type="0200 [1137:0043] [1137:0085] a2" pci_link_speed="0.000000">
+                    <info name="PCIVendor" value="Cisco Systems Inc"/>
+                    <info name="PCIDevice" value="VIC Ethernet NIC"/>
+                    <object type="OSDev" name="eth5" osdev_type="2">
+                      <info name="Address" value="24:57:20:04:21:00"/>
+                      <info name="Port" value="1"/>
+                    </object>
+                    <object type="OSDev" name="usnic_1" osdev_type="3">
+                      <info name="NodeGUID" value="0200:00ff:fe00:0000"/>
+                      <info name="SysImageGUID" value="2657:20ff:fe04:2100"/>
+                      <info name="Port1State" value="4"/>
+                      <info name="Port1LID" value="0x0"/>
+                      <info name="Port1LMC" value="1"/>
+                      <info name="Port1GID0" value="fe80:0000:0a02:0004:2657:20ff:fe04:2100"/>
+                    </object>
+                  </object>
+                  <object type="PCIDev" os_index="49153" name="Cisco Systems Inc VIC Userspace NIC" pci_busid="0000:0c:00.1" pci_type="0200 [1137:00cf] [1137:0000] a2" pci_link_speed="0.000000">
+                    <info name="PCIVendor" value="Cisco Systems Inc"/>
+                    <info name="PCIDevice" value="VIC Userspace NIC"/>
+                  </object>
+                  <object type="PCIDev" os_index="49154" name="Cisco Systems Inc VIC Userspace NIC" pci_busid="0000:0c:00.2" pci_type="0200 [1138:00cf] [1137:0000] a2" pci_link_speed="0.000000">
+                    <info name="PCIVendor" value="Cisco Systems Inc"/>
+                    <info name="PCIDevice" value="VIC Userspace NIC"/>
+                  </object>
+                  <object type="PCIDev" os_index="49155" name="Cisco Systems Inc VIC Userspace NIC" pci_busid="0000:0c:00.3" pci_type="0200 [1138:00cf] [1137:0000] a2" pci_link_speed="0.000000">
+                    <info name="PCIVendor" value="Cisco Systems Inc"/>
+                    <info name="PCIDevice" value="VIC Userspace NIC"/>
+                  </object>
+                  <object type="PCIDev" os_index="49156" name="Cisco Systems Inc VIC Userspace NIC" pci_busid="0000:0c:00.4" pci_type="0200 [1137:00cf] [1137:0000] a2" pci_link_speed="0.000000">
+                    <info name="PCIVendor" value="Cisco Systems Inc"/>
+                    <info name="PCIDevice" value="VIC Userspace NIC"/>
+                  </object>
+                </object>
+              </object>
+            </object>
           </object>
         </object>
-        <object type="PCIDev" os_index="464" pci_busid="0000:00:1d.0" pci_type="0c03 [8086:1d26] [1028:0518] 06" pci_link_speed="0.000000"/>
-        <object type="Bridge" os_index="480" bridge_type="1-1" depth="0" bridge_pci="0000:[06-06]" pci_busid="0000:00:1e.0" pci_type="0604 [8086:244e] [0000:0000] a6" pci_link_speed="0.000000"/>
-        <object type="PCIDev" os_index="496" pci_busid="0000:00:1f.0" pci_type="0601 [8086:1d41] [1028:0518] 06" pci_link_speed="0.000000"/>
-        <object type="PCIDev" os_index="498" pci_busid="0000:00:1f.2" pci_type="0106 [8086:1d02] [1028:0518] 06" pci_link_speed="0.000000">
-          <object type="OSDev" name="sda" osdev_type="0"/>
-        </object>
-        <object type="PCIDev" os_index="499" pci_busid="0000:00:1f.3" pci_type="0c05 [8086:1d22] [1028:0518] 06" pci_link_speed="0.000000"/>
       </object>
     </object>
-    <object type="NUMANode" os_index="1" cpuset="0x0000ff00" complete_cpuset="0x0000ff00" online_cpuset="0x0000ff00" allowed_cpuset="0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="17179869184">
-      <object type="Socket" os_index="1" cpuset="0x0000ff00" complete_cpuset="0x0000ff00" online_cpuset="0x0000ff00" allowed_cpuset="0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz"/>
+    <object type="NUMANode" os_index="1" cpuset="0x0000ff00" complete_cpuset="0x0000ff00" online_cpuset="0x0000ff00" allowed_cpuset="0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="68719476736">
+      <page_type size="4096" count="16777216"/>
+      <page_type size="2097152" count="0"/>
+      <object type="Package" os_index="1" cpuset="0x0000ff00" complete_cpuset="0x0000ff00" online_cpuset="0x0000ff00" allowed_cpuset="0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <object type="Cache" cpuset="0x0000ff00" complete_cpuset="0x0000ff00" online_cpuset="0x0000ff00" allowed_cpuset="0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
           <object type="Cache" cpuset="0x00000100" complete_cpuset="0x00000100" online_cpuset="0x00000100" allowed_cpuset="0x00000100" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
             <object type="Cache" cpuset="0x00000100" complete_cpuset="0x00000100" online_cpuset="0x00000100" allowed_cpuset="0x00000100" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
@@ -239,160 +270,75 @@
           </object>
         </object>
       </object>
-      <object type="Bridge" os_index="2" bridge_type="0-1" depth="0" bridge_pci="0000:[80-83]">
-        <object type="Bridge" os_index="524320" bridge_type="1-1" depth="0" bridge_pci="0000:[81-81]" pci_busid="0000:80:02.0" pci_type="0604 [8086:3c04] [0000:0000] 07" pci_link_speed="0.000000"/>
-        <object type="Bridge" os_index="524322" bridge_type="1-1" depth="0" bridge_pci="0000:[82-82]" pci_busid="0000:80:02.2" pci_type="0604 [8086:3c06] [0000:0000] 07" pci_link_speed="0.000000">
-          <object type="PCIDev" os_index="532480" pci_busid="0000:82:00.0" pci_type="0280 [15b3:1003] [15b3:0059] 00" pci_link_speed="0.000000">
-            <object type="OSDev" name="ib0" osdev_type="2">
-              <info name="Address" value="80:00:00:48:fe:80:00:00:00:00:00:00:00:02:c9:03:00:f9:bf:a1"/>
-              <info name="Port" value="1"/>
-            </object>
-            <object type="OSDev" name="mlx4_0" osdev_type="3">
-              <info name="NodeGUID" value="0002:c903:00f9:bfa0"/>
-              <info name="SysImageGUID" value="0002:c903:00f9:bfa3"/>
-              <info name="Port1State" value="4"/>
-              <info name="Port1LID" value="0x3a4"/>
-              <info name="Port1LMC" value="0"/>
-              <info name="Port1GID0" value="fe80:0000:0000:0000:0002:c903:00f9:bfa1"/>
-            </object>
-          </object>
-        </object>
-        <object type="Bridge" os_index="524336" bridge_type="1-1" depth="0" bridge_pci="0000:[83-83]" pci_busid="0000:80:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
-          <object type="PCIDev" os_index="536576" pci_busid="0000:83:00.0" pci_type="0b40 [8086:225c] [8086:2500] 10" pci_link_speed="0.000000">
-            <object type="OSDev" name="mic0" osdev_type="5">
-              <info name="CoProcType" value="MIC"/>
-              <info name="MICFamily" value="Knights Corner"/>
-              <info name="MICSKU" value="ES2-P/A/X 1750"/>
-              <info name="MICSerialNumber" value="ADKC23500189"/>
-              <info name="MICActiveCores" value="61"/>
-              <info name="MICMemorySize" value="8126464"/>
+      <object type="Bridge" os_index="2" bridge_type="0-1" depth="0" bridge_pci="0000:[80-8c]">
+        <object type="Bridge" os_index="524336" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0000:[83-8c]" pci_busid="0000:80:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
+          <info name="PCIVendor" value="Intel Corporation"/>
+          <info name="PCIDevice" value="Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode"/>
+          <object type="Bridge" os_index="536576" name="Cisco Systems Inc VIC 82 PCIe Upstream Port" bridge_type="1-1" depth="2" bridge_pci="0000:[84-8c]" pci_busid="0000:83:00.0" pci_type="0604 [1137:004e] [0000:0000] 01" pci_link_speed="0.000000">
+            <info name="PCIVendor" value="Cisco Systems Inc"/>
+            <info name="PCIDevice" value="VIC 82 PCIe Upstream Port"/>
+            <object type="Bridge" os_index="540688" name="Cisco Systems Inc VIC PCIe Downstream Port" bridge_type="1-1" depth="3" bridge_pci="0000:[86-8c]" pci_busid="0000:84:01.0" pci_type="0604 [1137:0041] [0000:0000] a2" pci_link_speed="0.000000">
+              <info name="PCIVendor" value="Cisco Systems Inc"/>
+              <info name="PCIDevice" value="VIC PCIe Downstream Port"/>
+              <object type="Bridge" os_index="548864" name="Cisco Systems Inc VIC PCIe Upstream Port" bridge_type="1-1" depth="4" bridge_pci="0000:[87-8c]" pci_busid="0000:86:00.0" pci_type="0604 [1137:0040] [0000:0000] a2" pci_link_speed="0.000000">
+                <info name="PCIVendor" value="Cisco Systems Inc"/>
+                <info name="PCIDevice" value="VIC PCIe Upstream Port"/>
+                <object type="Bridge" os_index="552960" name="Cisco Systems Inc VIC PCIe Downstream Port" bridge_type="1-1" depth="5" bridge_pci="0000:[88-88]" pci_busid="0000:87:00.0" pci_type="0604 [1137:0041] [0000:0000] a2" pci_link_speed="0.000000">
+                  <info name="PCIVendor" value="Cisco Systems Inc"/>
+                  <info name="PCIDevice" value="VIC PCIe Downstream Port"/>
+                  <object type="PCIDev" os_index="557056" name="Cisco Systems Inc VIC Ethernet NIC" pci_busid="0000:88:00.0" pci_type="0200 [1137:0043] [1137:0085] a2" pci_link_speed="0.000000">
+                    <info name="PCIVendor" value="Cisco Systems Inc"/>
+                    <info name="PCIDevice" value="VIC Ethernet NIC"/>
+                    <object type="OSDev" name="eth6" osdev_type="2">
+                      <info name="Address" value="24:57:20:04:50:00"/>
+                      <info name="Port" value="1"/>
+                    </object>
+                    <object type="OSDev" name="usnic_2" osdev_type="3">
+                      <info name="NodeGUID" value="0200:00ff:fe00:0000"/>
+                      <info name="SysImageGUID" value="2657:20ff:fe04:5000"/>
+                      <info name="Port1State" value="4"/>
+                      <info name="Port1LID" value="0x0"/>
+                      <info name="Port1LMC" value="1"/>
+                      <info name="Port1GID0" value="fe80:0000:0a03:0004:2657:20ff:fe04:5000"/>
+                    </object>
+                  </object>
+                  <object type="PCIDev" os_index="557057" name="Cisco Systems Inc VIC Userspace NIC" pci_busid="0000:88:00.1" pci_type="0200 [1137:00cf] [1137:0000] a2" pci_link_speed="0.000000">
+                    <info name="PCIVendor" value="Cisco Systems Inc"/>
+                    <info name="PCIDevice" value="VIC Userspace NIC"/>
+                  </object>
+                  <object type="PCIDev" os_index="557058" name="Cisco Systems Inc VIC Userspace NIC" pci_busid="0000:88:00.2" pci_type="0200 [1137:00cf] [1137:0000] a2" pci_link_speed="0.000000">
+                    <info name="PCIVendor" value="Cisco Systems Inc"/>
+                    <info name="PCIDevice" value="VIC Userspace NIC"/>
+                  </object>
+                  <object type="PCIDev" os_index="557059" name="Cisco Systems Inc VIC Userspace NIC" pci_busid="0000:88:00.3" pci_type="0200 [1137:00cf] [1137:0000] a2" pci_link_speed="0.000000">
+                    <info name="PCIVendor" value="Cisco Systems Inc"/>
+                    <info name="PCIDevice" value="VIC Userspace NIC"/>
+                  </object>
+                  <object type="PCIDev" os_index="557060" name="Cisco Systems Inc VIC Userspace NIC" pci_busid="0000:88:00.4" pci_type="0200 [1137:00cf] [1137:0000] a2" pci_link_speed="0.000000">
+                    <info name="PCIVendor" value="Cisco Systems Inc"/>
+                    <info name="PCIDevice" value="VIC Userspace NIC"/>
+                  </object>
+                  <object type="PCIDev" os_index="557061" name="Cisco Systems Inc VIC Userspace NIC" pci_busid="0000:88:00.5" pci_type="0200 [1137:00cf] [1137:0000] a2" pci_link_speed="0.000000">
+                    <info name="PCIVendor" value="Cisco Systems Inc"/>
+                    <info name="PCIDevice" value="VIC Userspace NIC"/>
+                  </object>
+                </object>
+                <object type="Bridge" os_index="552976" name="Cisco Systems Inc VIC PCIe Downstream Port" bridge_type="1-1" depth="5" bridge_pci="0000:[89-89]" pci_busid="0000:87:01.0" pci_type="0604 [1137:0041] [0000:0000] a2" pci_link_speed="0.000000">
+                  <info name="PCIVendor" value="Cisco Systems Inc"/>
+                  <info name="PCIDevice" value="VIC PCIe Downstream Port"/>
+                  <object type="PCIDev" os_index="561152" name="Cisco Systems Inc VIC Ethernet NIC" pci_busid="0000:89:00.0" pci_type="0200 [1137:0043] [1137:0085] a2" pci_link_speed="0.000000">
+                    <info name="PCIVendor" value="Cisco Systems Inc"/>
+                    <info name="PCIDevice" value="VIC Ethernet NIC"/>
+                    <object type="OSDev" name="eth7" osdev_type="2">
+                      <info name="Address" value="24:57:20:04:51:00"/>
+                    </object>
+                  </object>
+                </object>
+              </object>
             </object>
           </object>
         </object>
-        <object type="PCIDev" os_index="524352" pci_busid="0000:80:04.0" pci_type="0880 [8086:3c20] [1028:0518] 07" pci_link_speed="0.000000">
-          <object type="OSDev" name="dma8chan0" osdev_type="4"/>
-        </object>
-        <object type="PCIDev" os_index="524353" pci_busid="0000:80:04.1" pci_type="0880 [8086:3c21] [1028:0518] 07" pci_link_speed="0.000000">
-          <object type="OSDev" name="dma9chan0" osdev_type="4"/>
-        </object>
-        <object type="PCIDev" os_index="524354" pci_busid="0000:80:04.2" pci_type="0880 [8086:3c22] [1028:0518] 07" pci_link_speed="0.000000">
-          <object type="OSDev" name="dma10chan0" osdev_type="4"/>
-        </object>
-        <object type="PCIDev" os_index="524355" pci_busid="0000:80:04.3" pci_type="0880 [8086:3c23] [1028:0518] 07" pci_link_speed="0.000000">
-          <object type="OSDev" name="dma11chan0" osdev_type="4"/>
-        </object>
-        <object type="PCIDev" os_index="524356" pci_busid="0000:80:04.4" pci_type="0880 [8086:3c24] [1028:0518] 07" pci_link_speed="0.000000">
-          <object type="OSDev" name="dma12chan0" osdev_type="4"/>
-        </object>
-        <object type="PCIDev" os_index="524357" pci_busid="0000:80:04.5" pci_type="0880 [8086:3c25] [1028:0518] 07" pci_link_speed="0.000000">
-          <object type="OSDev" name="dma13chan0" osdev_type="4"/>
-        </object>
-        <object type="PCIDev" os_index="524358" pci_busid="0000:80:04.6" pci_type="0880 [8086:3c26] [1028:0518] 07" pci_link_speed="0.000000">
-          <object type="OSDev" name="dma14chan0" osdev_type="4"/>
-        </object>
-        <object type="PCIDev" os_index="524359" pci_busid="0000:80:04.7" pci_type="0880 [8086:3c27] [1028:0518] 07" pci_link_speed="0.000000">
-          <object type="OSDev" name="dma15chan0" osdev_type="4"/>
-        </object>
-        <object type="PCIDev" os_index="524368" pci_busid="0000:80:05.0" pci_type="0880 [8086:3c28] [1028:0518] 07" pci_link_speed="0.000000"/>
-        <object type="PCIDev" os_index="524370" pci_busid="0000:80:05.2" pci_type="0880 [8086:3c2a] [1028:0518] 07" pci_link_speed="0.000000"/>
-        <object type="PCIDev" os_index="524372" pci_busid="0000:80:05.4" pci_type="0800 [8086:3c2c] [1028:0518] 07" pci_link_speed="0.000000"/>
       </object>
     </object>
-    <object type="Bridge" os_index="1" bridge_type="0-1" depth="0" bridge_pci="0000:[7f-7f]">
-      <object type="PCIDev" os_index="520320" pci_busid="0000:7f:08.0" pci_type="0880 [8086:3c80] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520323" pci_busid="0000:7f:08.3" pci_type="0880 [8086:3c83] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520324" pci_busid="0000:7f:08.4" pci_type="0880 [8086:3c84] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520336" pci_busid="0000:7f:09.0" pci_type="0880 [8086:3c90] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520339" pci_busid="0000:7f:09.3" pci_type="0880 [8086:3c93] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520340" pci_busid="0000:7f:09.4" pci_type="0880 [8086:3c94] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520352" pci_busid="0000:7f:0a.0" pci_type="0880 [8086:3cc0] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520353" pci_busid="0000:7f:0a.1" pci_type="0880 [8086:3cc1] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520354" pci_busid="0000:7f:0a.2" pci_type="0880 [8086:3cc2] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520355" pci_busid="0000:7f:0a.3" pci_type="0880 [8086:3cd0] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520368" pci_busid="0000:7f:0b.0" pci_type="0880 [8086:3ce0] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520371" pci_busid="0000:7f:0b.3" pci_type="0880 [8086:3ce3] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520384" pci_busid="0000:7f:0c.0" pci_type="0880 [8086:3ce8] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520385" pci_busid="0000:7f:0c.1" pci_type="0880 [8086:3ce8] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520386" pci_busid="0000:7f:0c.2" pci_type="0880 [8086:3ce8] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520387" pci_busid="0000:7f:0c.3" pci_type="0880 [8086:3ce8] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520390" pci_busid="0000:7f:0c.6" pci_type="0880 [8086:3cf4] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520391" pci_busid="0000:7f:0c.7" pci_type="0880 [8086:3cf6] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520400" pci_busid="0000:7f:0d.0" pci_type="0880 [8086:3ce8] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520401" pci_busid="0000:7f:0d.1" pci_type="0880 [8086:3ce8] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520402" pci_busid="0000:7f:0d.2" pci_type="0880 [8086:3ce8] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520403" pci_busid="0000:7f:0d.3" pci_type="0880 [8086:3ce8] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520406" pci_busid="0000:7f:0d.6" pci_type="0880 [8086:3cf5] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520416" pci_busid="0000:7f:0e.0" pci_type="0880 [8086:3ca0] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520417" pci_busid="0000:7f:0e.1" pci_type="1101 [8086:3c46] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520432" pci_busid="0000:7f:0f.0" pci_type="0880 [8086:3ca8] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520433" pci_busid="0000:7f:0f.1" pci_type="0880 [8086:3c71] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520434" pci_busid="0000:7f:0f.2" pci_type="0880 [8086:3caa] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520435" pci_busid="0000:7f:0f.3" pci_type="0880 [8086:3cab] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520436" pci_busid="0000:7f:0f.4" pci_type="0880 [8086:3cac] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520437" pci_busid="0000:7f:0f.5" pci_type="0880 [8086:3cad] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520438" pci_busid="0000:7f:0f.6" pci_type="0880 [8086:3cae] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520448" pci_busid="0000:7f:10.0" pci_type="0880 [8086:3cb0] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520449" pci_busid="0000:7f:10.1" pci_type="0880 [8086:3cb1] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520450" pci_busid="0000:7f:10.2" pci_type="0880 [8086:3cb2] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520451" pci_busid="0000:7f:10.3" pci_type="0880 [8086:3cb3] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520452" pci_busid="0000:7f:10.4" pci_type="0880 [8086:3cb4] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520453" pci_busid="0000:7f:10.5" pci_type="0880 [8086:3cb5] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520454" pci_busid="0000:7f:10.6" pci_type="0880 [8086:3cb6] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520455" pci_busid="0000:7f:10.7" pci_type="0880 [8086:3cb7] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520464" pci_busid="0000:7f:11.0" pci_type="0880 [8086:3cb8] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520496" pci_busid="0000:7f:13.0" pci_type="0880 [8086:3ce4] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520497" pci_busid="0000:7f:13.1" pci_type="1101 [8086:3c43] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520500" pci_busid="0000:7f:13.4" pci_type="1101 [8086:3ce6] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520501" pci_busid="0000:7f:13.5" pci_type="1101 [8086:3c44] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="520502" pci_busid="0000:7f:13.6" pci_type="0880 [8086:3c45] [1028:0518] 07" pci_link_speed="0.000000"/>
-    </object>
-    <object type="Bridge" os_index="3" bridge_type="0-1" depth="0" bridge_pci="0000:[ff-ff]">
-      <object type="PCIDev" os_index="1044608" pci_busid="0000:ff:08.0" pci_type="0880 [8086:3c80] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044611" pci_busid="0000:ff:08.3" pci_type="0880 [8086:3c83] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044612" pci_busid="0000:ff:08.4" pci_type="0880 [8086:3c84] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044624" pci_busid="0000:ff:09.0" pci_type="0880 [8086:3c90] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044627" pci_busid="0000:ff:09.3" pci_type="0880 [8086:3c93] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044628" pci_busid="0000:ff:09.4" pci_type="0880 [8086:3c94] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044640" pci_busid="0000:ff:0a.0" pci_type="0880 [8086:3cc0] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044641" pci_busid="0000:ff:0a.1" pci_type="0880 [8086:3cc1] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044642" pci_busid="0000:ff:0a.2" pci_type="0880 [8086:3cc2] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044643" pci_busid="0000:ff:0a.3" pci_type="0880 [8086:3cd0] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044656" pci_busid="0000:ff:0b.0" pci_type="0880 [8086:3ce0] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044659" pci_busid="0000:ff:0b.3" pci_type="0880 [8086:3ce3] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044672" pci_busid="0000:ff:0c.0" pci_type="0880 [8086:3ce8] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044673" pci_busid="0000:ff:0c.1" pci_type="0880 [8086:3ce8] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044674" pci_busid="0000:ff:0c.2" pci_type="0880 [8086:3ce8] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044675" pci_busid="0000:ff:0c.3" pci_type="0880 [8086:3ce8] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044678" pci_busid="0000:ff:0c.6" pci_type="0880 [8086:3cf4] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044679" pci_busid="0000:ff:0c.7" pci_type="0880 [8086:3cf6] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044688" pci_busid="0000:ff:0d.0" pci_type="0880 [8086:3ce8] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044689" pci_busid="0000:ff:0d.1" pci_type="0880 [8086:3ce8] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044690" pci_busid="0000:ff:0d.2" pci_type="0880 [8086:3ce8] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044691" pci_busid="0000:ff:0d.3" pci_type="0880 [8086:3ce8] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044694" pci_busid="0000:ff:0d.6" pci_type="0880 [8086:3cf5] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044704" pci_busid="0000:ff:0e.0" pci_type="0880 [8086:3ca0] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044705" pci_busid="0000:ff:0e.1" pci_type="1101 [8086:3c46] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044720" pci_busid="0000:ff:0f.0" pci_type="0880 [8086:3ca8] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044721" pci_busid="0000:ff:0f.1" pci_type="0880 [8086:3c71] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044722" pci_busid="0000:ff:0f.2" pci_type="0880 [8086:3caa] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044723" pci_busid="0000:ff:0f.3" pci_type="0880 [8086:3cab] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044724" pci_busid="0000:ff:0f.4" pci_type="0880 [8086:3cac] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044725" pci_busid="0000:ff:0f.5" pci_type="0880 [8086:3cad] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044726" pci_busid="0000:ff:0f.6" pci_type="0880 [8086:3cae] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044736" pci_busid="0000:ff:10.0" pci_type="0880 [8086:3cb0] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044737" pci_busid="0000:ff:10.1" pci_type="0880 [8086:3cb1] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044738" pci_busid="0000:ff:10.2" pci_type="0880 [8086:3cb2] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044739" pci_busid="0000:ff:10.3" pci_type="0880 [8086:3cb3] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044740" pci_busid="0000:ff:10.4" pci_type="0880 [8086:3cb4] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044741" pci_busid="0000:ff:10.5" pci_type="0880 [8086:3cb5] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044742" pci_busid="0000:ff:10.6" pci_type="0880 [8086:3cb6] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044743" pci_busid="0000:ff:10.7" pci_type="0880 [8086:3cb7] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044752" pci_busid="0000:ff:11.0" pci_type="0880 [8086:3cb8] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044784" pci_busid="0000:ff:13.0" pci_type="0880 [8086:3ce4] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044785" pci_busid="0000:ff:13.1" pci_type="1101 [8086:3c43] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044788" pci_busid="0000:ff:13.4" pci_type="1101 [8086:3ce6] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044789" pci_busid="0000:ff:13.5" pci_type="1101 [8086:3c44] [1028:0518] 07" pci_link_speed="0.000000"/>
-      <object type="PCIDev" os_index="1044790" pci_busid="0000:ff:13.6" pci_type="0880 [8086:3c45] [1028:0518] 07" pci_link_speed="0.000000"/>
-    </object>
   </object>
 </topology>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-12gr2n8c2t-distancegroups.env b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-12gr2n8c2t-distancegroups.env
new file mode 100644
index 0000000..93e649b
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-12gr2n8c2t-distancegroups.env
@@ -0,0 +1,2 @@
+HWLOC_GROUPING_ACCURACY=0.0001
+export HWLOC_GROUPING_ACCURACY
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-12gr2n8c2t-distancegroups.xml b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-12gr2n8c2t-distancegroups.xml
index 6289624..7f2f9ab 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-12gr2n8c2t-distancegroups.xml
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-12gr2n8c2t-distancegroups.xml
@@ -599,7 +599,7 @@
       <object type="NUMANode" os_index="0" cpuset="0x000000ff,,,,,,0x000000ff" complete_cpuset="0x000000ff,,,,,,0x000000ff" online_cpuset="0x000000ff,,,,,,0x000000ff" allowed_cpuset="0x000000ff,,,,,,0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="33255329792">
         <page_type size="4096" count="8118977"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="0" cpuset="0x000000ff,,,,,,0x000000ff" complete_cpuset="0x000000ff,,,,,,0x000000ff" online_cpuset="0x000000ff,,,,,,0x000000ff" allowed_cpuset="0x000000ff,,,,,,0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+        <object type="Package" os_index="0" cpuset="0x000000ff,,,,,,0x000000ff" complete_cpuset="0x000000ff,,,,,,0x000000ff" online_cpuset="0x000000ff,,,,,,0x000000ff" allowed_cpuset="0x000000ff,,,,,,0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff" complete_cpuset="0x000000ff,,,,,,0x000000ff" online_cpuset="0x000000ff,,,,,,0x000000ff" allowed_cpuset="0x000000ff,,,,,,0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000001,,,,,,0x00000001" complete_cpuset="0x00000001,,,,,,0x00000001" online_cpuset="0x00000001,,,,,,0x00000001" allowed_cpuset="0x00000001,,,,,,0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -685,7 +685,7 @@
           </object>
         </object>
         <object type="Bridge" os_index="0" bridge_type="0-1" depth="0" bridge_pci="0000:[00-0c]">
-          <object type="Bridge" os_index="48" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="0" bridge_pci="0000:[01-02]" pci_busid="0000:00:03.0" pci_type="0604 [8086:3c08] [00ff:0000] 07" pci_link_speed="0.000000">
+          <object type="Bridge" os_index="48" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0000:[01-02]" pci_busid="0000:00:03.0" pci_type="0604 [8086:3c08] [00ff:0000] 07" pci_link_speed="0.000000">
             <info name="PCIVendor" value="Intel Corporation"/>
             <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
             <object type="PCIDev" os_index="4096" name="Intel Corporation I350 Gigabit Network Connection" pci_busid="0000:01:00.0" pci_type="0200 [8086:1521] [00ff:0000] 01" pci_link_speed="0.000000">
@@ -703,13 +703,13 @@
               </object>
             </object>
           </object>
-          <object type="Bridge" os_index="50" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3c" bridge_type="1-1" depth="0" bridge_pci="0000:[03-06]" pci_busid="0000:00:03.2" pci_type="0604 [8086:3c0a] [00ff:0000] 07" pci_link_speed="0.000000">
+          <object type="Bridge" os_index="50" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3c" bridge_type="1-1" depth="1" bridge_pci="0000:[03-06]" pci_busid="0000:00:03.2" pci_type="0604 [8086:3c0a] [00ff:0000] 07" pci_link_speed="0.000000">
             <info name="PCIVendor" value="Intel Corporation"/>
             <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3c"/>
-            <object type="Bridge" os_index="12288" name="Intel Corporation Patsburg PCI Express Upstream Port" bridge_type="1-1" depth="1" bridge_pci="0000:[04-06]" pci_busid="0000:03:00.0" pci_type="0604 [8086:1d74] [00ff:0000] 06" pci_link_speed="0.000000">
+            <object type="Bridge" os_index="12288" name="Intel Corporation Patsburg PCI Express Upstream Port" bridge_type="1-1" depth="2" bridge_pci="0000:[04-06]" pci_busid="0000:03:00.0" pci_type="0604 [8086:1d74] [00ff:0000] 06" pci_link_speed="0.000000">
               <info name="PCIVendor" value="Intel Corporation"/>
               <info name="PCIDevice" value="Patsburg PCI Express Upstream Port"/>
-              <object type="Bridge" os_index="16512" name="Intel Corporation Patsburg PCI Express Virtual Switch Port" bridge_type="1-1" depth="2" bridge_pci="0000:[05-06]" pci_busid="0000:04:08.0" pci_type="0604 [8086:1d3f] [00ff:0000] 06" pci_link_speed="0.000000">
+              <object type="Bridge" os_index="16512" name="Intel Corporation Patsburg PCI Express Virtual Switch Port" bridge_type="1-1" depth="3" bridge_pci="0000:[05-06]" pci_busid="0000:04:08.0" pci_type="0604 [8086:1d3f] [00ff:0000] 06" pci_link_speed="0.000000">
                 <info name="PCIVendor" value="Intel Corporation"/>
                 <info name="PCIDevice" value="Patsburg PCI Express Virtual Switch Port"/>
                 <object type="PCIDev" os_index="20480" name="Intel Corporation Patsburg Dual 4-Port SATA/SAS Storage Control Unit" pci_busid="0000:05:00.0" pci_type="0107 [8086:1d68] [00a9:0068] 06" pci_link_speed="0.000000">
@@ -719,16 +719,16 @@
               </object>
             </object>
           </object>
-          <object type="Bridge" os_index="448" name="Intel Corporation Patsburg PCI Express Root Port 8" bridge_type="1-1" depth="0" bridge_pci="0000:[07-0b]" pci_busid="0000:00:1c.0" pci_type="0604 [8086:1d1e] [0000:0000] b6" pci_link_speed="0.000000">
+          <object type="Bridge" os_index="448" name="Intel Corporation Patsburg PCI Express Root Port 8" bridge_type="1-1" depth="1" bridge_pci="0000:[07-0b]" pci_busid="0000:00:1c.0" pci_type="0604 [8086:1d1e] [0000:0000] b6" pci_link_speed="0.000000">
             <info name="PCIVendor" value="Intel Corporation"/>
             <info name="PCIDevice" value="Patsburg PCI Express Root Port 8"/>
-            <object type="Bridge" os_index="28672" name="Renesas Technology Corp. SH7757 PCIe Switch [PS]" bridge_type="1-1" depth="1" bridge_pci="0000:[08-0b]" pci_busid="0000:07:00.0" pci_type="0604 [1912:0013] [0000:0000] 00" pci_link_speed="0.000000">
+            <object type="Bridge" os_index="28672" name="Renesas Technology Corp. SH7757 PCIe Switch [PS]" bridge_type="1-1" depth="2" bridge_pci="0000:[08-0b]" pci_busid="0000:07:00.0" pci_type="0604 [1912:0013] [0000:0000] 00" pci_link_speed="0.000000">
               <info name="PCIVendor" value="Renesas Technology Corp."/>
               <info name="PCIDevice" value="SH7757 PCIe Switch [PS]"/>
-              <object type="Bridge" os_index="32768" name="Renesas Technology Corp. SH7757 PCIe Switch [PS]" bridge_type="1-1" depth="2" bridge_pci="0000:[09-0a]" pci_busid="0000:08:00.0" pci_type="0604 [1912:0013] [0000:0000] 00" pci_link_speed="0.000000">
+              <object type="Bridge" os_index="32768" name="Renesas Technology Corp. SH7757 PCIe Switch [PS]" bridge_type="1-1" depth="3" bridge_pci="0000:[09-0a]" pci_busid="0000:08:00.0" pci_type="0604 [1912:0013] [0000:0000] 00" pci_link_speed="0.000000">
                 <info name="PCIVendor" value="Renesas Technology Corp."/>
                 <info name="PCIDevice" value="SH7757 PCIe Switch [PS]"/>
-                <object type="Bridge" os_index="36864" name="Renesas Technology Corp. SH7757 PCIe-PCI Bridge [PPB]" bridge_type="1-1" depth="3" bridge_pci="0000:[0a-0a]" pci_busid="0000:09:00.0" pci_type="0604 [1912:0012] [0000:0000] 00" pci_link_speed="0.000000">
+                <object type="Bridge" os_index="36864" name="Renesas Technology Corp. SH7757 PCIe-PCI Bridge [PPB]" bridge_type="1-1" depth="4" bridge_pci="0000:[0a-0a]" pci_busid="0000:09:00.0" pci_type="0604 [1912:0012] [0000:0000] 00" pci_link_speed="0.000000">
                   <info name="PCIVendor" value="Renesas Technology Corp."/>
                   <info name="PCIDevice" value="SH7757 PCIe-PCI Bridge [PPB]"/>
                   <object type="PCIDev" os_index="40960" name="Matrox Graphics, Inc. G200eR2" pci_busid="0000:0a:00.0" pci_type="0300 [102b:0534] [0000:0000] 00" pci_link_speed="0.000000">
@@ -748,7 +748,7 @@
       <object type="NUMANode" os_index="1" cpuset="0x0000ff00,,,,,,0x0000ff00" complete_cpuset="0x0000ff00,,,,,,0x0000ff00" online_cpuset="0x0000ff00,,,,,,0x0000ff00" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="1" cpuset="0x0000ff00,,,,,,0x0000ff00" complete_cpuset="0x0000ff00,,,,,,0x0000ff00" online_cpuset="0x0000ff00,,,,,,0x0000ff00" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+        <object type="Package" os_index="1" cpuset="0x0000ff00,,,,,,0x0000ff00" complete_cpuset="0x0000ff00,,,,,,0x0000ff00" online_cpuset="0x0000ff00,,,,,,0x0000ff00" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00" complete_cpuset="0x0000ff00,,,,,,0x0000ff00" online_cpuset="0x0000ff00,,,,,,0x0000ff00" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000100,,,,,,0x00000100" complete_cpuset="0x00000100,,,,,,0x00000100" online_cpuset="0x00000100,,,,,,0x00000100" allowed_cpuset="0x00000100,,,,,,0x00000100" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -834,7 +834,7 @@
           </object>
         </object>
         <object type="Bridge" os_index="1" bridge_type="0-1" depth="0" bridge_pci="0001:[00-02]">
-          <object type="Bridge" os_index="1048624" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="0" bridge_pci="0001:[02-02]" pci_busid="0001:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
+          <object type="Bridge" os_index="1048624" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0001:[02-02]" pci_busid="0001:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
             <info name="PCIVendor" value="Intel Corporation"/>
             <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
             <object type="PCIDev" os_index="1056768" name="LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator]" pci_busid="0001:02:00.0" pci_type="0104 [1000:0079] [0000:0080] 05" pci_link_speed="0.000000">
@@ -851,7 +851,7 @@
       <object type="NUMANode" os_index="2" cpuset="0x00ff0000,,,,,,0x00ff0000" complete_cpuset="0x00ff0000,,,,,,0x00ff0000" online_cpuset="0x00ff0000,,,,,,0x00ff0000" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="2" cpuset="0x00ff0000,,,,,,0x00ff0000" complete_cpuset="0x00ff0000,,,,,,0x00ff0000" online_cpuset="0x00ff0000,,,,,,0x00ff0000" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+        <object type="Package" os_index="2" cpuset="0x00ff0000,,,,,,0x00ff0000" complete_cpuset="0x00ff0000,,,,,,0x00ff0000" online_cpuset="0x00ff0000,,,,,,0x00ff0000" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000" complete_cpuset="0x00ff0000,,,,,,0x00ff0000" online_cpuset="0x00ff0000,,,,,,0x00ff0000" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00010000,,,,,,0x00010000" complete_cpuset="0x00010000,,,,,,0x00010000" online_cpuset="0x00010000,,,,,,0x00010000" allowed_cpuset="0x00010000,,,,,,0x00010000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -940,7 +940,7 @@
       <object type="NUMANode" os_index="3" cpuset="0xff000000,,,,,,0xff000000" complete_cpuset="0xff000000,,,,,,0xff000000" online_cpuset="0xff000000,,,,,,0xff000000" allowed_cpuset="0xff000000,,,,,,0xff000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="3" cpuset="0xff000000,,,,,,0xff000000" complete_cpuset="0xff000000,,,,,,0xff000000" online_cpuset="0xff000000,,,,,,0xff000000" allowed_cpuset="0xff000000,,,,,,0xff000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+        <object type="Package" os_index="3" cpuset="0xff000000,,,,,,0xff000000" complete_cpuset="0xff000000,,,,,,0xff000000" online_cpuset="0xff000000,,,,,,0xff000000" allowed_cpuset="0xff000000,,,,,,0xff000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0xff000000,,,,,,0xff000000" complete_cpuset="0xff000000,,,,,,0xff000000" online_cpuset="0xff000000,,,,,,0xff000000" allowed_cpuset="0xff000000,,,,,,0xff000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x01000000,,,,,,0x01000000" complete_cpuset="0x01000000,,,,,,0x01000000" online_cpuset="0x01000000,,,,,,0x01000000" allowed_cpuset="0x01000000,,,,,,0x01000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -1031,7 +1031,7 @@
       <object type="NUMANode" os_index="4" cpuset="0x000000ff,,,,,,0x000000ff,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="4" cpuset="0x000000ff,,,,,,0x000000ff,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
+        <object type="Package" os_index="4" cpuset="0x000000ff,,,,,,0x000000ff,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,0x0" online_cpuset="0x00000001,,,,,,0x00000001,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -1117,13 +1117,13 @@
           </object>
         </object>
         <object type="Bridge" os_index="2" bridge_type="0-1" depth="0" bridge_pci="0002:[00-04]">
-          <object type="Bridge" os_index="2097200" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="0" bridge_pci="0002:[01-04]" pci_busid="0002:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
+          <object type="Bridge" os_index="2097200" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0002:[01-04]" pci_busid="0002:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
             <info name="PCIVendor" value="Intel Corporation"/>
             <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
-            <object type="Bridge" os_index="2101248" name="PLX Technology, Inc. PEX 8518 16-lane, 5-port PCI Express Switch" bridge_type="1-1" depth="1" bridge_pci="0002:[02-04]" pci_busid="0002:01:00.0" pci_type="0604 [10b5:8518] [0000:0000] ac" pci_link_speed="0.000000">
+            <object type="Bridge" os_index="2101248" name="PLX Technology, Inc. PEX 8518 16-lane, 5-port PCI Express Switch" bridge_type="1-1" depth="2" bridge_pci="0002:[02-04]" pci_busid="0002:01:00.0" pci_type="0604 [10b5:8518] [0000:0000] ac" pci_link_speed="0.000000">
               <info name="PCIVendor" value="PLX Technology, Inc."/>
               <info name="PCIDevice" value="PEX 8518 16-lane, 5-port PCI Express Switch"/>
-              <object type="Bridge" os_index="2105360" name="PLX Technology, Inc. PEX 8518 16-lane, 5-port PCI Express Switch" bridge_type="1-1" depth="2" bridge_pci="0002:[03-03]" pci_busid="0002:02:01.0" pci_type="0604 [10b5:8518] [0000:0000] ac" pci_link_speed="0.000000">
+              <object type="Bridge" os_index="2105360" name="PLX Technology, Inc. PEX 8518 16-lane, 5-port PCI Express Switch" bridge_type="1-1" depth="3" bridge_pci="0002:[03-03]" pci_busid="0002:02:01.0" pci_type="0604 [10b5:8518] [0000:0000] ac" pci_link_speed="0.000000">
                 <info name="PCIVendor" value="PLX Technology, Inc."/>
                 <info name="PCIDevice" value="PEX 8518 16-lane, 5-port PCI Express Switch"/>
                 <object type="PCIDev" os_index="2109440" name="Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet" pci_busid="0002:03:00.0" pci_type="0200 [14e4:1639] [00a9:0027] 20" pci_link_speed="0.000000">
@@ -1141,7 +1141,7 @@
                   </object>
                 </object>
               </object>
-              <object type="Bridge" os_index="2105376" name="PLX Technology, Inc. PEX 8518 16-lane, 5-port PCI Express Switch" bridge_type="1-1" depth="2" bridge_pci="0002:[04-04]" pci_busid="0002:02:02.0" pci_type="0604 [10b5:8518] [0000:0000] ac" pci_link_speed="0.000000">
+              <object type="Bridge" os_index="2105376" name="PLX Technology, Inc. PEX 8518 16-lane, 5-port PCI Express Switch" bridge_type="1-1" depth="3" bridge_pci="0002:[04-04]" pci_busid="0002:02:02.0" pci_type="0604 [10b5:8518] [0000:0000] ac" pci_link_speed="0.000000">
                 <info name="PCIVendor" value="PLX Technology, Inc."/>
                 <info name="PCIDevice" value="PEX 8518 16-lane, 5-port PCI Express Switch"/>
                 <object type="PCIDev" os_index="2113536" name="Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet" pci_busid="0002:04:00.0" pci_type="0200 [14e4:1639] [00a9:0027] 20" pci_link_speed="0.000000">
@@ -1166,7 +1166,7 @@
       <object type="NUMANode" os_index="5" cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="5" cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
+        <object type="Package" os_index="5" cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,0x0" online_cpuset="0x00000100,,,,,,0x00000100,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -1257,7 +1257,7 @@
       <object type="NUMANode" os_index="6" cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="6" cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
+        <object type="Package" os_index="6" cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,0x0" online_cpuset="0x00010000,,,,,,0x00010000,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -1343,7 +1343,7 @@
           </object>
         </object>
         <object type="Bridge" os_index="3" bridge_type="0-1" depth="0" bridge_pci="0003:[00-01]">
-          <object type="Bridge" os_index="3145776" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="0" bridge_pci="0003:[01-01]" pci_busid="0003:00:03.0" pci_type="0604 [8086:3c08] [00ff:0000] 07" pci_link_speed="0.000000">
+          <object type="Bridge" os_index="3145776" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0003:[01-01]" pci_busid="0003:00:03.0" pci_type="0604 [8086:3c08] [00ff:0000] 07" pci_link_speed="0.000000">
             <info name="PCIVendor" value="Intel Corporation"/>
             <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
             <object type="PCIDev" os_index="3149824" name="Mellanox Technologies MT27500 Family [ConnectX-3]" pci_busid="0003:01:00.0" pci_type="0280 [15b3:1003] [00b3:0051] 00" pci_link_speed="0.000000">
@@ -1367,7 +1367,7 @@
       <object type="NUMANode" os_index="7" cpuset="0xff000000,,,,,,0xff000000,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,0x0" online_cpuset="0xff000000,,,,,,0xff000000,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="7" cpuset="0xff000000,,,,,,0xff000000,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,0x0" online_cpuset="0xff000000,,,,,,0xff000000,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
+        <object type="Package" os_index="7" cpuset="0xff000000,,,,,,0xff000000,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,0x0" online_cpuset="0xff000000,,,,,,0xff000000,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0xff000000,,,,,,0xff000000,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,0x0" online_cpuset="0xff000000,,,,,,0xff000000,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,0x0" online_cpuset="0x01000000,,,,,,0x01000000,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -1458,7 +1458,7 @@
       <object type="NUMANode" os_index="8" cpuset="0x000000ff,,,,,,0x000000ff,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="8" cpuset="0x000000ff,,,,,,0x000000ff,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100">
+        <object type="Package" os_index="8" cpuset="0x000000ff,,,,,,0x000000ff,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -1544,7 +1544,7 @@
           </object>
         </object>
         <object type="Bridge" os_index="4" bridge_type="0-1" depth="0" bridge_pci="0004:[00-02]">
-          <object type="Bridge" os_index="4194352" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="0" bridge_pci="0004:[01-02]" pci_busid="0004:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
+          <object type="Bridge" os_index="4194352" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0004:[01-02]" pci_busid="0004:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
             <info name="PCIVendor" value="Intel Corporation"/>
             <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
             <object type="PCIDev" os_index="4198400" name="LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon]" pci_busid="0004:01:00.0" pci_type="0107 [1000:0072] [0000:0080] 03" pci_link_speed="0.000000">
@@ -1557,7 +1557,7 @@
       <object type="NUMANode" os_index="9" cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="9" cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200">
+        <object type="Package" os_index="9" cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -1648,7 +1648,7 @@
       <object type="NUMANode" os_index="10" cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="10" cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400">
+        <object type="Package" os_index="10" cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -1737,7 +1737,7 @@
       <object type="NUMANode" os_index="11" cpuset="0xff000000,,,,,,0xff000000,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="11" cpuset="0xff000000,,,,,,0xff000000,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800">
+        <object type="Package" os_index="11" cpuset="0xff000000,,,,,,0xff000000,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0xff000000,,,,,,0xff000000,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -1828,7 +1828,7 @@
       <object type="NUMANode" os_index="12" cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="12" cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000">
+        <object type="Package" os_index="12" cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -1917,7 +1917,7 @@
       <object type="NUMANode" os_index="13" cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="13" cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000">
+        <object type="Package" os_index="13" cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -2008,7 +2008,7 @@
       <object type="NUMANode" os_index="14" cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="14" cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000">
+        <object type="Package" os_index="14" cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -2097,7 +2097,7 @@
       <object type="NUMANode" os_index="15" cpuset="0xff000000,,,,,,0xff000000,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="15" cpuset="0xff000000,,,,,,0xff000000,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000">
+        <object type="Package" os_index="15" cpuset="0xff000000,,,,,,0xff000000,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0xff000000,,,,,,0xff000000,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -2188,7 +2188,7 @@
       <object type="NUMANode" os_index="16" cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="16" cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000">
+        <object type="Package" os_index="16" cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -2277,7 +2277,7 @@
       <object type="NUMANode" os_index="17" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="17" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000">
+        <object type="Package" os_index="17" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -2368,7 +2368,7 @@
       <object type="NUMANode" os_index="18" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="18" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000">
+        <object type="Package" os_index="18" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -2457,7 +2457,7 @@
       <object type="NUMANode" os_index="19" cpuset="0xff000000,,,,,,0xff000000,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="19" cpuset="0xff000000,,,,,,0xff000000,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000">
+        <object type="Package" os_index="19" cpuset="0xff000000,,,,,,0xff000000,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0xff000000,,,,,,0xff000000,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -2548,7 +2548,7 @@
       <object type="NUMANode" os_index="20" cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="20" cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000">
+        <object type="Package" os_index="20" cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -2637,7 +2637,7 @@
       <object type="NUMANode" os_index="21" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="21" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000">
+        <object type="Package" os_index="21" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -2728,7 +2728,7 @@
       <object type="NUMANode" os_index="22" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="22" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000">
+        <object type="Package" os_index="22" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -2817,7 +2817,7 @@
       <object type="NUMANode" os_index="23" cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="23" cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000">
+        <object type="Package" os_index="23" cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-24n8c2t-distancegroups.env b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-24n8c2t-distancegroups.env
new file mode 100644
index 0000000..93e649b
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-24n8c2t-distancegroups.env
@@ -0,0 +1,2 @@
+HWLOC_GROUPING_ACCURACY=0.0001
+export HWLOC_GROUPING_ACCURACY
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-24n8c2t-distancegroups.xml b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-24n8c2t-distancegroups.xml
index 6289624..7f2f9ab 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-24n8c2t-distancegroups.xml
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-24n8c2t-distancegroups.xml
@@ -599,7 +599,7 @@
       <object type="NUMANode" os_index="0" cpuset="0x000000ff,,,,,,0x000000ff" complete_cpuset="0x000000ff,,,,,,0x000000ff" online_cpuset="0x000000ff,,,,,,0x000000ff" allowed_cpuset="0x000000ff,,,,,,0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="33255329792">
         <page_type size="4096" count="8118977"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="0" cpuset="0x000000ff,,,,,,0x000000ff" complete_cpuset="0x000000ff,,,,,,0x000000ff" online_cpuset="0x000000ff,,,,,,0x000000ff" allowed_cpuset="0x000000ff,,,,,,0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+        <object type="Package" os_index="0" cpuset="0x000000ff,,,,,,0x000000ff" complete_cpuset="0x000000ff,,,,,,0x000000ff" online_cpuset="0x000000ff,,,,,,0x000000ff" allowed_cpuset="0x000000ff,,,,,,0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff" complete_cpuset="0x000000ff,,,,,,0x000000ff" online_cpuset="0x000000ff,,,,,,0x000000ff" allowed_cpuset="0x000000ff,,,,,,0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000001,,,,,,0x00000001" complete_cpuset="0x00000001,,,,,,0x00000001" online_cpuset="0x00000001,,,,,,0x00000001" allowed_cpuset="0x00000001,,,,,,0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -685,7 +685,7 @@
           </object>
         </object>
         <object type="Bridge" os_index="0" bridge_type="0-1" depth="0" bridge_pci="0000:[00-0c]">
-          <object type="Bridge" os_index="48" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="0" bridge_pci="0000:[01-02]" pci_busid="0000:00:03.0" pci_type="0604 [8086:3c08] [00ff:0000] 07" pci_link_speed="0.000000">
+          <object type="Bridge" os_index="48" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0000:[01-02]" pci_busid="0000:00:03.0" pci_type="0604 [8086:3c08] [00ff:0000] 07" pci_link_speed="0.000000">
             <info name="PCIVendor" value="Intel Corporation"/>
             <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
             <object type="PCIDev" os_index="4096" name="Intel Corporation I350 Gigabit Network Connection" pci_busid="0000:01:00.0" pci_type="0200 [8086:1521] [00ff:0000] 01" pci_link_speed="0.000000">
@@ -703,13 +703,13 @@
               </object>
             </object>
           </object>
-          <object type="Bridge" os_index="50" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3c" bridge_type="1-1" depth="0" bridge_pci="0000:[03-06]" pci_busid="0000:00:03.2" pci_type="0604 [8086:3c0a] [00ff:0000] 07" pci_link_speed="0.000000">
+          <object type="Bridge" os_index="50" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3c" bridge_type="1-1" depth="1" bridge_pci="0000:[03-06]" pci_busid="0000:00:03.2" pci_type="0604 [8086:3c0a] [00ff:0000] 07" pci_link_speed="0.000000">
             <info name="PCIVendor" value="Intel Corporation"/>
             <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3c"/>
-            <object type="Bridge" os_index="12288" name="Intel Corporation Patsburg PCI Express Upstream Port" bridge_type="1-1" depth="1" bridge_pci="0000:[04-06]" pci_busid="0000:03:00.0" pci_type="0604 [8086:1d74] [00ff:0000] 06" pci_link_speed="0.000000">
+            <object type="Bridge" os_index="12288" name="Intel Corporation Patsburg PCI Express Upstream Port" bridge_type="1-1" depth="2" bridge_pci="0000:[04-06]" pci_busid="0000:03:00.0" pci_type="0604 [8086:1d74] [00ff:0000] 06" pci_link_speed="0.000000">
               <info name="PCIVendor" value="Intel Corporation"/>
               <info name="PCIDevice" value="Patsburg PCI Express Upstream Port"/>
-              <object type="Bridge" os_index="16512" name="Intel Corporation Patsburg PCI Express Virtual Switch Port" bridge_type="1-1" depth="2" bridge_pci="0000:[05-06]" pci_busid="0000:04:08.0" pci_type="0604 [8086:1d3f] [00ff:0000] 06" pci_link_speed="0.000000">
+              <object type="Bridge" os_index="16512" name="Intel Corporation Patsburg PCI Express Virtual Switch Port" bridge_type="1-1" depth="3" bridge_pci="0000:[05-06]" pci_busid="0000:04:08.0" pci_type="0604 [8086:1d3f] [00ff:0000] 06" pci_link_speed="0.000000">
                 <info name="PCIVendor" value="Intel Corporation"/>
                 <info name="PCIDevice" value="Patsburg PCI Express Virtual Switch Port"/>
                 <object type="PCIDev" os_index="20480" name="Intel Corporation Patsburg Dual 4-Port SATA/SAS Storage Control Unit" pci_busid="0000:05:00.0" pci_type="0107 [8086:1d68] [00a9:0068] 06" pci_link_speed="0.000000">
@@ -719,16 +719,16 @@
               </object>
             </object>
           </object>
-          <object type="Bridge" os_index="448" name="Intel Corporation Patsburg PCI Express Root Port 8" bridge_type="1-1" depth="0" bridge_pci="0000:[07-0b]" pci_busid="0000:00:1c.0" pci_type="0604 [8086:1d1e] [0000:0000] b6" pci_link_speed="0.000000">
+          <object type="Bridge" os_index="448" name="Intel Corporation Patsburg PCI Express Root Port 8" bridge_type="1-1" depth="1" bridge_pci="0000:[07-0b]" pci_busid="0000:00:1c.0" pci_type="0604 [8086:1d1e] [0000:0000] b6" pci_link_speed="0.000000">
             <info name="PCIVendor" value="Intel Corporation"/>
             <info name="PCIDevice" value="Patsburg PCI Express Root Port 8"/>
-            <object type="Bridge" os_index="28672" name="Renesas Technology Corp. SH7757 PCIe Switch [PS]" bridge_type="1-1" depth="1" bridge_pci="0000:[08-0b]" pci_busid="0000:07:00.0" pci_type="0604 [1912:0013] [0000:0000] 00" pci_link_speed="0.000000">
+            <object type="Bridge" os_index="28672" name="Renesas Technology Corp. SH7757 PCIe Switch [PS]" bridge_type="1-1" depth="2" bridge_pci="0000:[08-0b]" pci_busid="0000:07:00.0" pci_type="0604 [1912:0013] [0000:0000] 00" pci_link_speed="0.000000">
               <info name="PCIVendor" value="Renesas Technology Corp."/>
               <info name="PCIDevice" value="SH7757 PCIe Switch [PS]"/>
-              <object type="Bridge" os_index="32768" name="Renesas Technology Corp. SH7757 PCIe Switch [PS]" bridge_type="1-1" depth="2" bridge_pci="0000:[09-0a]" pci_busid="0000:08:00.0" pci_type="0604 [1912:0013] [0000:0000] 00" pci_link_speed="0.000000">
+              <object type="Bridge" os_index="32768" name="Renesas Technology Corp. SH7757 PCIe Switch [PS]" bridge_type="1-1" depth="3" bridge_pci="0000:[09-0a]" pci_busid="0000:08:00.0" pci_type="0604 [1912:0013] [0000:0000] 00" pci_link_speed="0.000000">
                 <info name="PCIVendor" value="Renesas Technology Corp."/>
                 <info name="PCIDevice" value="SH7757 PCIe Switch [PS]"/>
-                <object type="Bridge" os_index="36864" name="Renesas Technology Corp. SH7757 PCIe-PCI Bridge [PPB]" bridge_type="1-1" depth="3" bridge_pci="0000:[0a-0a]" pci_busid="0000:09:00.0" pci_type="0604 [1912:0012] [0000:0000] 00" pci_link_speed="0.000000">
+                <object type="Bridge" os_index="36864" name="Renesas Technology Corp. SH7757 PCIe-PCI Bridge [PPB]" bridge_type="1-1" depth="4" bridge_pci="0000:[0a-0a]" pci_busid="0000:09:00.0" pci_type="0604 [1912:0012] [0000:0000] 00" pci_link_speed="0.000000">
                   <info name="PCIVendor" value="Renesas Technology Corp."/>
                   <info name="PCIDevice" value="SH7757 PCIe-PCI Bridge [PPB]"/>
                   <object type="PCIDev" os_index="40960" name="Matrox Graphics, Inc. G200eR2" pci_busid="0000:0a:00.0" pci_type="0300 [102b:0534] [0000:0000] 00" pci_link_speed="0.000000">
@@ -748,7 +748,7 @@
       <object type="NUMANode" os_index="1" cpuset="0x0000ff00,,,,,,0x0000ff00" complete_cpuset="0x0000ff00,,,,,,0x0000ff00" online_cpuset="0x0000ff00,,,,,,0x0000ff00" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="1" cpuset="0x0000ff00,,,,,,0x0000ff00" complete_cpuset="0x0000ff00,,,,,,0x0000ff00" online_cpuset="0x0000ff00,,,,,,0x0000ff00" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+        <object type="Package" os_index="1" cpuset="0x0000ff00,,,,,,0x0000ff00" complete_cpuset="0x0000ff00,,,,,,0x0000ff00" online_cpuset="0x0000ff00,,,,,,0x0000ff00" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00" complete_cpuset="0x0000ff00,,,,,,0x0000ff00" online_cpuset="0x0000ff00,,,,,,0x0000ff00" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000100,,,,,,0x00000100" complete_cpuset="0x00000100,,,,,,0x00000100" online_cpuset="0x00000100,,,,,,0x00000100" allowed_cpuset="0x00000100,,,,,,0x00000100" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -834,7 +834,7 @@
           </object>
         </object>
         <object type="Bridge" os_index="1" bridge_type="0-1" depth="0" bridge_pci="0001:[00-02]">
-          <object type="Bridge" os_index="1048624" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="0" bridge_pci="0001:[02-02]" pci_busid="0001:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
+          <object type="Bridge" os_index="1048624" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0001:[02-02]" pci_busid="0001:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
             <info name="PCIVendor" value="Intel Corporation"/>
             <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
             <object type="PCIDev" os_index="1056768" name="LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator]" pci_busid="0001:02:00.0" pci_type="0104 [1000:0079] [0000:0080] 05" pci_link_speed="0.000000">
@@ -851,7 +851,7 @@
       <object type="NUMANode" os_index="2" cpuset="0x00ff0000,,,,,,0x00ff0000" complete_cpuset="0x00ff0000,,,,,,0x00ff0000" online_cpuset="0x00ff0000,,,,,,0x00ff0000" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="2" cpuset="0x00ff0000,,,,,,0x00ff0000" complete_cpuset="0x00ff0000,,,,,,0x00ff0000" online_cpuset="0x00ff0000,,,,,,0x00ff0000" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+        <object type="Package" os_index="2" cpuset="0x00ff0000,,,,,,0x00ff0000" complete_cpuset="0x00ff0000,,,,,,0x00ff0000" online_cpuset="0x00ff0000,,,,,,0x00ff0000" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000" complete_cpuset="0x00ff0000,,,,,,0x00ff0000" online_cpuset="0x00ff0000,,,,,,0x00ff0000" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00010000,,,,,,0x00010000" complete_cpuset="0x00010000,,,,,,0x00010000" online_cpuset="0x00010000,,,,,,0x00010000" allowed_cpuset="0x00010000,,,,,,0x00010000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -940,7 +940,7 @@
       <object type="NUMANode" os_index="3" cpuset="0xff000000,,,,,,0xff000000" complete_cpuset="0xff000000,,,,,,0xff000000" online_cpuset="0xff000000,,,,,,0xff000000" allowed_cpuset="0xff000000,,,,,,0xff000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="3" cpuset="0xff000000,,,,,,0xff000000" complete_cpuset="0xff000000,,,,,,0xff000000" online_cpuset="0xff000000,,,,,,0xff000000" allowed_cpuset="0xff000000,,,,,,0xff000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+        <object type="Package" os_index="3" cpuset="0xff000000,,,,,,0xff000000" complete_cpuset="0xff000000,,,,,,0xff000000" online_cpuset="0xff000000,,,,,,0xff000000" allowed_cpuset="0xff000000,,,,,,0xff000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0xff000000,,,,,,0xff000000" complete_cpuset="0xff000000,,,,,,0xff000000" online_cpuset="0xff000000,,,,,,0xff000000" allowed_cpuset="0xff000000,,,,,,0xff000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x01000000,,,,,,0x01000000" complete_cpuset="0x01000000,,,,,,0x01000000" online_cpuset="0x01000000,,,,,,0x01000000" allowed_cpuset="0x01000000,,,,,,0x01000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -1031,7 +1031,7 @@
       <object type="NUMANode" os_index="4" cpuset="0x000000ff,,,,,,0x000000ff,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="4" cpuset="0x000000ff,,,,,,0x000000ff,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
+        <object type="Package" os_index="4" cpuset="0x000000ff,,,,,,0x000000ff,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,0x0" online_cpuset="0x00000001,,,,,,0x00000001,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -1117,13 +1117,13 @@
           </object>
         </object>
         <object type="Bridge" os_index="2" bridge_type="0-1" depth="0" bridge_pci="0002:[00-04]">
-          <object type="Bridge" os_index="2097200" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="0" bridge_pci="0002:[01-04]" pci_busid="0002:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
+          <object type="Bridge" os_index="2097200" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0002:[01-04]" pci_busid="0002:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
             <info name="PCIVendor" value="Intel Corporation"/>
             <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
-            <object type="Bridge" os_index="2101248" name="PLX Technology, Inc. PEX 8518 16-lane, 5-port PCI Express Switch" bridge_type="1-1" depth="1" bridge_pci="0002:[02-04]" pci_busid="0002:01:00.0" pci_type="0604 [10b5:8518] [0000:0000] ac" pci_link_speed="0.000000">
+            <object type="Bridge" os_index="2101248" name="PLX Technology, Inc. PEX 8518 16-lane, 5-port PCI Express Switch" bridge_type="1-1" depth="2" bridge_pci="0002:[02-04]" pci_busid="0002:01:00.0" pci_type="0604 [10b5:8518] [0000:0000] ac" pci_link_speed="0.000000">
               <info name="PCIVendor" value="PLX Technology, Inc."/>
               <info name="PCIDevice" value="PEX 8518 16-lane, 5-port PCI Express Switch"/>
-              <object type="Bridge" os_index="2105360" name="PLX Technology, Inc. PEX 8518 16-lane, 5-port PCI Express Switch" bridge_type="1-1" depth="2" bridge_pci="0002:[03-03]" pci_busid="0002:02:01.0" pci_type="0604 [10b5:8518] [0000:0000] ac" pci_link_speed="0.000000">
+              <object type="Bridge" os_index="2105360" name="PLX Technology, Inc. PEX 8518 16-lane, 5-port PCI Express Switch" bridge_type="1-1" depth="3" bridge_pci="0002:[03-03]" pci_busid="0002:02:01.0" pci_type="0604 [10b5:8518] [0000:0000] ac" pci_link_speed="0.000000">
                 <info name="PCIVendor" value="PLX Technology, Inc."/>
                 <info name="PCIDevice" value="PEX 8518 16-lane, 5-port PCI Express Switch"/>
                 <object type="PCIDev" os_index="2109440" name="Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet" pci_busid="0002:03:00.0" pci_type="0200 [14e4:1639] [00a9:0027] 20" pci_link_speed="0.000000">
@@ -1141,7 +1141,7 @@
                   </object>
                 </object>
               </object>
-              <object type="Bridge" os_index="2105376" name="PLX Technology, Inc. PEX 8518 16-lane, 5-port PCI Express Switch" bridge_type="1-1" depth="2" bridge_pci="0002:[04-04]" pci_busid="0002:02:02.0" pci_type="0604 [10b5:8518] [0000:0000] ac" pci_link_speed="0.000000">
+              <object type="Bridge" os_index="2105376" name="PLX Technology, Inc. PEX 8518 16-lane, 5-port PCI Express Switch" bridge_type="1-1" depth="3" bridge_pci="0002:[04-04]" pci_busid="0002:02:02.0" pci_type="0604 [10b5:8518] [0000:0000] ac" pci_link_speed="0.000000">
                 <info name="PCIVendor" value="PLX Technology, Inc."/>
                 <info name="PCIDevice" value="PEX 8518 16-lane, 5-port PCI Express Switch"/>
                 <object type="PCIDev" os_index="2113536" name="Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet" pci_busid="0002:04:00.0" pci_type="0200 [14e4:1639] [00a9:0027] 20" pci_link_speed="0.000000">
@@ -1166,7 +1166,7 @@
       <object type="NUMANode" os_index="5" cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="5" cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
+        <object type="Package" os_index="5" cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,0x0" online_cpuset="0x00000100,,,,,,0x00000100,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -1257,7 +1257,7 @@
       <object type="NUMANode" os_index="6" cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="6" cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
+        <object type="Package" os_index="6" cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,0x0" online_cpuset="0x00010000,,,,,,0x00010000,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -1343,7 +1343,7 @@
           </object>
         </object>
         <object type="Bridge" os_index="3" bridge_type="0-1" depth="0" bridge_pci="0003:[00-01]">
-          <object type="Bridge" os_index="3145776" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="0" bridge_pci="0003:[01-01]" pci_busid="0003:00:03.0" pci_type="0604 [8086:3c08] [00ff:0000] 07" pci_link_speed="0.000000">
+          <object type="Bridge" os_index="3145776" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0003:[01-01]" pci_busid="0003:00:03.0" pci_type="0604 [8086:3c08] [00ff:0000] 07" pci_link_speed="0.000000">
             <info name="PCIVendor" value="Intel Corporation"/>
             <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
             <object type="PCIDev" os_index="3149824" name="Mellanox Technologies MT27500 Family [ConnectX-3]" pci_busid="0003:01:00.0" pci_type="0280 [15b3:1003] [00b3:0051] 00" pci_link_speed="0.000000">
@@ -1367,7 +1367,7 @@
       <object type="NUMANode" os_index="7" cpuset="0xff000000,,,,,,0xff000000,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,0x0" online_cpuset="0xff000000,,,,,,0xff000000,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="7" cpuset="0xff000000,,,,,,0xff000000,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,0x0" online_cpuset="0xff000000,,,,,,0xff000000,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
+        <object type="Package" os_index="7" cpuset="0xff000000,,,,,,0xff000000,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,0x0" online_cpuset="0xff000000,,,,,,0xff000000,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0xff000000,,,,,,0xff000000,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,0x0" online_cpuset="0xff000000,,,,,,0xff000000,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,0x0" online_cpuset="0x01000000,,,,,,0x01000000,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -1458,7 +1458,7 @@
       <object type="NUMANode" os_index="8" cpuset="0x000000ff,,,,,,0x000000ff,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="8" cpuset="0x000000ff,,,,,,0x000000ff,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100">
+        <object type="Package" os_index="8" cpuset="0x000000ff,,,,,,0x000000ff,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -1544,7 +1544,7 @@
           </object>
         </object>
         <object type="Bridge" os_index="4" bridge_type="0-1" depth="0" bridge_pci="0004:[00-02]">
-          <object type="Bridge" os_index="4194352" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="0" bridge_pci="0004:[01-02]" pci_busid="0004:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
+          <object type="Bridge" os_index="4194352" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0004:[01-02]" pci_busid="0004:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
             <info name="PCIVendor" value="Intel Corporation"/>
             <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
             <object type="PCIDev" os_index="4198400" name="LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon]" pci_busid="0004:01:00.0" pci_type="0107 [1000:0072] [0000:0080] 03" pci_link_speed="0.000000">
@@ -1557,7 +1557,7 @@
       <object type="NUMANode" os_index="9" cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="9" cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200">
+        <object type="Package" os_index="9" cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -1648,7 +1648,7 @@
       <object type="NUMANode" os_index="10" cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="10" cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400">
+        <object type="Package" os_index="10" cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -1737,7 +1737,7 @@
       <object type="NUMANode" os_index="11" cpuset="0xff000000,,,,,,0xff000000,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="11" cpuset="0xff000000,,,,,,0xff000000,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800">
+        <object type="Package" os_index="11" cpuset="0xff000000,,,,,,0xff000000,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0xff000000,,,,,,0xff000000,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -1828,7 +1828,7 @@
       <object type="NUMANode" os_index="12" cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="12" cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000">
+        <object type="Package" os_index="12" cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -1917,7 +1917,7 @@
       <object type="NUMANode" os_index="13" cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="13" cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000">
+        <object type="Package" os_index="13" cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -2008,7 +2008,7 @@
       <object type="NUMANode" os_index="14" cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="14" cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000">
+        <object type="Package" os_index="14" cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -2097,7 +2097,7 @@
       <object type="NUMANode" os_index="15" cpuset="0xff000000,,,,,,0xff000000,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="15" cpuset="0xff000000,,,,,,0xff000000,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000">
+        <object type="Package" os_index="15" cpuset="0xff000000,,,,,,0xff000000,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0xff000000,,,,,,0xff000000,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -2188,7 +2188,7 @@
       <object type="NUMANode" os_index="16" cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="16" cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000">
+        <object type="Package" os_index="16" cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -2277,7 +2277,7 @@
       <object type="NUMANode" os_index="17" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="17" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000">
+        <object type="Package" os_index="17" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -2368,7 +2368,7 @@
       <object type="NUMANode" os_index="18" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="18" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000">
+        <object type="Package" os_index="18" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -2457,7 +2457,7 @@
       <object type="NUMANode" os_index="19" cpuset="0xff000000,,,,,,0xff000000,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="19" cpuset="0xff000000,,,,,,0xff000000,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000">
+        <object type="Package" os_index="19" cpuset="0xff000000,,,,,,0xff000000,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0xff000000,,,,,,0xff000000,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -2548,7 +2548,7 @@
       <object type="NUMANode" os_index="20" cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="20" cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000">
+        <object type="Package" os_index="20" cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -2637,7 +2637,7 @@
       <object type="NUMANode" os_index="21" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="21" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000">
+        <object type="Package" os_index="21" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -2728,7 +2728,7 @@
       <object type="NUMANode" os_index="22" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="22" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000">
+        <object type="Package" os_index="22" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -2817,7 +2817,7 @@
       <object type="NUMANode" os_index="23" cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" local_memory="33269219328">
         <page_type size="4096" count="8122368"/>
         <page_type size="2097152" count="0"/>
-        <object type="Socket" os_index="23" cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000">
+        <object type="Package" os_index="23" cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000">
           <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
           <object type="Cache" cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
             <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-24n8c2t-nodistancegroups.env b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-24n8c2t-nodistancegroups.env
index aa8fa89..298cf8f 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-24n8c2t-nodistancegroups.env
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-24n8c2t-nodistancegroups.env
@@ -1 +1,2 @@
-export HWLOC_GROUPING=0
+HWLOC_GROUPING=0
+export HWLOC_GROUPING
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-24n8c2t-nodistancegroups.xml b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-24n8c2t-nodistancegroups.xml
index 224bd90..7f2f9ab 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-24n8c2t-nodistancegroups.xml
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-24n8c2t-nodistancegroups.xml
@@ -17,7 +17,7 @@
     <info name="OSVersion" value="#1 SMP Tue Feb 19 11:07:00 UTC 2013 (1576ecd)"/>
     <info name="HostName" value="uv2000"/>
     <info name="Architecture" value="x86_64"/>
-    <distances nbobjs="24" relative_depth="1" latency_base="10.000000">
+    <distances nbobjs="24" relative_depth="2" latency_base="10.000000">
       <latency value="1.000000"/>
       <latency value="5.000000"/>
       <latency value="6.500000"/>
@@ -595,427 +595,431 @@
       <latency value="5.000000"/>
       <latency value="1.000000"/>
     </distances>
-    <object type="NUMANode" os_index="0" cpuset="0x000000ff,,,,,,0x000000ff" complete_cpuset="0x000000ff,,,,,,0x000000ff" online_cpuset="0x000000ff,,,,,,0x000000ff" allowed_cpuset="0x000000ff,,,,,,0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="33255329792">
-      <page_type size="4096" count="8118977"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="0" cpuset="0x000000ff,,,,,,0x000000ff" complete_cpuset="0x000000ff,,,,,,0x000000ff" online_cpuset="0x000000ff,,,,,,0x000000ff" allowed_cpuset="0x000000ff,,,,,,0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff" complete_cpuset="0x000000ff,,,,,,0x000000ff" online_cpuset="0x000000ff,,,,,,0x000000ff" allowed_cpuset="0x000000ff,,,,,,0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x00000001,,,,,,0x00000001" complete_cpuset="0x00000001,,,,,,0x00000001" online_cpuset="0x00000001,,,,,,0x00000001" allowed_cpuset="0x00000001,,,,,,0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000001,,,,,,0x00000001" complete_cpuset="0x00000001,,,,,,0x00000001" online_cpuset="0x00000001,,,,,,0x00000001" allowed_cpuset="0x00000001,,,,,,0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000001,,,,,,0x00000001" complete_cpuset="0x00000001,,,,,,0x00000001" online_cpuset="0x00000001,,,,,,0x00000001" allowed_cpuset="0x00000001,,,,,,0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x00000001,,,,,,0x00000001" complete_cpuset="0x00000001,,,,,,0x00000001" online_cpuset="0x00000001,,,,,,0x00000001" allowed_cpuset="0x00000001,,,,,,0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
-                  <object type="PU" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
-                  <object type="PU" os_index="192" cpuset="0x00000001,,,,,,0x0" complete_cpuset="0x00000001,,,,,,0x0" online_cpuset="0x00000001,,,,,,0x0" allowed_cpuset="0x00000001,,,,,,0x0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+    <object type="Group" cpuset="0x0000ffff,,,,,,0x0000ffff" complete_cpuset="0x0000ffff,,,,,,0x0000ffff" online_cpuset="0x0000ffff,,,,,,0x0000ffff" allowed_cpuset="0x0000ffff,,,,,,0x0000ffff" nodeset="0x00000003" complete_nodeset="0x00000003" allowed_nodeset="0x00000003" depth="0">
+      <object type="NUMANode" os_index="0" cpuset="0x000000ff,,,,,,0x000000ff" complete_cpuset="0x000000ff,,,,,,0x000000ff" online_cpuset="0x000000ff,,,,,,0x000000ff" allowed_cpuset="0x000000ff,,,,,,0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="33255329792">
+        <page_type size="4096" count="8118977"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="0" cpuset="0x000000ff,,,,,,0x000000ff" complete_cpuset="0x000000ff,,,,,,0x000000ff" online_cpuset="0x000000ff,,,,,,0x000000ff" allowed_cpuset="0x000000ff,,,,,,0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff" complete_cpuset="0x000000ff,,,,,,0x000000ff" online_cpuset="0x000000ff,,,,,,0x000000ff" allowed_cpuset="0x000000ff,,,,,,0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00000001,,,,,,0x00000001" complete_cpuset="0x00000001,,,,,,0x00000001" online_cpuset="0x00000001,,,,,,0x00000001" allowed_cpuset="0x00000001,,,,,,0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000001,,,,,,0x00000001" complete_cpuset="0x00000001,,,,,,0x00000001" online_cpuset="0x00000001,,,,,,0x00000001" allowed_cpuset="0x00000001,,,,,,0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000001,,,,,,0x00000001" complete_cpuset="0x00000001,,,,,,0x00000001" online_cpuset="0x00000001,,,,,,0x00000001" allowed_cpuset="0x00000001,,,,,,0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00000001,,,,,,0x00000001" complete_cpuset="0x00000001,,,,,,0x00000001" online_cpuset="0x00000001,,,,,,0x00000001" allowed_cpuset="0x00000001,,,,,,0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+                    <object type="PU" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                    <object type="PU" os_index="192" cpuset="0x00000001,,,,,,0x0" complete_cpuset="0x00000001,,,,,,0x0" online_cpuset="0x00000001,,,,,,0x0" allowed_cpuset="0x00000001,,,,,,0x0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000002,,,,,,0x00000002" complete_cpuset="0x00000002,,,,,,0x00000002" online_cpuset="0x00000002,,,,,,0x00000002" allowed_cpuset="0x00000002,,,,,,0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000002,,,,,,0x00000002" complete_cpuset="0x00000002,,,,,,0x00000002" online_cpuset="0x00000002,,,,,,0x00000002" allowed_cpuset="0x00000002,,,,,,0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000002,,,,,,0x00000002" complete_cpuset="0x00000002,,,,,,0x00000002" online_cpuset="0x00000002,,,,,,0x00000002" allowed_cpuset="0x00000002,,,,,,0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x00000002,,,,,,0x00000002" complete_cpuset="0x00000002,,,,,,0x00000002" online_cpuset="0x00000002,,,,,,0x00000002" allowed_cpuset="0x00000002,,,,,,0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
-                  <object type="PU" os_index="1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
-                  <object type="PU" os_index="193" cpuset="0x00000002,,,,,,0x0" complete_cpuset="0x00000002,,,,,,0x0" online_cpuset="0x00000002,,,,,,0x0" allowed_cpuset="0x00000002,,,,,,0x0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+            <object type="Cache" cpuset="0x00000002,,,,,,0x00000002" complete_cpuset="0x00000002,,,,,,0x00000002" online_cpuset="0x00000002,,,,,,0x00000002" allowed_cpuset="0x00000002,,,,,,0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000002,,,,,,0x00000002" complete_cpuset="0x00000002,,,,,,0x00000002" online_cpuset="0x00000002,,,,,,0x00000002" allowed_cpuset="0x00000002,,,,,,0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000002,,,,,,0x00000002" complete_cpuset="0x00000002,,,,,,0x00000002" online_cpuset="0x00000002,,,,,,0x00000002" allowed_cpuset="0x00000002,,,,,,0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00000002,,,,,,0x00000002" complete_cpuset="0x00000002,,,,,,0x00000002" online_cpuset="0x00000002,,,,,,0x00000002" allowed_cpuset="0x00000002,,,,,,0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+                    <object type="PU" os_index="1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                    <object type="PU" os_index="193" cpuset="0x00000002,,,,,,0x0" complete_cpuset="0x00000002,,,,,,0x0" online_cpuset="0x00000002,,,,,,0x0" allowed_cpuset="0x00000002,,,,,,0x0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000004,,,,,,0x00000004" complete_cpuset="0x00000004,,,,,,0x00000004" online_cpuset="0x00000004,,,,,,0x00000004" allowed_cpuset="0x00000004,,,,,,0x00000004" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000004,,,,,,0x00000004" complete_cpuset="0x00000004,,,,,,0x00000004" online_cpuset="0x00000004,,,,,,0x00000004" allowed_cpuset="0x00000004,,,,,,0x00000004" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000004,,,,,,0x00000004" complete_cpuset="0x00000004,,,,,,0x00000004" online_cpuset="0x00000004,,,,,,0x00000004" allowed_cpuset="0x00000004,,,,,,0x00000004" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x00000004,,,,,,0x00000004" complete_cpuset="0x00000004,,,,,,0x00000004" online_cpuset="0x00000004,,,,,,0x00000004" allowed_cpuset="0x00000004,,,,,,0x00000004" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
-                  <object type="PU" os_index="2" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
-                  <object type="PU" os_index="194" cpuset="0x00000004,,,,,,0x0" complete_cpuset="0x00000004,,,,,,0x0" online_cpuset="0x00000004,,,,,,0x0" allowed_cpuset="0x00000004,,,,,,0x0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+            <object type="Cache" cpuset="0x00000004,,,,,,0x00000004" complete_cpuset="0x00000004,,,,,,0x00000004" online_cpuset="0x00000004,,,,,,0x00000004" allowed_cpuset="0x00000004,,,,,,0x00000004" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000004,,,,,,0x00000004" complete_cpuset="0x00000004,,,,,,0x00000004" online_cpuset="0x00000004,,,,,,0x00000004" allowed_cpuset="0x00000004,,,,,,0x00000004" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000004,,,,,,0x00000004" complete_cpuset="0x00000004,,,,,,0x00000004" online_cpuset="0x00000004,,,,,,0x00000004" allowed_cpuset="0x00000004,,,,,,0x00000004" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00000004,,,,,,0x00000004" complete_cpuset="0x00000004,,,,,,0x00000004" online_cpuset="0x00000004,,,,,,0x00000004" allowed_cpuset="0x00000004,,,,,,0x00000004" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+                    <object type="PU" os_index="2" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                    <object type="PU" os_index="194" cpuset="0x00000004,,,,,,0x0" complete_cpuset="0x00000004,,,,,,0x0" online_cpuset="0x00000004,,,,,,0x0" allowed_cpuset="0x00000004,,,,,,0x0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000008,,,,,,0x00000008" complete_cpuset="0x00000008,,,,,,0x00000008" online_cpuset="0x00000008,,,,,,0x00000008" allowed_cpuset="0x00000008,,,,,,0x00000008" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000008,,,,,,0x00000008" complete_cpuset="0x00000008,,,,,,0x00000008" online_cpuset="0x00000008,,,,,,0x00000008" allowed_cpuset="0x00000008,,,,,,0x00000008" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000008,,,,,,0x00000008" complete_cpuset="0x00000008,,,,,,0x00000008" online_cpuset="0x00000008,,,,,,0x00000008" allowed_cpuset="0x00000008,,,,,,0x00000008" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x00000008,,,,,,0x00000008" complete_cpuset="0x00000008,,,,,,0x00000008" online_cpuset="0x00000008,,,,,,0x00000008" allowed_cpuset="0x00000008,,,,,,0x00000008" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
-                  <object type="PU" os_index="3" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
-                  <object type="PU" os_index="195" cpuset="0x00000008,,,,,,0x0" complete_cpuset="0x00000008,,,,,,0x0" online_cpuset="0x00000008,,,,,,0x0" allowed_cpuset="0x00000008,,,,,,0x0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+            <object type="Cache" cpuset="0x00000008,,,,,,0x00000008" complete_cpuset="0x00000008,,,,,,0x00000008" online_cpuset="0x00000008,,,,,,0x00000008" allowed_cpuset="0x00000008,,,,,,0x00000008" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000008,,,,,,0x00000008" complete_cpuset="0x00000008,,,,,,0x00000008" online_cpuset="0x00000008,,,,,,0x00000008" allowed_cpuset="0x00000008,,,,,,0x00000008" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000008,,,,,,0x00000008" complete_cpuset="0x00000008,,,,,,0x00000008" online_cpuset="0x00000008,,,,,,0x00000008" allowed_cpuset="0x00000008,,,,,,0x00000008" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00000008,,,,,,0x00000008" complete_cpuset="0x00000008,,,,,,0x00000008" online_cpuset="0x00000008,,,,,,0x00000008" allowed_cpuset="0x00000008,,,,,,0x00000008" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+                    <object type="PU" os_index="3" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                    <object type="PU" os_index="195" cpuset="0x00000008,,,,,,0x0" complete_cpuset="0x00000008,,,,,,0x0" online_cpuset="0x00000008,,,,,,0x0" allowed_cpuset="0x00000008,,,,,,0x0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000010,,,,,,0x00000010" complete_cpuset="0x00000010,,,,,,0x00000010" online_cpuset="0x00000010,,,,,,0x00000010" allowed_cpuset="0x00000010,,,,,,0x00000010" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000010,,,,,,0x00000010" complete_cpuset="0x00000010,,,,,,0x00000010" online_cpuset="0x00000010,,,,,,0x00000010" allowed_cpuset="0x00000010,,,,,,0x00000010" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000010,,,,,,0x00000010" complete_cpuset="0x00000010,,,,,,0x00000010" online_cpuset="0x00000010,,,,,,0x00000010" allowed_cpuset="0x00000010,,,,,,0x00000010" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x00000010,,,,,,0x00000010" complete_cpuset="0x00000010,,,,,,0x00000010" online_cpuset="0x00000010,,,,,,0x00000010" allowed_cpuset="0x00000010,,,,,,0x00000010" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
-                  <object type="PU" os_index="4" cpuset="0x00000010" complete_cpuset="0x00000010" online_cpuset="0x00000010" allowed_cpuset="0x00000010" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
-                  <object type="PU" os_index="196" cpuset="0x00000010,,,,,,0x0" complete_cpuset="0x00000010,,,,,,0x0" online_cpuset="0x00000010,,,,,,0x0" allowed_cpuset="0x00000010,,,,,,0x0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+            <object type="Cache" cpuset="0x00000010,,,,,,0x00000010" complete_cpuset="0x00000010,,,,,,0x00000010" online_cpuset="0x00000010,,,,,,0x00000010" allowed_cpuset="0x00000010,,,,,,0x00000010" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000010,,,,,,0x00000010" complete_cpuset="0x00000010,,,,,,0x00000010" online_cpuset="0x00000010,,,,,,0x00000010" allowed_cpuset="0x00000010,,,,,,0x00000010" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000010,,,,,,0x00000010" complete_cpuset="0x00000010,,,,,,0x00000010" online_cpuset="0x00000010,,,,,,0x00000010" allowed_cpuset="0x00000010,,,,,,0x00000010" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00000010,,,,,,0x00000010" complete_cpuset="0x00000010,,,,,,0x00000010" online_cpuset="0x00000010,,,,,,0x00000010" allowed_cpuset="0x00000010,,,,,,0x00000010" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+                    <object type="PU" os_index="4" cpuset="0x00000010" complete_cpuset="0x00000010" online_cpuset="0x00000010" allowed_cpuset="0x00000010" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                    <object type="PU" os_index="196" cpuset="0x00000010,,,,,,0x0" complete_cpuset="0x00000010,,,,,,0x0" online_cpuset="0x00000010,,,,,,0x0" allowed_cpuset="0x00000010,,,,,,0x0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000020,,,,,,0x00000020" complete_cpuset="0x00000020,,,,,,0x00000020" online_cpuset="0x00000020,,,,,,0x00000020" allowed_cpuset="0x00000020,,,,,,0x00000020" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000020,,,,,,0x00000020" complete_cpuset="0x00000020,,,,,,0x00000020" online_cpuset="0x00000020,,,,,,0x00000020" allowed_cpuset="0x00000020,,,,,,0x00000020" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000020,,,,,,0x00000020" complete_cpuset="0x00000020,,,,,,0x00000020" online_cpuset="0x00000020,,,,,,0x00000020" allowed_cpuset="0x00000020,,,,,,0x00000020" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x00000020,,,,,,0x00000020" complete_cpuset="0x00000020,,,,,,0x00000020" online_cpuset="0x00000020,,,,,,0x00000020" allowed_cpuset="0x00000020,,,,,,0x00000020" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
-                  <object type="PU" os_index="5" cpuset="0x00000020" complete_cpuset="0x00000020" online_cpuset="0x00000020" allowed_cpuset="0x00000020" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
-                  <object type="PU" os_index="197" cpuset="0x00000020,,,,,,0x0" complete_cpuset="0x00000020,,,,,,0x0" online_cpuset="0x00000020,,,,,,0x0" allowed_cpuset="0x00000020,,,,,,0x0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+            <object type="Cache" cpuset="0x00000020,,,,,,0x00000020" complete_cpuset="0x00000020,,,,,,0x00000020" online_cpuset="0x00000020,,,,,,0x00000020" allowed_cpuset="0x00000020,,,,,,0x00000020" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000020,,,,,,0x00000020" complete_cpuset="0x00000020,,,,,,0x00000020" online_cpuset="0x00000020,,,,,,0x00000020" allowed_cpuset="0x00000020,,,,,,0x00000020" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000020,,,,,,0x00000020" complete_cpuset="0x00000020,,,,,,0x00000020" online_cpuset="0x00000020,,,,,,0x00000020" allowed_cpuset="0x00000020,,,,,,0x00000020" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00000020,,,,,,0x00000020" complete_cpuset="0x00000020,,,,,,0x00000020" online_cpuset="0x00000020,,,,,,0x00000020" allowed_cpuset="0x00000020,,,,,,0x00000020" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+                    <object type="PU" os_index="5" cpuset="0x00000020" complete_cpuset="0x00000020" online_cpuset="0x00000020" allowed_cpuset="0x00000020" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                    <object type="PU" os_index="197" cpuset="0x00000020,,,,,,0x0" complete_cpuset="0x00000020,,,,,,0x0" online_cpuset="0x00000020,,,,,,0x0" allowed_cpuset="0x00000020,,,,,,0x0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000040,,,,,,0x00000040" complete_cpuset="0x00000040,,,,,,0x00000040" online_cpuset="0x00000040,,,,,,0x00000040" allowed_cpuset="0x00000040,,,,,,0x00000040" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000040,,,,,,0x00000040" complete_cpuset="0x00000040,,,,,,0x00000040" online_cpuset="0x00000040,,,,,,0x00000040" allowed_cpuset="0x00000040,,,,,,0x00000040" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000040,,,,,,0x00000040" complete_cpuset="0x00000040,,,,,,0x00000040" online_cpuset="0x00000040,,,,,,0x00000040" allowed_cpuset="0x00000040,,,,,,0x00000040" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x00000040,,,,,,0x00000040" complete_cpuset="0x00000040,,,,,,0x00000040" online_cpuset="0x00000040,,,,,,0x00000040" allowed_cpuset="0x00000040,,,,,,0x00000040" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
-                  <object type="PU" os_index="6" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
-                  <object type="PU" os_index="198" cpuset="0x00000040,,,,,,0x0" complete_cpuset="0x00000040,,,,,,0x0" online_cpuset="0x00000040,,,,,,0x0" allowed_cpuset="0x00000040,,,,,,0x0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+            <object type="Cache" cpuset="0x00000040,,,,,,0x00000040" complete_cpuset="0x00000040,,,,,,0x00000040" online_cpuset="0x00000040,,,,,,0x00000040" allowed_cpuset="0x00000040,,,,,,0x00000040" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000040,,,,,,0x00000040" complete_cpuset="0x00000040,,,,,,0x00000040" online_cpuset="0x00000040,,,,,,0x00000040" allowed_cpuset="0x00000040,,,,,,0x00000040" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000040,,,,,,0x00000040" complete_cpuset="0x00000040,,,,,,0x00000040" online_cpuset="0x00000040,,,,,,0x00000040" allowed_cpuset="0x00000040,,,,,,0x00000040" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00000040,,,,,,0x00000040" complete_cpuset="0x00000040,,,,,,0x00000040" online_cpuset="0x00000040,,,,,,0x00000040" allowed_cpuset="0x00000040,,,,,,0x00000040" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+                    <object type="PU" os_index="6" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                    <object type="PU" os_index="198" cpuset="0x00000040,,,,,,0x0" complete_cpuset="0x00000040,,,,,,0x0" online_cpuset="0x00000040,,,,,,0x0" allowed_cpuset="0x00000040,,,,,,0x0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000080,,,,,,0x00000080" complete_cpuset="0x00000080,,,,,,0x00000080" online_cpuset="0x00000080,,,,,,0x00000080" allowed_cpuset="0x00000080,,,,,,0x00000080" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000080,,,,,,0x00000080" complete_cpuset="0x00000080,,,,,,0x00000080" online_cpuset="0x00000080,,,,,,0x00000080" allowed_cpuset="0x00000080,,,,,,0x00000080" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000080,,,,,,0x00000080" complete_cpuset="0x00000080,,,,,,0x00000080" online_cpuset="0x00000080,,,,,,0x00000080" allowed_cpuset="0x00000080,,,,,,0x00000080" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x00000080,,,,,,0x00000080" complete_cpuset="0x00000080,,,,,,0x00000080" online_cpuset="0x00000080,,,,,,0x00000080" allowed_cpuset="0x00000080,,,,,,0x00000080" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
-                  <object type="PU" os_index="7" cpuset="0x00000080" complete_cpuset="0x00000080" online_cpuset="0x00000080" allowed_cpuset="0x00000080" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
-                  <object type="PU" os_index="199" cpuset="0x00000080,,,,,,0x0" complete_cpuset="0x00000080,,,,,,0x0" online_cpuset="0x00000080,,,,,,0x0" allowed_cpuset="0x00000080,,,,,,0x0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+            <object type="Cache" cpuset="0x00000080,,,,,,0x00000080" complete_cpuset="0x00000080,,,,,,0x00000080" online_cpuset="0x00000080,,,,,,0x00000080" allowed_cpuset="0x00000080,,,,,,0x00000080" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000080,,,,,,0x00000080" complete_cpuset="0x00000080,,,,,,0x00000080" online_cpuset="0x00000080,,,,,,0x00000080" allowed_cpuset="0x00000080,,,,,,0x00000080" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000080,,,,,,0x00000080" complete_cpuset="0x00000080,,,,,,0x00000080" online_cpuset="0x00000080,,,,,,0x00000080" allowed_cpuset="0x00000080,,,,,,0x00000080" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00000080,,,,,,0x00000080" complete_cpuset="0x00000080,,,,,,0x00000080" online_cpuset="0x00000080,,,,,,0x00000080" allowed_cpuset="0x00000080,,,,,,0x00000080" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+                    <object type="PU" os_index="7" cpuset="0x00000080" complete_cpuset="0x00000080" online_cpuset="0x00000080" allowed_cpuset="0x00000080" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                    <object type="PU" os_index="199" cpuset="0x00000080,,,,,,0x0" complete_cpuset="0x00000080,,,,,,0x0" online_cpuset="0x00000080,,,,,,0x0" allowed_cpuset="0x00000080,,,,,,0x0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                  </object>
                 </object>
               </object>
             </object>
           </object>
         </object>
-      </object>
-      <object type="Bridge" os_index="0" bridge_type="0-1" depth="0" bridge_pci="0000:[00-0c]">
-        <object type="Bridge" os_index="48" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="0" bridge_pci="0000:[01-02]" pci_busid="0000:00:03.0" pci_type="0604 [8086:3c08] [00ff:0000] 07" pci_link_speed="0.000000">
-          <info name="PCIVendor" value="Intel Corporation"/>
-          <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
-          <object type="PCIDev" os_index="4096" name="Intel Corporation I350 Gigabit Network Connection" pci_busid="0000:01:00.0" pci_type="0200 [8086:1521] [00ff:0000] 01" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="0" bridge_type="0-1" depth="0" bridge_pci="0000:[00-0c]">
+          <object type="Bridge" os_index="48" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0000:[01-02]" pci_busid="0000:00:03.0" pci_type="0604 [8086:3c08] [00ff:0000] 07" pci_link_speed="0.000000">
             <info name="PCIVendor" value="Intel Corporation"/>
-            <info name="PCIDevice" value="I350 Gigabit Network Connection"/>
-            <object type="OSDev" name="eth0" osdev_type="2">
-              <info name="Address" value="08:00:69:16:8c:6e"/>
+            <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
+            <object type="PCIDev" os_index="4096" name="Intel Corporation I350 Gigabit Network Connection" pci_busid="0000:01:00.0" pci_type="0200 [8086:1521] [00ff:0000] 01" pci_link_speed="0.000000">
+              <info name="PCIVendor" value="Intel Corporation"/>
+              <info name="PCIDevice" value="I350 Gigabit Network Connection"/>
+              <object type="OSDev" name="eth0" osdev_type="2">
+                <info name="Address" value="08:00:69:16:8c:6e"/>
+              </object>
             </object>
-          </object>
-          <object type="PCIDev" os_index="4097" name="Intel Corporation I350 Gigabit Network Connection" pci_busid="0000:01:00.1" pci_type="0200 [8086:1521] [00ff:0000] 01" pci_link_speed="0.000000">
-            <info name="PCIVendor" value="Intel Corporation"/>
-            <info name="PCIDevice" value="I350 Gigabit Network Connection"/>
-            <object type="OSDev" name="eth1" osdev_type="2">
-              <info name="Address" value="08:00:69:16:8c:6f"/>
+            <object type="PCIDev" os_index="4097" name="Intel Corporation I350 Gigabit Network Connection" pci_busid="0000:01:00.1" pci_type="0200 [8086:1521] [00ff:0000] 01" pci_link_speed="0.000000">
+              <info name="PCIVendor" value="Intel Corporation"/>
+              <info name="PCIDevice" value="I350 Gigabit Network Connection"/>
+              <object type="OSDev" name="eth1" osdev_type="2">
+                <info name="Address" value="08:00:69:16:8c:6f"/>
+              </object>
             </object>
           </object>
-        </object>
-        <object type="Bridge" os_index="50" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3c" bridge_type="1-1" depth="0" bridge_pci="0000:[03-06]" pci_busid="0000:00:03.2" pci_type="0604 [8086:3c0a] [00ff:0000] 07" pci_link_speed="0.000000">
-          <info name="PCIVendor" value="Intel Corporation"/>
-          <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3c"/>
-          <object type="Bridge" os_index="12288" name="Intel Corporation Patsburg PCI Express Upstream Port" bridge_type="1-1" depth="1" bridge_pci="0000:[04-06]" pci_busid="0000:03:00.0" pci_type="0604 [8086:1d74] [00ff:0000] 06" pci_link_speed="0.000000">
+          <object type="Bridge" os_index="50" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3c" bridge_type="1-1" depth="1" bridge_pci="0000:[03-06]" pci_busid="0000:00:03.2" pci_type="0604 [8086:3c0a] [00ff:0000] 07" pci_link_speed="0.000000">
             <info name="PCIVendor" value="Intel Corporation"/>
-            <info name="PCIDevice" value="Patsburg PCI Express Upstream Port"/>
-            <object type="Bridge" os_index="16512" name="Intel Corporation Patsburg PCI Express Virtual Switch Port" bridge_type="1-1" depth="2" bridge_pci="0000:[05-06]" pci_busid="0000:04:08.0" pci_type="0604 [8086:1d3f] [00ff:0000] 06" pci_link_speed="0.000000">
+            <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3c"/>
+            <object type="Bridge" os_index="12288" name="Intel Corporation Patsburg PCI Express Upstream Port" bridge_type="1-1" depth="2" bridge_pci="0000:[04-06]" pci_busid="0000:03:00.0" pci_type="0604 [8086:1d74] [00ff:0000] 06" pci_link_speed="0.000000">
               <info name="PCIVendor" value="Intel Corporation"/>
-              <info name="PCIDevice" value="Patsburg PCI Express Virtual Switch Port"/>
-              <object type="PCIDev" os_index="20480" name="Intel Corporation Patsburg Dual 4-Port SATA/SAS Storage Control Unit" pci_busid="0000:05:00.0" pci_type="0107 [8086:1d68] [00a9:0068] 06" pci_link_speed="0.000000">
+              <info name="PCIDevice" value="Patsburg PCI Express Upstream Port"/>
+              <object type="Bridge" os_index="16512" name="Intel Corporation Patsburg PCI Express Virtual Switch Port" bridge_type="1-1" depth="3" bridge_pci="0000:[05-06]" pci_busid="0000:04:08.0" pci_type="0604 [8086:1d3f] [00ff:0000] 06" pci_link_speed="0.000000">
                 <info name="PCIVendor" value="Intel Corporation"/>
-                <info name="PCIDevice" value="Patsburg Dual 4-Port SATA/SAS Storage Control Unit"/>
+                <info name="PCIDevice" value="Patsburg PCI Express Virtual Switch Port"/>
+                <object type="PCIDev" os_index="20480" name="Intel Corporation Patsburg Dual 4-Port SATA/SAS Storage Control Unit" pci_busid="0000:05:00.0" pci_type="0107 [8086:1d68] [00a9:0068] 06" pci_link_speed="0.000000">
+                  <info name="PCIVendor" value="Intel Corporation"/>
+                  <info name="PCIDevice" value="Patsburg Dual 4-Port SATA/SAS Storage Control Unit"/>
+                </object>
               </object>
             </object>
           </object>
-        </object>
-        <object type="Bridge" os_index="448" name="Intel Corporation Patsburg PCI Express Root Port 8" bridge_type="1-1" depth="0" bridge_pci="0000:[07-0b]" pci_busid="0000:00:1c.0" pci_type="0604 [8086:1d1e] [0000:0000] b6" pci_link_speed="0.000000">
-          <info name="PCIVendor" value="Intel Corporation"/>
-          <info name="PCIDevice" value="Patsburg PCI Express Root Port 8"/>
-          <object type="Bridge" os_index="28672" name="Renesas Technology Corp. SH7757 PCIe Switch [PS]" bridge_type="1-1" depth="1" bridge_pci="0000:[08-0b]" pci_busid="0000:07:00.0" pci_type="0604 [1912:0013] [0000:0000] 00" pci_link_speed="0.000000">
-            <info name="PCIVendor" value="Renesas Technology Corp."/>
-            <info name="PCIDevice" value="SH7757 PCIe Switch [PS]"/>
-            <object type="Bridge" os_index="32768" name="Renesas Technology Corp. SH7757 PCIe Switch [PS]" bridge_type="1-1" depth="2" bridge_pci="0000:[09-0a]" pci_busid="0000:08:00.0" pci_type="0604 [1912:0013] [0000:0000] 00" pci_link_speed="0.000000">
+          <object type="Bridge" os_index="448" name="Intel Corporation Patsburg PCI Express Root Port 8" bridge_type="1-1" depth="1" bridge_pci="0000:[07-0b]" pci_busid="0000:00:1c.0" pci_type="0604 [8086:1d1e] [0000:0000] b6" pci_link_speed="0.000000">
+            <info name="PCIVendor" value="Intel Corporation"/>
+            <info name="PCIDevice" value="Patsburg PCI Express Root Port 8"/>
+            <object type="Bridge" os_index="28672" name="Renesas Technology Corp. SH7757 PCIe Switch [PS]" bridge_type="1-1" depth="2" bridge_pci="0000:[08-0b]" pci_busid="0000:07:00.0" pci_type="0604 [1912:0013] [0000:0000] 00" pci_link_speed="0.000000">
               <info name="PCIVendor" value="Renesas Technology Corp."/>
               <info name="PCIDevice" value="SH7757 PCIe Switch [PS]"/>
-              <object type="Bridge" os_index="36864" name="Renesas Technology Corp. SH7757 PCIe-PCI Bridge [PPB]" bridge_type="1-1" depth="3" bridge_pci="0000:[0a-0a]" pci_busid="0000:09:00.0" pci_type="0604 [1912:0012] [0000:0000] 00" pci_link_speed="0.000000">
+              <object type="Bridge" os_index="32768" name="Renesas Technology Corp. SH7757 PCIe Switch [PS]" bridge_type="1-1" depth="3" bridge_pci="0000:[09-0a]" pci_busid="0000:08:00.0" pci_type="0604 [1912:0013] [0000:0000] 00" pci_link_speed="0.000000">
                 <info name="PCIVendor" value="Renesas Technology Corp."/>
-                <info name="PCIDevice" value="SH7757 PCIe-PCI Bridge [PPB]"/>
-                <object type="PCIDev" os_index="40960" name="Matrox Graphics, Inc. G200eR2" pci_busid="0000:0a:00.0" pci_type="0300 [102b:0534] [0000:0000] 00" pci_link_speed="0.000000">
-                  <info name="PCIVendor" value="Matrox Graphics, Inc."/>
-                  <info name="PCIDevice" value="G200eR2"/>
+                <info name="PCIDevice" value="SH7757 PCIe Switch [PS]"/>
+                <object type="Bridge" os_index="36864" name="Renesas Technology Corp. SH7757 PCIe-PCI Bridge [PPB]" bridge_type="1-1" depth="4" bridge_pci="0000:[0a-0a]" pci_busid="0000:09:00.0" pci_type="0604 [1912:0012] [0000:0000] 00" pci_link_speed="0.000000">
+                  <info name="PCIVendor" value="Renesas Technology Corp."/>
+                  <info name="PCIDevice" value="SH7757 PCIe-PCI Bridge [PPB]"/>
+                  <object type="PCIDev" os_index="40960" name="Matrox Graphics, Inc. G200eR2" pci_busid="0000:0a:00.0" pci_type="0300 [102b:0534] [0000:0000] 00" pci_link_speed="0.000000">
+                    <info name="PCIVendor" value="Matrox Graphics, Inc."/>
+                    <info name="PCIDevice" value="G200eR2"/>
+                  </object>
                 </object>
               </object>
             </object>
           </object>
-        </object>
-        <object type="PCIDev" os_index="498" name="Intel Corporation Patsburg 6-Port SATA AHCI Controller" pci_busid="0000:00:1f.2" pci_type="0106 [8086:1d02] [00a9:0070] 06" pci_link_speed="0.000000">
-          <info name="PCIVendor" value="Intel Corporation"/>
-          <info name="PCIDevice" value="Patsburg 6-Port SATA AHCI Controller"/>
+          <object type="PCIDev" os_index="498" name="Intel Corporation Patsburg 6-Port SATA AHCI Controller" pci_busid="0000:00:1f.2" pci_type="0106 [8086:1d02] [00a9:0070] 06" pci_link_speed="0.000000">
+            <info name="PCIVendor" value="Intel Corporation"/>
+            <info name="PCIDevice" value="Patsburg 6-Port SATA AHCI Controller"/>
+          </object>
         </object>
       </object>
-    </object>
-    <object type="NUMANode" os_index="1" cpuset="0x0000ff00,,,,,,0x0000ff00" complete_cpuset="0x0000ff00,,,,,,0x0000ff00" online_cpuset="0x0000ff00,,,,,,0x0000ff00" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="1" cpuset="0x0000ff00,,,,,,0x0000ff00" complete_cpuset="0x0000ff00,,,,,,0x0000ff00" online_cpuset="0x0000ff00,,,,,,0x0000ff00" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00" complete_cpuset="0x0000ff00,,,,,,0x0000ff00" online_cpuset="0x0000ff00,,,,,,0x0000ff00" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x00000100,,,,,,0x00000100" complete_cpuset="0x00000100,,,,,,0x00000100" online_cpuset="0x00000100,,,,,,0x00000100" allowed_cpuset="0x00000100,,,,,,0x00000100" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000100,,,,,,0x00000100" complete_cpuset="0x00000100,,,,,,0x00000100" online_cpuset="0x00000100,,,,,,0x00000100" allowed_cpuset="0x00000100,,,,,,0x00000100" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000100,,,,,,0x00000100" complete_cpuset="0x00000100,,,,,,0x00000100" online_cpuset="0x00000100,,,,,,0x00000100" allowed_cpuset="0x00000100,,,,,,0x00000100" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x00000100,,,,,,0x00000100" complete_cpuset="0x00000100,,,,,,0x00000100" online_cpuset="0x00000100,,,,,,0x00000100" allowed_cpuset="0x00000100,,,,,,0x00000100" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
-                  <object type="PU" os_index="8" cpuset="0x00000100" complete_cpuset="0x00000100" online_cpuset="0x00000100" allowed_cpuset="0x00000100" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
-                  <object type="PU" os_index="200" cpuset="0x00000100,,,,,,0x0" complete_cpuset="0x00000100,,,,,,0x0" online_cpuset="0x00000100,,,,,,0x0" allowed_cpuset="0x00000100,,,,,,0x0" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+      <object type="NUMANode" os_index="1" cpuset="0x0000ff00,,,,,,0x0000ff00" complete_cpuset="0x0000ff00,,,,,,0x0000ff00" online_cpuset="0x0000ff00,,,,,,0x0000ff00" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="1" cpuset="0x0000ff00,,,,,,0x0000ff00" complete_cpuset="0x0000ff00,,,,,,0x0000ff00" online_cpuset="0x0000ff00,,,,,,0x0000ff00" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00" complete_cpuset="0x0000ff00,,,,,,0x0000ff00" online_cpuset="0x0000ff00,,,,,,0x0000ff00" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00000100,,,,,,0x00000100" complete_cpuset="0x00000100,,,,,,0x00000100" online_cpuset="0x00000100,,,,,,0x00000100" allowed_cpuset="0x00000100,,,,,,0x00000100" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000100,,,,,,0x00000100" complete_cpuset="0x00000100,,,,,,0x00000100" online_cpuset="0x00000100,,,,,,0x00000100" allowed_cpuset="0x00000100,,,,,,0x00000100" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000100,,,,,,0x00000100" complete_cpuset="0x00000100,,,,,,0x00000100" online_cpuset="0x00000100,,,,,,0x00000100" allowed_cpuset="0x00000100,,,,,,0x00000100" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00000100,,,,,,0x00000100" complete_cpuset="0x00000100,,,,,,0x00000100" online_cpuset="0x00000100,,,,,,0x00000100" allowed_cpuset="0x00000100,,,,,,0x00000100" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+                    <object type="PU" os_index="8" cpuset="0x00000100" complete_cpuset="0x00000100" online_cpuset="0x00000100" allowed_cpuset="0x00000100" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                    <object type="PU" os_index="200" cpuset="0x00000100,,,,,,0x0" complete_cpuset="0x00000100,,,,,,0x0" online_cpuset="0x00000100,,,,,,0x0" allowed_cpuset="0x00000100,,,,,,0x0" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000200,,,,,,0x00000200" complete_cpuset="0x00000200,,,,,,0x00000200" online_cpuset="0x00000200,,,,,,0x00000200" allowed_cpuset="0x00000200,,,,,,0x00000200" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000200,,,,,,0x00000200" complete_cpuset="0x00000200,,,,,,0x00000200" online_cpuset="0x00000200,,,,,,0x00000200" allowed_cpuset="0x00000200,,,,,,0x00000200" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000200,,,,,,0x00000200" complete_cpuset="0x00000200,,,,,,0x00000200" online_cpuset="0x00000200,,,,,,0x00000200" allowed_cpuset="0x00000200,,,,,,0x00000200" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x00000200,,,,,,0x00000200" complete_cpuset="0x00000200,,,,,,0x00000200" online_cpuset="0x00000200,,,,,,0x00000200" allowed_cpuset="0x00000200,,,,,,0x00000200" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
-                  <object type="PU" os_index="9" cpuset="0x00000200" complete_cpuset="0x00000200" online_cpuset="0x00000200" allowed_cpuset="0x00000200" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
-                  <object type="PU" os_index="201" cpuset="0x00000200,,,,,,0x0" complete_cpuset="0x00000200,,,,,,0x0" online_cpuset="0x00000200,,,,,,0x0" allowed_cpuset="0x00000200,,,,,,0x0" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+            <object type="Cache" cpuset="0x00000200,,,,,,0x00000200" complete_cpuset="0x00000200,,,,,,0x00000200" online_cpuset="0x00000200,,,,,,0x00000200" allowed_cpuset="0x00000200,,,,,,0x00000200" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000200,,,,,,0x00000200" complete_cpuset="0x00000200,,,,,,0x00000200" online_cpuset="0x00000200,,,,,,0x00000200" allowed_cpuset="0x00000200,,,,,,0x00000200" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000200,,,,,,0x00000200" complete_cpuset="0x00000200,,,,,,0x00000200" online_cpuset="0x00000200,,,,,,0x00000200" allowed_cpuset="0x00000200,,,,,,0x00000200" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00000200,,,,,,0x00000200" complete_cpuset="0x00000200,,,,,,0x00000200" online_cpuset="0x00000200,,,,,,0x00000200" allowed_cpuset="0x00000200,,,,,,0x00000200" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+                    <object type="PU" os_index="9" cpuset="0x00000200" complete_cpuset="0x00000200" online_cpuset="0x00000200" allowed_cpuset="0x00000200" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                    <object type="PU" os_index="201" cpuset="0x00000200,,,,,,0x0" complete_cpuset="0x00000200,,,,,,0x0" online_cpuset="0x00000200,,,,,,0x0" allowed_cpuset="0x00000200,,,,,,0x0" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000400,,,,,,0x00000400" complete_cpuset="0x00000400,,,,,,0x00000400" online_cpuset="0x00000400,,,,,,0x00000400" allowed_cpuset="0x00000400,,,,,,0x00000400" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000400,,,,,,0x00000400" complete_cpuset="0x00000400,,,,,,0x00000400" online_cpuset="0x00000400,,,,,,0x00000400" allowed_cpuset="0x00000400,,,,,,0x00000400" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000400,,,,,,0x00000400" complete_cpuset="0x00000400,,,,,,0x00000400" online_cpuset="0x00000400,,,,,,0x00000400" allowed_cpuset="0x00000400,,,,,,0x00000400" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x00000400,,,,,,0x00000400" complete_cpuset="0x00000400,,,,,,0x00000400" online_cpuset="0x00000400,,,,,,0x00000400" allowed_cpuset="0x00000400,,,,,,0x00000400" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
-                  <object type="PU" os_index="10" cpuset="0x00000400" complete_cpuset="0x00000400" online_cpuset="0x00000400" allowed_cpuset="0x00000400" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
-                  <object type="PU" os_index="202" cpuset="0x00000400,,,,,,0x0" complete_cpuset="0x00000400,,,,,,0x0" online_cpuset="0x00000400,,,,,,0x0" allowed_cpuset="0x00000400,,,,,,0x0" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+            <object type="Cache" cpuset="0x00000400,,,,,,0x00000400" complete_cpuset="0x00000400,,,,,,0x00000400" online_cpuset="0x00000400,,,,,,0x00000400" allowed_cpuset="0x00000400,,,,,,0x00000400" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000400,,,,,,0x00000400" complete_cpuset="0x00000400,,,,,,0x00000400" online_cpuset="0x00000400,,,,,,0x00000400" allowed_cpuset="0x00000400,,,,,,0x00000400" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000400,,,,,,0x00000400" complete_cpuset="0x00000400,,,,,,0x00000400" online_cpuset="0x00000400,,,,,,0x00000400" allowed_cpuset="0x00000400,,,,,,0x00000400" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00000400,,,,,,0x00000400" complete_cpuset="0x00000400,,,,,,0x00000400" online_cpuset="0x00000400,,,,,,0x00000400" allowed_cpuset="0x00000400,,,,,,0x00000400" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+                    <object type="PU" os_index="10" cpuset="0x00000400" complete_cpuset="0x00000400" online_cpuset="0x00000400" allowed_cpuset="0x00000400" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                    <object type="PU" os_index="202" cpuset="0x00000400,,,,,,0x0" complete_cpuset="0x00000400,,,,,,0x0" online_cpuset="0x00000400,,,,,,0x0" allowed_cpuset="0x00000400,,,,,,0x0" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000800,,,,,,0x00000800" complete_cpuset="0x00000800,,,,,,0x00000800" online_cpuset="0x00000800,,,,,,0x00000800" allowed_cpuset="0x00000800,,,,,,0x00000800" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000800,,,,,,0x00000800" complete_cpuset="0x00000800,,,,,,0x00000800" online_cpuset="0x00000800,,,,,,0x00000800" allowed_cpuset="0x00000800,,,,,,0x00000800" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000800,,,,,,0x00000800" complete_cpuset="0x00000800,,,,,,0x00000800" online_cpuset="0x00000800,,,,,,0x00000800" allowed_cpuset="0x00000800,,,,,,0x00000800" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x00000800,,,,,,0x00000800" complete_cpuset="0x00000800,,,,,,0x00000800" online_cpuset="0x00000800,,,,,,0x00000800" allowed_cpuset="0x00000800,,,,,,0x00000800" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
-                  <object type="PU" os_index="11" cpuset="0x00000800" complete_cpuset="0x00000800" online_cpuset="0x00000800" allowed_cpuset="0x00000800" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
-                  <object type="PU" os_index="203" cpuset="0x00000800,,,,,,0x0" complete_cpuset="0x00000800,,,,,,0x0" online_cpuset="0x00000800,,,,,,0x0" allowed_cpuset="0x00000800,,,,,,0x0" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+            <object type="Cache" cpuset="0x00000800,,,,,,0x00000800" complete_cpuset="0x00000800,,,,,,0x00000800" online_cpuset="0x00000800,,,,,,0x00000800" allowed_cpuset="0x00000800,,,,,,0x00000800" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000800,,,,,,0x00000800" complete_cpuset="0x00000800,,,,,,0x00000800" online_cpuset="0x00000800,,,,,,0x00000800" allowed_cpuset="0x00000800,,,,,,0x00000800" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000800,,,,,,0x00000800" complete_cpuset="0x00000800,,,,,,0x00000800" online_cpuset="0x00000800,,,,,,0x00000800" allowed_cpuset="0x00000800,,,,,,0x00000800" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00000800,,,,,,0x00000800" complete_cpuset="0x00000800,,,,,,0x00000800" online_cpuset="0x00000800,,,,,,0x00000800" allowed_cpuset="0x00000800,,,,,,0x00000800" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+                    <object type="PU" os_index="11" cpuset="0x00000800" complete_cpuset="0x00000800" online_cpuset="0x00000800" allowed_cpuset="0x00000800" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                    <object type="PU" os_index="203" cpuset="0x00000800,,,,,,0x0" complete_cpuset="0x00000800,,,,,,0x0" online_cpuset="0x00000800,,,,,,0x0" allowed_cpuset="0x00000800,,,,,,0x0" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00001000,,,,,,0x00001000" complete_cpuset="0x00001000,,,,,,0x00001000" online_cpuset="0x00001000,,,,,,0x00001000" allowed_cpuset="0x00001000,,,,,,0x00001000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00001000,,,,,,0x00001000" complete_cpuset="0x00001000,,,,,,0x00001000" online_cpuset="0x00001000,,,,,,0x00001000" allowed_cpuset="0x00001000,,,,,,0x00001000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00001000,,,,,,0x00001000" complete_cpuset="0x00001000,,,,,,0x00001000" online_cpuset="0x00001000,,,,,,0x00001000" allowed_cpuset="0x00001000,,,,,,0x00001000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x00001000,,,,,,0x00001000" complete_cpuset="0x00001000,,,,,,0x00001000" online_cpuset="0x00001000,,,,,,0x00001000" allowed_cpuset="0x00001000,,,,,,0x00001000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
-                  <object type="PU" os_index="12" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
-                  <object type="PU" os_index="204" cpuset="0x00001000,,,,,,0x0" complete_cpuset="0x00001000,,,,,,0x0" online_cpuset="0x00001000,,,,,,0x0" allowed_cpuset="0x00001000,,,,,,0x0" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+            <object type="Cache" cpuset="0x00001000,,,,,,0x00001000" complete_cpuset="0x00001000,,,,,,0x00001000" online_cpuset="0x00001000,,,,,,0x00001000" allowed_cpuset="0x00001000,,,,,,0x00001000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00001000,,,,,,0x00001000" complete_cpuset="0x00001000,,,,,,0x00001000" online_cpuset="0x00001000,,,,,,0x00001000" allowed_cpuset="0x00001000,,,,,,0x00001000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00001000,,,,,,0x00001000" complete_cpuset="0x00001000,,,,,,0x00001000" online_cpuset="0x00001000,,,,,,0x00001000" allowed_cpuset="0x00001000,,,,,,0x00001000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00001000,,,,,,0x00001000" complete_cpuset="0x00001000,,,,,,0x00001000" online_cpuset="0x00001000,,,,,,0x00001000" allowed_cpuset="0x00001000,,,,,,0x00001000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+                    <object type="PU" os_index="12" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                    <object type="PU" os_index="204" cpuset="0x00001000,,,,,,0x0" complete_cpuset="0x00001000,,,,,,0x0" online_cpuset="0x00001000,,,,,,0x0" allowed_cpuset="0x00001000,,,,,,0x0" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00002000,,,,,,0x00002000" complete_cpuset="0x00002000,,,,,,0x00002000" online_cpuset="0x00002000,,,,,,0x00002000" allowed_cpuset="0x00002000,,,,,,0x00002000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00002000,,,,,,0x00002000" complete_cpuset="0x00002000,,,,,,0x00002000" online_cpuset="0x00002000,,,,,,0x00002000" allowed_cpuset="0x00002000,,,,,,0x00002000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00002000,,,,,,0x00002000" complete_cpuset="0x00002000,,,,,,0x00002000" online_cpuset="0x00002000,,,,,,0x00002000" allowed_cpuset="0x00002000,,,,,,0x00002000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x00002000,,,,,,0x00002000" complete_cpuset="0x00002000,,,,,,0x00002000" online_cpuset="0x00002000,,,,,,0x00002000" allowed_cpuset="0x00002000,,,,,,0x00002000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
-                  <object type="PU" os_index="13" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
-                  <object type="PU" os_index="205" cpuset="0x00002000,,,,,,0x0" complete_cpuset="0x00002000,,,,,,0x0" online_cpuset="0x00002000,,,,,,0x0" allowed_cpuset="0x00002000,,,,,,0x0" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+            <object type="Cache" cpuset="0x00002000,,,,,,0x00002000" complete_cpuset="0x00002000,,,,,,0x00002000" online_cpuset="0x00002000,,,,,,0x00002000" allowed_cpuset="0x00002000,,,,,,0x00002000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00002000,,,,,,0x00002000" complete_cpuset="0x00002000,,,,,,0x00002000" online_cpuset="0x00002000,,,,,,0x00002000" allowed_cpuset="0x00002000,,,,,,0x00002000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00002000,,,,,,0x00002000" complete_cpuset="0x00002000,,,,,,0x00002000" online_cpuset="0x00002000,,,,,,0x00002000" allowed_cpuset="0x00002000,,,,,,0x00002000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00002000,,,,,,0x00002000" complete_cpuset="0x00002000,,,,,,0x00002000" online_cpuset="0x00002000,,,,,,0x00002000" allowed_cpuset="0x00002000,,,,,,0x00002000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+                    <object type="PU" os_index="13" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                    <object type="PU" os_index="205" cpuset="0x00002000,,,,,,0x0" complete_cpuset="0x00002000,,,,,,0x0" online_cpuset="0x00002000,,,,,,0x0" allowed_cpuset="0x00002000,,,,,,0x0" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00004000,,,,,,0x00004000" complete_cpuset="0x00004000,,,,,,0x00004000" online_cpuset="0x00004000,,,,,,0x00004000" allowed_cpuset="0x00004000,,,,,,0x00004000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00004000,,,,,,0x00004000" complete_cpuset="0x00004000,,,,,,0x00004000" online_cpuset="0x00004000,,,,,,0x00004000" allowed_cpuset="0x00004000,,,,,,0x00004000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00004000,,,,,,0x00004000" complete_cpuset="0x00004000,,,,,,0x00004000" online_cpuset="0x00004000,,,,,,0x00004000" allowed_cpuset="0x00004000,,,,,,0x00004000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x00004000,,,,,,0x00004000" complete_cpuset="0x00004000,,,,,,0x00004000" online_cpuset="0x00004000,,,,,,0x00004000" allowed_cpuset="0x00004000,,,,,,0x00004000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
-                  <object type="PU" os_index="14" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
-                  <object type="PU" os_index="206" cpuset="0x00004000,,,,,,0x0" complete_cpuset="0x00004000,,,,,,0x0" online_cpuset="0x00004000,,,,,,0x0" allowed_cpuset="0x00004000,,,,,,0x0" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+            <object type="Cache" cpuset="0x00004000,,,,,,0x00004000" complete_cpuset="0x00004000,,,,,,0x00004000" online_cpuset="0x00004000,,,,,,0x00004000" allowed_cpuset="0x00004000,,,,,,0x00004000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00004000,,,,,,0x00004000" complete_cpuset="0x00004000,,,,,,0x00004000" online_cpuset="0x00004000,,,,,,0x00004000" allowed_cpuset="0x00004000,,,,,,0x00004000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00004000,,,,,,0x00004000" complete_cpuset="0x00004000,,,,,,0x00004000" online_cpuset="0x00004000,,,,,,0x00004000" allowed_cpuset="0x00004000,,,,,,0x00004000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00004000,,,,,,0x00004000" complete_cpuset="0x00004000,,,,,,0x00004000" online_cpuset="0x00004000,,,,,,0x00004000" allowed_cpuset="0x00004000,,,,,,0x00004000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+                    <object type="PU" os_index="14" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                    <object type="PU" os_index="206" cpuset="0x00004000,,,,,,0x0" complete_cpuset="0x00004000,,,,,,0x0" online_cpuset="0x00004000,,,,,,0x0" allowed_cpuset="0x00004000,,,,,,0x0" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00008000,,,,,,0x00008000" complete_cpuset="0x00008000,,,,,,0x00008000" online_cpuset="0x00008000,,,,,,0x00008000" allowed_cpuset="0x00008000,,,,,,0x00008000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00008000,,,,,,0x00008000" complete_cpuset="0x00008000,,,,,,0x00008000" online_cpuset="0x00008000,,,,,,0x00008000" allowed_cpuset="0x00008000,,,,,,0x00008000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00008000,,,,,,0x00008000" complete_cpuset="0x00008000,,,,,,0x00008000" online_cpuset="0x00008000,,,,,,0x00008000" allowed_cpuset="0x00008000,,,,,,0x00008000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x00008000,,,,,,0x00008000" complete_cpuset="0x00008000,,,,,,0x00008000" online_cpuset="0x00008000,,,,,,0x00008000" allowed_cpuset="0x00008000,,,,,,0x00008000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
-                  <object type="PU" os_index="15" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
-                  <object type="PU" os_index="207" cpuset="0x00008000,,,,,,0x0" complete_cpuset="0x00008000,,,,,,0x0" online_cpuset="0x00008000,,,,,,0x0" allowed_cpuset="0x00008000,,,,,,0x0" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+            <object type="Cache" cpuset="0x00008000,,,,,,0x00008000" complete_cpuset="0x00008000,,,,,,0x00008000" online_cpuset="0x00008000,,,,,,0x00008000" allowed_cpuset="0x00008000,,,,,,0x00008000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00008000,,,,,,0x00008000" complete_cpuset="0x00008000,,,,,,0x00008000" online_cpuset="0x00008000,,,,,,0x00008000" allowed_cpuset="0x00008000,,,,,,0x00008000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00008000,,,,,,0x00008000" complete_cpuset="0x00008000,,,,,,0x00008000" online_cpuset="0x00008000,,,,,,0x00008000" allowed_cpuset="0x00008000,,,,,,0x00008000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00008000,,,,,,0x00008000" complete_cpuset="0x00008000,,,,,,0x00008000" online_cpuset="0x00008000,,,,,,0x00008000" allowed_cpuset="0x00008000,,,,,,0x00008000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+                    <object type="PU" os_index="15" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                    <object type="PU" os_index="207" cpuset="0x00008000,,,,,,0x0" complete_cpuset="0x00008000,,,,,,0x0" online_cpuset="0x00008000,,,,,,0x0" allowed_cpuset="0x00008000,,,,,,0x0" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                  </object>
                 </object>
               </object>
             </object>
           </object>
         </object>
-      </object>
-      <object type="Bridge" os_index="1" bridge_type="0-1" depth="0" bridge_pci="0001:[00-02]">
-        <object type="Bridge" os_index="1048624" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="0" bridge_pci="0001:[02-02]" pci_busid="0001:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
-          <info name="PCIVendor" value="Intel Corporation"/>
-          <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
-          <object type="PCIDev" os_index="1056768" name="LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator]" pci_busid="0001:02:00.0" pci_type="0104 [1000:0079] [0000:0080] 05" pci_link_speed="0.000000">
-            <info name="PCIVendor" value="LSI Logic / Symbios Logic"/>
-            <info name="PCIDevice" value="MegaRAID SAS 2108 [Liberator]"/>
-            <object type="OSDev" name="sda" osdev_type="0"/>
-            <object type="OSDev" name="sdb" osdev_type="0"/>
+        <object type="Bridge" os_index="1" bridge_type="0-1" depth="0" bridge_pci="0001:[00-02]">
+          <object type="Bridge" os_index="1048624" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0001:[02-02]" pci_busid="0001:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
+            <info name="PCIVendor" value="Intel Corporation"/>
+            <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
+            <object type="PCIDev" os_index="1056768" name="LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator]" pci_busid="0001:02:00.0" pci_type="0104 [1000:0079] [0000:0080] 05" pci_link_speed="0.000000">
+              <info name="PCIVendor" value="LSI Logic / Symbios Logic"/>
+              <info name="PCIDevice" value="MegaRAID SAS 2108 [Liberator]"/>
+              <object type="OSDev" name="sda" osdev_type="0"/>
+              <object type="OSDev" name="sdb" osdev_type="0"/>
+            </object>
           </object>
         </object>
       </object>
     </object>
-    <object type="NUMANode" os_index="2" cpuset="0x00ff0000,,,,,,0x00ff0000" complete_cpuset="0x00ff0000,,,,,,0x00ff0000" online_cpuset="0x00ff0000,,,,,,0x00ff0000" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="2" cpuset="0x00ff0000,,,,,,0x00ff0000" complete_cpuset="0x00ff0000,,,,,,0x00ff0000" online_cpuset="0x00ff0000,,,,,,0x00ff0000" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000" complete_cpuset="0x00ff0000,,,,,,0x00ff0000" online_cpuset="0x00ff0000,,,,,,0x00ff0000" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x00010000,,,,,,0x00010000" complete_cpuset="0x00010000,,,,,,0x00010000" online_cpuset="0x00010000,,,,,,0x00010000" allowed_cpuset="0x00010000,,,,,,0x00010000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00010000,,,,,,0x00010000" complete_cpuset="0x00010000,,,,,,0x00010000" online_cpuset="0x00010000,,,,,,0x00010000" allowed_cpuset="0x00010000,,,,,,0x00010000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00010000,,,,,,0x00010000" complete_cpuset="0x00010000,,,,,,0x00010000" online_cpuset="0x00010000,,,,,,0x00010000" allowed_cpuset="0x00010000,,,,,,0x00010000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x00010000,,,,,,0x00010000" complete_cpuset="0x00010000,,,,,,0x00010000" online_cpuset="0x00010000,,,,,,0x00010000" allowed_cpuset="0x00010000,,,,,,0x00010000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
-                  <object type="PU" os_index="16" cpuset="0x00010000" complete_cpuset="0x00010000" online_cpuset="0x00010000" allowed_cpuset="0x00010000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
-                  <object type="PU" os_index="208" cpuset="0x00010000,,,,,,0x0" complete_cpuset="0x00010000,,,,,,0x0" online_cpuset="0x00010000,,,,,,0x0" allowed_cpuset="0x00010000,,,,,,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+    <object type="Group" cpuset="0xffff0000,,,,,,0xffff0000" complete_cpuset="0xffff0000,,,,,,0xffff0000" online_cpuset="0xffff0000,,,,,,0xffff0000" allowed_cpuset="0xffff0000,,,,,,0xffff0000" nodeset="0x0000000c" complete_nodeset="0x0000000c" allowed_nodeset="0x0000000c" depth="0">
+      <object type="NUMANode" os_index="2" cpuset="0x00ff0000,,,,,,0x00ff0000" complete_cpuset="0x00ff0000,,,,,,0x00ff0000" online_cpuset="0x00ff0000,,,,,,0x00ff0000" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="2" cpuset="0x00ff0000,,,,,,0x00ff0000" complete_cpuset="0x00ff0000,,,,,,0x00ff0000" online_cpuset="0x00ff0000,,,,,,0x00ff0000" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000" complete_cpuset="0x00ff0000,,,,,,0x00ff0000" online_cpuset="0x00ff0000,,,,,,0x00ff0000" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00010000,,,,,,0x00010000" complete_cpuset="0x00010000,,,,,,0x00010000" online_cpuset="0x00010000,,,,,,0x00010000" allowed_cpuset="0x00010000,,,,,,0x00010000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00010000,,,,,,0x00010000" complete_cpuset="0x00010000,,,,,,0x00010000" online_cpuset="0x00010000,,,,,,0x00010000" allowed_cpuset="0x00010000,,,,,,0x00010000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00010000,,,,,,0x00010000" complete_cpuset="0x00010000,,,,,,0x00010000" online_cpuset="0x00010000,,,,,,0x00010000" allowed_cpuset="0x00010000,,,,,,0x00010000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00010000,,,,,,0x00010000" complete_cpuset="0x00010000,,,,,,0x00010000" online_cpuset="0x00010000,,,,,,0x00010000" allowed_cpuset="0x00010000,,,,,,0x00010000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+                    <object type="PU" os_index="16" cpuset="0x00010000" complete_cpuset="0x00010000" online_cpuset="0x00010000" allowed_cpuset="0x00010000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+                    <object type="PU" os_index="208" cpuset="0x00010000,,,,,,0x0" complete_cpuset="0x00010000,,,,,,0x0" online_cpuset="0x00010000,,,,,,0x0" allowed_cpuset="0x00010000,,,,,,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00020000,,,,,,0x00020000" complete_cpuset="0x00020000,,,,,,0x00020000" online_cpuset="0x00020000,,,,,,0x00020000" allowed_cpuset="0x00020000,,,,,,0x00020000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00020000,,,,,,0x00020000" complete_cpuset="0x00020000,,,,,,0x00020000" online_cpuset="0x00020000,,,,,,0x00020000" allowed_cpuset="0x00020000,,,,,,0x00020000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00020000,,,,,,0x00020000" complete_cpuset="0x00020000,,,,,,0x00020000" online_cpuset="0x00020000,,,,,,0x00020000" allowed_cpuset="0x00020000,,,,,,0x00020000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x00020000,,,,,,0x00020000" complete_cpuset="0x00020000,,,,,,0x00020000" online_cpuset="0x00020000,,,,,,0x00020000" allowed_cpuset="0x00020000,,,,,,0x00020000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
-                  <object type="PU" os_index="17" cpuset="0x00020000" complete_cpuset="0x00020000" online_cpuset="0x00020000" allowed_cpuset="0x00020000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
-                  <object type="PU" os_index="209" cpuset="0x00020000,,,,,,0x0" complete_cpuset="0x00020000,,,,,,0x0" online_cpuset="0x00020000,,,,,,0x0" allowed_cpuset="0x00020000,,,,,,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+            <object type="Cache" cpuset="0x00020000,,,,,,0x00020000" complete_cpuset="0x00020000,,,,,,0x00020000" online_cpuset="0x00020000,,,,,,0x00020000" allowed_cpuset="0x00020000,,,,,,0x00020000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00020000,,,,,,0x00020000" complete_cpuset="0x00020000,,,,,,0x00020000" online_cpuset="0x00020000,,,,,,0x00020000" allowed_cpuset="0x00020000,,,,,,0x00020000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00020000,,,,,,0x00020000" complete_cpuset="0x00020000,,,,,,0x00020000" online_cpuset="0x00020000,,,,,,0x00020000" allowed_cpuset="0x00020000,,,,,,0x00020000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00020000,,,,,,0x00020000" complete_cpuset="0x00020000,,,,,,0x00020000" online_cpuset="0x00020000,,,,,,0x00020000" allowed_cpuset="0x00020000,,,,,,0x00020000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+                    <object type="PU" os_index="17" cpuset="0x00020000" complete_cpuset="0x00020000" online_cpuset="0x00020000" allowed_cpuset="0x00020000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+                    <object type="PU" os_index="209" cpuset="0x00020000,,,,,,0x0" complete_cpuset="0x00020000,,,,,,0x0" online_cpuset="0x00020000,,,,,,0x0" allowed_cpuset="0x00020000,,,,,,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00040000,,,,,,0x00040000" complete_cpuset="0x00040000,,,,,,0x00040000" online_cpuset="0x00040000,,,,,,0x00040000" allowed_cpuset="0x00040000,,,,,,0x00040000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00040000,,,,,,0x00040000" complete_cpuset="0x00040000,,,,,,0x00040000" online_cpuset="0x00040000,,,,,,0x00040000" allowed_cpuset="0x00040000,,,,,,0x00040000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00040000,,,,,,0x00040000" complete_cpuset="0x00040000,,,,,,0x00040000" online_cpuset="0x00040000,,,,,,0x00040000" allowed_cpuset="0x00040000,,,,,,0x00040000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x00040000,,,,,,0x00040000" complete_cpuset="0x00040000,,,,,,0x00040000" online_cpuset="0x00040000,,,,,,0x00040000" allowed_cpuset="0x00040000,,,,,,0x00040000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
-                  <object type="PU" os_index="18" cpuset="0x00040000" complete_cpuset="0x00040000" online_cpuset="0x00040000" allowed_cpuset="0x00040000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
-                  <object type="PU" os_index="210" cpuset="0x00040000,,,,,,0x0" complete_cpuset="0x00040000,,,,,,0x0" online_cpuset="0x00040000,,,,,,0x0" allowed_cpuset="0x00040000,,,,,,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+            <object type="Cache" cpuset="0x00040000,,,,,,0x00040000" complete_cpuset="0x00040000,,,,,,0x00040000" online_cpuset="0x00040000,,,,,,0x00040000" allowed_cpuset="0x00040000,,,,,,0x00040000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00040000,,,,,,0x00040000" complete_cpuset="0x00040000,,,,,,0x00040000" online_cpuset="0x00040000,,,,,,0x00040000" allowed_cpuset="0x00040000,,,,,,0x00040000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00040000,,,,,,0x00040000" complete_cpuset="0x00040000,,,,,,0x00040000" online_cpuset="0x00040000,,,,,,0x00040000" allowed_cpuset="0x00040000,,,,,,0x00040000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00040000,,,,,,0x00040000" complete_cpuset="0x00040000,,,,,,0x00040000" online_cpuset="0x00040000,,,,,,0x00040000" allowed_cpuset="0x00040000,,,,,,0x00040000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+                    <object type="PU" os_index="18" cpuset="0x00040000" complete_cpuset="0x00040000" online_cpuset="0x00040000" allowed_cpuset="0x00040000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+                    <object type="PU" os_index="210" cpuset="0x00040000,,,,,,0x0" complete_cpuset="0x00040000,,,,,,0x0" online_cpuset="0x00040000,,,,,,0x0" allowed_cpuset="0x00040000,,,,,,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00080000,,,,,,0x00080000" complete_cpuset="0x00080000,,,,,,0x00080000" online_cpuset="0x00080000,,,,,,0x00080000" allowed_cpuset="0x00080000,,,,,,0x00080000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00080000,,,,,,0x00080000" complete_cpuset="0x00080000,,,,,,0x00080000" online_cpuset="0x00080000,,,,,,0x00080000" allowed_cpuset="0x00080000,,,,,,0x00080000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00080000,,,,,,0x00080000" complete_cpuset="0x00080000,,,,,,0x00080000" online_cpuset="0x00080000,,,,,,0x00080000" allowed_cpuset="0x00080000,,,,,,0x00080000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x00080000,,,,,,0x00080000" complete_cpuset="0x00080000,,,,,,0x00080000" online_cpuset="0x00080000,,,,,,0x00080000" allowed_cpuset="0x00080000,,,,,,0x00080000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
-                  <object type="PU" os_index="19" cpuset="0x00080000" complete_cpuset="0x00080000" online_cpuset="0x00080000" allowed_cpuset="0x00080000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
-                  <object type="PU" os_index="211" cpuset="0x00080000,,,,,,0x0" complete_cpuset="0x00080000,,,,,,0x0" online_cpuset="0x00080000,,,,,,0x0" allowed_cpuset="0x00080000,,,,,,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+            <object type="Cache" cpuset="0x00080000,,,,,,0x00080000" complete_cpuset="0x00080000,,,,,,0x00080000" online_cpuset="0x00080000,,,,,,0x00080000" allowed_cpuset="0x00080000,,,,,,0x00080000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00080000,,,,,,0x00080000" complete_cpuset="0x00080000,,,,,,0x00080000" online_cpuset="0x00080000,,,,,,0x00080000" allowed_cpuset="0x00080000,,,,,,0x00080000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00080000,,,,,,0x00080000" complete_cpuset="0x00080000,,,,,,0x00080000" online_cpuset="0x00080000,,,,,,0x00080000" allowed_cpuset="0x00080000,,,,,,0x00080000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00080000,,,,,,0x00080000" complete_cpuset="0x00080000,,,,,,0x00080000" online_cpuset="0x00080000,,,,,,0x00080000" allowed_cpuset="0x00080000,,,,,,0x00080000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+                    <object type="PU" os_index="19" cpuset="0x00080000" complete_cpuset="0x00080000" online_cpuset="0x00080000" allowed_cpuset="0x00080000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+                    <object type="PU" os_index="211" cpuset="0x00080000,,,,,,0x0" complete_cpuset="0x00080000,,,,,,0x0" online_cpuset="0x00080000,,,,,,0x0" allowed_cpuset="0x00080000,,,,,,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00100000,,,,,,0x00100000" complete_cpuset="0x00100000,,,,,,0x00100000" online_cpuset="0x00100000,,,,,,0x00100000" allowed_cpuset="0x00100000,,,,,,0x00100000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00100000,,,,,,0x00100000" complete_cpuset="0x00100000,,,,,,0x00100000" online_cpuset="0x00100000,,,,,,0x00100000" allowed_cpuset="0x00100000,,,,,,0x00100000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00100000,,,,,,0x00100000" complete_cpuset="0x00100000,,,,,,0x00100000" online_cpuset="0x00100000,,,,,,0x00100000" allowed_cpuset="0x00100000,,,,,,0x00100000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x00100000,,,,,,0x00100000" complete_cpuset="0x00100000,,,,,,0x00100000" online_cpuset="0x00100000,,,,,,0x00100000" allowed_cpuset="0x00100000,,,,,,0x00100000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
-                  <object type="PU" os_index="20" cpuset="0x00100000" complete_cpuset="0x00100000" online_cpuset="0x00100000" allowed_cpuset="0x00100000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
-                  <object type="PU" os_index="212" cpuset="0x00100000,,,,,,0x0" complete_cpuset="0x00100000,,,,,,0x0" online_cpuset="0x00100000,,,,,,0x0" allowed_cpuset="0x00100000,,,,,,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+            <object type="Cache" cpuset="0x00100000,,,,,,0x00100000" complete_cpuset="0x00100000,,,,,,0x00100000" online_cpuset="0x00100000,,,,,,0x00100000" allowed_cpuset="0x00100000,,,,,,0x00100000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00100000,,,,,,0x00100000" complete_cpuset="0x00100000,,,,,,0x00100000" online_cpuset="0x00100000,,,,,,0x00100000" allowed_cpuset="0x00100000,,,,,,0x00100000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00100000,,,,,,0x00100000" complete_cpuset="0x00100000,,,,,,0x00100000" online_cpuset="0x00100000,,,,,,0x00100000" allowed_cpuset="0x00100000,,,,,,0x00100000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00100000,,,,,,0x00100000" complete_cpuset="0x00100000,,,,,,0x00100000" online_cpuset="0x00100000,,,,,,0x00100000" allowed_cpuset="0x00100000,,,,,,0x00100000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+                    <object type="PU" os_index="20" cpuset="0x00100000" complete_cpuset="0x00100000" online_cpuset="0x00100000" allowed_cpuset="0x00100000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+                    <object type="PU" os_index="212" cpuset="0x00100000,,,,,,0x0" complete_cpuset="0x00100000,,,,,,0x0" online_cpuset="0x00100000,,,,,,0x0" allowed_cpuset="0x00100000,,,,,,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00200000,,,,,,0x00200000" complete_cpuset="0x00200000,,,,,,0x00200000" online_cpuset="0x00200000,,,,,,0x00200000" allowed_cpuset="0x00200000,,,,,,0x00200000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00200000,,,,,,0x00200000" complete_cpuset="0x00200000,,,,,,0x00200000" online_cpuset="0x00200000,,,,,,0x00200000" allowed_cpuset="0x00200000,,,,,,0x00200000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00200000,,,,,,0x00200000" complete_cpuset="0x00200000,,,,,,0x00200000" online_cpuset="0x00200000,,,,,,0x00200000" allowed_cpuset="0x00200000,,,,,,0x00200000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x00200000,,,,,,0x00200000" complete_cpuset="0x00200000,,,,,,0x00200000" online_cpuset="0x00200000,,,,,,0x00200000" allowed_cpuset="0x00200000,,,,,,0x00200000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
-                  <object type="PU" os_index="21" cpuset="0x00200000" complete_cpuset="0x00200000" online_cpuset="0x00200000" allowed_cpuset="0x00200000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
-                  <object type="PU" os_index="213" cpuset="0x00200000,,,,,,0x0" complete_cpuset="0x00200000,,,,,,0x0" online_cpuset="0x00200000,,,,,,0x0" allowed_cpuset="0x00200000,,,,,,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+            <object type="Cache" cpuset="0x00200000,,,,,,0x00200000" complete_cpuset="0x00200000,,,,,,0x00200000" online_cpuset="0x00200000,,,,,,0x00200000" allowed_cpuset="0x00200000,,,,,,0x00200000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00200000,,,,,,0x00200000" complete_cpuset="0x00200000,,,,,,0x00200000" online_cpuset="0x00200000,,,,,,0x00200000" allowed_cpuset="0x00200000,,,,,,0x00200000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00200000,,,,,,0x00200000" complete_cpuset="0x00200000,,,,,,0x00200000" online_cpuset="0x00200000,,,,,,0x00200000" allowed_cpuset="0x00200000,,,,,,0x00200000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00200000,,,,,,0x00200000" complete_cpuset="0x00200000,,,,,,0x00200000" online_cpuset="0x00200000,,,,,,0x00200000" allowed_cpuset="0x00200000,,,,,,0x00200000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+                    <object type="PU" os_index="21" cpuset="0x00200000" complete_cpuset="0x00200000" online_cpuset="0x00200000" allowed_cpuset="0x00200000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+                    <object type="PU" os_index="213" cpuset="0x00200000,,,,,,0x0" complete_cpuset="0x00200000,,,,,,0x0" online_cpuset="0x00200000,,,,,,0x0" allowed_cpuset="0x00200000,,,,,,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00400000,,,,,,0x00400000" complete_cpuset="0x00400000,,,,,,0x00400000" online_cpuset="0x00400000,,,,,,0x00400000" allowed_cpuset="0x00400000,,,,,,0x00400000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00400000,,,,,,0x00400000" complete_cpuset="0x00400000,,,,,,0x00400000" online_cpuset="0x00400000,,,,,,0x00400000" allowed_cpuset="0x00400000,,,,,,0x00400000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00400000,,,,,,0x00400000" complete_cpuset="0x00400000,,,,,,0x00400000" online_cpuset="0x00400000,,,,,,0x00400000" allowed_cpuset="0x00400000,,,,,,0x00400000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x00400000,,,,,,0x00400000" complete_cpuset="0x00400000,,,,,,0x00400000" online_cpuset="0x00400000,,,,,,0x00400000" allowed_cpuset="0x00400000,,,,,,0x00400000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
-                  <object type="PU" os_index="22" cpuset="0x00400000" complete_cpuset="0x00400000" online_cpuset="0x00400000" allowed_cpuset="0x00400000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
-                  <object type="PU" os_index="214" cpuset="0x00400000,,,,,,0x0" complete_cpuset="0x00400000,,,,,,0x0" online_cpuset="0x00400000,,,,,,0x0" allowed_cpuset="0x00400000,,,,,,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+            <object type="Cache" cpuset="0x00400000,,,,,,0x00400000" complete_cpuset="0x00400000,,,,,,0x00400000" online_cpuset="0x00400000,,,,,,0x00400000" allowed_cpuset="0x00400000,,,,,,0x00400000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00400000,,,,,,0x00400000" complete_cpuset="0x00400000,,,,,,0x00400000" online_cpuset="0x00400000,,,,,,0x00400000" allowed_cpuset="0x00400000,,,,,,0x00400000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00400000,,,,,,0x00400000" complete_cpuset="0x00400000,,,,,,0x00400000" online_cpuset="0x00400000,,,,,,0x00400000" allowed_cpuset="0x00400000,,,,,,0x00400000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00400000,,,,,,0x00400000" complete_cpuset="0x00400000,,,,,,0x00400000" online_cpuset="0x00400000,,,,,,0x00400000" allowed_cpuset="0x00400000,,,,,,0x00400000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+                    <object type="PU" os_index="22" cpuset="0x00400000" complete_cpuset="0x00400000" online_cpuset="0x00400000" allowed_cpuset="0x00400000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+                    <object type="PU" os_index="214" cpuset="0x00400000,,,,,,0x0" complete_cpuset="0x00400000,,,,,,0x0" online_cpuset="0x00400000,,,,,,0x0" allowed_cpuset="0x00400000,,,,,,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00800000,,,,,,0x00800000" complete_cpuset="0x00800000,,,,,,0x00800000" online_cpuset="0x00800000,,,,,,0x00800000" allowed_cpuset="0x00800000,,,,,,0x00800000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00800000,,,,,,0x00800000" complete_cpuset="0x00800000,,,,,,0x00800000" online_cpuset="0x00800000,,,,,,0x00800000" allowed_cpuset="0x00800000,,,,,,0x00800000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00800000,,,,,,0x00800000" complete_cpuset="0x00800000,,,,,,0x00800000" online_cpuset="0x00800000,,,,,,0x00800000" allowed_cpuset="0x00800000,,,,,,0x00800000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x00800000,,,,,,0x00800000" complete_cpuset="0x00800000,,,,,,0x00800000" online_cpuset="0x00800000,,,,,,0x00800000" allowed_cpuset="0x00800000,,,,,,0x00800000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
-                  <object type="PU" os_index="23" cpuset="0x00800000" complete_cpuset="0x00800000" online_cpuset="0x00800000" allowed_cpuset="0x00800000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
-                  <object type="PU" os_index="215" cpuset="0x00800000,,,,,,0x0" complete_cpuset="0x00800000,,,,,,0x0" online_cpuset="0x00800000,,,,,,0x0" allowed_cpuset="0x00800000,,,,,,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+            <object type="Cache" cpuset="0x00800000,,,,,,0x00800000" complete_cpuset="0x00800000,,,,,,0x00800000" online_cpuset="0x00800000,,,,,,0x00800000" allowed_cpuset="0x00800000,,,,,,0x00800000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00800000,,,,,,0x00800000" complete_cpuset="0x00800000,,,,,,0x00800000" online_cpuset="0x00800000,,,,,,0x00800000" allowed_cpuset="0x00800000,,,,,,0x00800000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00800000,,,,,,0x00800000" complete_cpuset="0x00800000,,,,,,0x00800000" online_cpuset="0x00800000,,,,,,0x00800000" allowed_cpuset="0x00800000,,,,,,0x00800000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00800000,,,,,,0x00800000" complete_cpuset="0x00800000,,,,,,0x00800000" online_cpuset="0x00800000,,,,,,0x00800000" allowed_cpuset="0x00800000,,,,,,0x00800000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+                    <object type="PU" os_index="23" cpuset="0x00800000" complete_cpuset="0x00800000" online_cpuset="0x00800000" allowed_cpuset="0x00800000" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+                    <object type="PU" os_index="215" cpuset="0x00800000,,,,,,0x0" complete_cpuset="0x00800000,,,,,,0x0" online_cpuset="0x00800000,,,,,,0x0" allowed_cpuset="0x00800000,,,,,,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004"/>
+                  </object>
                 </object>
               </object>
             </object>
           </object>
         </object>
       </object>
-    </object>
-    <object type="NUMANode" os_index="3" cpuset="0xff000000,,,,,,0xff000000" complete_cpuset="0xff000000,,,,,,0xff000000" online_cpuset="0xff000000,,,,,,0xff000000" allowed_cpuset="0xff000000,,,,,,0xff000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="3" cpuset="0xff000000,,,,,,0xff000000" complete_cpuset="0xff000000,,,,,,0xff000000" online_cpuset="0xff000000,,,,,,0xff000000" allowed_cpuset="0xff000000,,,,,,0xff000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0xff000000,,,,,,0xff000000" complete_cpuset="0xff000000,,,,,,0xff000000" online_cpuset="0xff000000,,,,,,0xff000000" allowed_cpuset="0xff000000,,,,,,0xff000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x01000000,,,,,,0x01000000" complete_cpuset="0x01000000,,,,,,0x01000000" online_cpuset="0x01000000,,,,,,0x01000000" allowed_cpuset="0x01000000,,,,,,0x01000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x01000000,,,,,,0x01000000" complete_cpuset="0x01000000,,,,,,0x01000000" online_cpuset="0x01000000,,,,,,0x01000000" allowed_cpuset="0x01000000,,,,,,0x01000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x01000000,,,,,,0x01000000" complete_cpuset="0x01000000,,,,,,0x01000000" online_cpuset="0x01000000,,,,,,0x01000000" allowed_cpuset="0x01000000,,,,,,0x01000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x01000000,,,,,,0x01000000" complete_cpuset="0x01000000,,,,,,0x01000000" online_cpuset="0x01000000,,,,,,0x01000000" allowed_cpuset="0x01000000,,,,,,0x01000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
-                  <object type="PU" os_index="24" cpuset="0x01000000" complete_cpuset="0x01000000" online_cpuset="0x01000000" allowed_cpuset="0x01000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
-                  <object type="PU" os_index="216" cpuset="0x01000000,,,,,,0x0" complete_cpuset="0x01000000,,,,,,0x0" online_cpuset="0x01000000,,,,,,0x0" allowed_cpuset="0x01000000,,,,,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+      <object type="NUMANode" os_index="3" cpuset="0xff000000,,,,,,0xff000000" complete_cpuset="0xff000000,,,,,,0xff000000" online_cpuset="0xff000000,,,,,,0xff000000" allowed_cpuset="0xff000000,,,,,,0xff000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="3" cpuset="0xff000000,,,,,,0xff000000" complete_cpuset="0xff000000,,,,,,0xff000000" online_cpuset="0xff000000,,,,,,0xff000000" allowed_cpuset="0xff000000,,,,,,0xff000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0xff000000,,,,,,0xff000000" complete_cpuset="0xff000000,,,,,,0xff000000" online_cpuset="0xff000000,,,,,,0xff000000" allowed_cpuset="0xff000000,,,,,,0xff000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x01000000,,,,,,0x01000000" complete_cpuset="0x01000000,,,,,,0x01000000" online_cpuset="0x01000000,,,,,,0x01000000" allowed_cpuset="0x01000000,,,,,,0x01000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x01000000,,,,,,0x01000000" complete_cpuset="0x01000000,,,,,,0x01000000" online_cpuset="0x01000000,,,,,,0x01000000" allowed_cpuset="0x01000000,,,,,,0x01000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x01000000,,,,,,0x01000000" complete_cpuset="0x01000000,,,,,,0x01000000" online_cpuset="0x01000000,,,,,,0x01000000" allowed_cpuset="0x01000000,,,,,,0x01000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x01000000,,,,,,0x01000000" complete_cpuset="0x01000000,,,,,,0x01000000" online_cpuset="0x01000000,,,,,,0x01000000" allowed_cpuset="0x01000000,,,,,,0x01000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+                    <object type="PU" os_index="24" cpuset="0x01000000" complete_cpuset="0x01000000" online_cpuset="0x01000000" allowed_cpuset="0x01000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+                    <object type="PU" os_index="216" cpuset="0x01000000,,,,,,0x0" complete_cpuset="0x01000000,,,,,,0x0" online_cpuset="0x01000000,,,,,,0x0" allowed_cpuset="0x01000000,,,,,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x02000000,,,,,,0x02000000" complete_cpuset="0x02000000,,,,,,0x02000000" online_cpuset="0x02000000,,,,,,0x02000000" allowed_cpuset="0x02000000,,,,,,0x02000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x02000000,,,,,,0x02000000" complete_cpuset="0x02000000,,,,,,0x02000000" online_cpuset="0x02000000,,,,,,0x02000000" allowed_cpuset="0x02000000,,,,,,0x02000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x02000000,,,,,,0x02000000" complete_cpuset="0x02000000,,,,,,0x02000000" online_cpuset="0x02000000,,,,,,0x02000000" allowed_cpuset="0x02000000,,,,,,0x02000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x02000000,,,,,,0x02000000" complete_cpuset="0x02000000,,,,,,0x02000000" online_cpuset="0x02000000,,,,,,0x02000000" allowed_cpuset="0x02000000,,,,,,0x02000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
-                  <object type="PU" os_index="25" cpuset="0x02000000" complete_cpuset="0x02000000" online_cpuset="0x02000000" allowed_cpuset="0x02000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
-                  <object type="PU" os_index="217" cpuset="0x02000000,,,,,,0x0" complete_cpuset="0x02000000,,,,,,0x0" online_cpuset="0x02000000,,,,,,0x0" allowed_cpuset="0x02000000,,,,,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+            <object type="Cache" cpuset="0x02000000,,,,,,0x02000000" complete_cpuset="0x02000000,,,,,,0x02000000" online_cpuset="0x02000000,,,,,,0x02000000" allowed_cpuset="0x02000000,,,,,,0x02000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x02000000,,,,,,0x02000000" complete_cpuset="0x02000000,,,,,,0x02000000" online_cpuset="0x02000000,,,,,,0x02000000" allowed_cpuset="0x02000000,,,,,,0x02000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x02000000,,,,,,0x02000000" complete_cpuset="0x02000000,,,,,,0x02000000" online_cpuset="0x02000000,,,,,,0x02000000" allowed_cpuset="0x02000000,,,,,,0x02000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x02000000,,,,,,0x02000000" complete_cpuset="0x02000000,,,,,,0x02000000" online_cpuset="0x02000000,,,,,,0x02000000" allowed_cpuset="0x02000000,,,,,,0x02000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+                    <object type="PU" os_index="25" cpuset="0x02000000" complete_cpuset="0x02000000" online_cpuset="0x02000000" allowed_cpuset="0x02000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+                    <object type="PU" os_index="217" cpuset="0x02000000,,,,,,0x0" complete_cpuset="0x02000000,,,,,,0x0" online_cpuset="0x02000000,,,,,,0x0" allowed_cpuset="0x02000000,,,,,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x04000000,,,,,,0x04000000" complete_cpuset="0x04000000,,,,,,0x04000000" online_cpuset="0x04000000,,,,,,0x04000000" allowed_cpuset="0x04000000,,,,,,0x04000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x04000000,,,,,,0x04000000" complete_cpuset="0x04000000,,,,,,0x04000000" online_cpuset="0x04000000,,,,,,0x04000000" allowed_cpuset="0x04000000,,,,,,0x04000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x04000000,,,,,,0x04000000" complete_cpuset="0x04000000,,,,,,0x04000000" online_cpuset="0x04000000,,,,,,0x04000000" allowed_cpuset="0x04000000,,,,,,0x04000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x04000000,,,,,,0x04000000" complete_cpuset="0x04000000,,,,,,0x04000000" online_cpuset="0x04000000,,,,,,0x04000000" allowed_cpuset="0x04000000,,,,,,0x04000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
-                  <object type="PU" os_index="26" cpuset="0x04000000" complete_cpuset="0x04000000" online_cpuset="0x04000000" allowed_cpuset="0x04000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
-                  <object type="PU" os_index="218" cpuset="0x04000000,,,,,,0x0" complete_cpuset="0x04000000,,,,,,0x0" online_cpuset="0x04000000,,,,,,0x0" allowed_cpuset="0x04000000,,,,,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+            <object type="Cache" cpuset="0x04000000,,,,,,0x04000000" complete_cpuset="0x04000000,,,,,,0x04000000" online_cpuset="0x04000000,,,,,,0x04000000" allowed_cpuset="0x04000000,,,,,,0x04000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x04000000,,,,,,0x04000000" complete_cpuset="0x04000000,,,,,,0x04000000" online_cpuset="0x04000000,,,,,,0x04000000" allowed_cpuset="0x04000000,,,,,,0x04000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x04000000,,,,,,0x04000000" complete_cpuset="0x04000000,,,,,,0x04000000" online_cpuset="0x04000000,,,,,,0x04000000" allowed_cpuset="0x04000000,,,,,,0x04000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x04000000,,,,,,0x04000000" complete_cpuset="0x04000000,,,,,,0x04000000" online_cpuset="0x04000000,,,,,,0x04000000" allowed_cpuset="0x04000000,,,,,,0x04000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+                    <object type="PU" os_index="26" cpuset="0x04000000" complete_cpuset="0x04000000" online_cpuset="0x04000000" allowed_cpuset="0x04000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+                    <object type="PU" os_index="218" cpuset="0x04000000,,,,,,0x0" complete_cpuset="0x04000000,,,,,,0x0" online_cpuset="0x04000000,,,,,,0x0" allowed_cpuset="0x04000000,,,,,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x08000000,,,,,,0x08000000" complete_cpuset="0x08000000,,,,,,0x08000000" online_cpuset="0x08000000,,,,,,0x08000000" allowed_cpuset="0x08000000,,,,,,0x08000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x08000000,,,,,,0x08000000" complete_cpuset="0x08000000,,,,,,0x08000000" online_cpuset="0x08000000,,,,,,0x08000000" allowed_cpuset="0x08000000,,,,,,0x08000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x08000000,,,,,,0x08000000" complete_cpuset="0x08000000,,,,,,0x08000000" online_cpuset="0x08000000,,,,,,0x08000000" allowed_cpuset="0x08000000,,,,,,0x08000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x08000000,,,,,,0x08000000" complete_cpuset="0x08000000,,,,,,0x08000000" online_cpuset="0x08000000,,,,,,0x08000000" allowed_cpuset="0x08000000,,,,,,0x08000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
-                  <object type="PU" os_index="27" cpuset="0x08000000" complete_cpuset="0x08000000" online_cpuset="0x08000000" allowed_cpuset="0x08000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
-                  <object type="PU" os_index="219" cpuset="0x08000000,,,,,,0x0" complete_cpuset="0x08000000,,,,,,0x0" online_cpuset="0x08000000,,,,,,0x0" allowed_cpuset="0x08000000,,,,,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+            <object type="Cache" cpuset="0x08000000,,,,,,0x08000000" complete_cpuset="0x08000000,,,,,,0x08000000" online_cpuset="0x08000000,,,,,,0x08000000" allowed_cpuset="0x08000000,,,,,,0x08000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x08000000,,,,,,0x08000000" complete_cpuset="0x08000000,,,,,,0x08000000" online_cpuset="0x08000000,,,,,,0x08000000" allowed_cpuset="0x08000000,,,,,,0x08000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x08000000,,,,,,0x08000000" complete_cpuset="0x08000000,,,,,,0x08000000" online_cpuset="0x08000000,,,,,,0x08000000" allowed_cpuset="0x08000000,,,,,,0x08000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x08000000,,,,,,0x08000000" complete_cpuset="0x08000000,,,,,,0x08000000" online_cpuset="0x08000000,,,,,,0x08000000" allowed_cpuset="0x08000000,,,,,,0x08000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+                    <object type="PU" os_index="27" cpuset="0x08000000" complete_cpuset="0x08000000" online_cpuset="0x08000000" allowed_cpuset="0x08000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+                    <object type="PU" os_index="219" cpuset="0x08000000,,,,,,0x0" complete_cpuset="0x08000000,,,,,,0x0" online_cpuset="0x08000000,,,,,,0x0" allowed_cpuset="0x08000000,,,,,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x10000000,,,,,,0x10000000" complete_cpuset="0x10000000,,,,,,0x10000000" online_cpuset="0x10000000,,,,,,0x10000000" allowed_cpuset="0x10000000,,,,,,0x10000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x10000000,,,,,,0x10000000" complete_cpuset="0x10000000,,,,,,0x10000000" online_cpuset="0x10000000,,,,,,0x10000000" allowed_cpuset="0x10000000,,,,,,0x10000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x10000000,,,,,,0x10000000" complete_cpuset="0x10000000,,,,,,0x10000000" online_cpuset="0x10000000,,,,,,0x10000000" allowed_cpuset="0x10000000,,,,,,0x10000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x10000000,,,,,,0x10000000" complete_cpuset="0x10000000,,,,,,0x10000000" online_cpuset="0x10000000,,,,,,0x10000000" allowed_cpuset="0x10000000,,,,,,0x10000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
-                  <object type="PU" os_index="28" cpuset="0x10000000" complete_cpuset="0x10000000" online_cpuset="0x10000000" allowed_cpuset="0x10000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
-                  <object type="PU" os_index="220" cpuset="0x10000000,,,,,,0x0" complete_cpuset="0x10000000,,,,,,0x0" online_cpuset="0x10000000,,,,,,0x0" allowed_cpuset="0x10000000,,,,,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+            <object type="Cache" cpuset="0x10000000,,,,,,0x10000000" complete_cpuset="0x10000000,,,,,,0x10000000" online_cpuset="0x10000000,,,,,,0x10000000" allowed_cpuset="0x10000000,,,,,,0x10000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x10000000,,,,,,0x10000000" complete_cpuset="0x10000000,,,,,,0x10000000" online_cpuset="0x10000000,,,,,,0x10000000" allowed_cpuset="0x10000000,,,,,,0x10000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x10000000,,,,,,0x10000000" complete_cpuset="0x10000000,,,,,,0x10000000" online_cpuset="0x10000000,,,,,,0x10000000" allowed_cpuset="0x10000000,,,,,,0x10000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x10000000,,,,,,0x10000000" complete_cpuset="0x10000000,,,,,,0x10000000" online_cpuset="0x10000000,,,,,,0x10000000" allowed_cpuset="0x10000000,,,,,,0x10000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+                    <object type="PU" os_index="28" cpuset="0x10000000" complete_cpuset="0x10000000" online_cpuset="0x10000000" allowed_cpuset="0x10000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+                    <object type="PU" os_index="220" cpuset="0x10000000,,,,,,0x0" complete_cpuset="0x10000000,,,,,,0x0" online_cpuset="0x10000000,,,,,,0x0" allowed_cpuset="0x10000000,,,,,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x20000000,,,,,,0x20000000" complete_cpuset="0x20000000,,,,,,0x20000000" online_cpuset="0x20000000,,,,,,0x20000000" allowed_cpuset="0x20000000,,,,,,0x20000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x20000000,,,,,,0x20000000" complete_cpuset="0x20000000,,,,,,0x20000000" online_cpuset="0x20000000,,,,,,0x20000000" allowed_cpuset="0x20000000,,,,,,0x20000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x20000000,,,,,,0x20000000" complete_cpuset="0x20000000,,,,,,0x20000000" online_cpuset="0x20000000,,,,,,0x20000000" allowed_cpuset="0x20000000,,,,,,0x20000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x20000000,,,,,,0x20000000" complete_cpuset="0x20000000,,,,,,0x20000000" online_cpuset="0x20000000,,,,,,0x20000000" allowed_cpuset="0x20000000,,,,,,0x20000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
-                  <object type="PU" os_index="29" cpuset="0x20000000" complete_cpuset="0x20000000" online_cpuset="0x20000000" allowed_cpuset="0x20000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
-                  <object type="PU" os_index="221" cpuset="0x20000000,,,,,,0x0" complete_cpuset="0x20000000,,,,,,0x0" online_cpuset="0x20000000,,,,,,0x0" allowed_cpuset="0x20000000,,,,,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+            <object type="Cache" cpuset="0x20000000,,,,,,0x20000000" complete_cpuset="0x20000000,,,,,,0x20000000" online_cpuset="0x20000000,,,,,,0x20000000" allowed_cpuset="0x20000000,,,,,,0x20000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x20000000,,,,,,0x20000000" complete_cpuset="0x20000000,,,,,,0x20000000" online_cpuset="0x20000000,,,,,,0x20000000" allowed_cpuset="0x20000000,,,,,,0x20000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x20000000,,,,,,0x20000000" complete_cpuset="0x20000000,,,,,,0x20000000" online_cpuset="0x20000000,,,,,,0x20000000" allowed_cpuset="0x20000000,,,,,,0x20000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x20000000,,,,,,0x20000000" complete_cpuset="0x20000000,,,,,,0x20000000" online_cpuset="0x20000000,,,,,,0x20000000" allowed_cpuset="0x20000000,,,,,,0x20000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+                    <object type="PU" os_index="29" cpuset="0x20000000" complete_cpuset="0x20000000" online_cpuset="0x20000000" allowed_cpuset="0x20000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+                    <object type="PU" os_index="221" cpuset="0x20000000,,,,,,0x0" complete_cpuset="0x20000000,,,,,,0x0" online_cpuset="0x20000000,,,,,,0x0" allowed_cpuset="0x20000000,,,,,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x40000000,,,,,,0x40000000" complete_cpuset="0x40000000,,,,,,0x40000000" online_cpuset="0x40000000,,,,,,0x40000000" allowed_cpuset="0x40000000,,,,,,0x40000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x40000000,,,,,,0x40000000" complete_cpuset="0x40000000,,,,,,0x40000000" online_cpuset="0x40000000,,,,,,0x40000000" allowed_cpuset="0x40000000,,,,,,0x40000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x40000000,,,,,,0x40000000" complete_cpuset="0x40000000,,,,,,0x40000000" online_cpuset="0x40000000,,,,,,0x40000000" allowed_cpuset="0x40000000,,,,,,0x40000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x40000000,,,,,,0x40000000" complete_cpuset="0x40000000,,,,,,0x40000000" online_cpuset="0x40000000,,,,,,0x40000000" allowed_cpuset="0x40000000,,,,,,0x40000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
-                  <object type="PU" os_index="30" cpuset="0x40000000" complete_cpuset="0x40000000" online_cpuset="0x40000000" allowed_cpuset="0x40000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
-                  <object type="PU" os_index="222" cpuset="0x40000000,,,,,,0x0" complete_cpuset="0x40000000,,,,,,0x0" online_cpuset="0x40000000,,,,,,0x0" allowed_cpuset="0x40000000,,,,,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+            <object type="Cache" cpuset="0x40000000,,,,,,0x40000000" complete_cpuset="0x40000000,,,,,,0x40000000" online_cpuset="0x40000000,,,,,,0x40000000" allowed_cpuset="0x40000000,,,,,,0x40000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x40000000,,,,,,0x40000000" complete_cpuset="0x40000000,,,,,,0x40000000" online_cpuset="0x40000000,,,,,,0x40000000" allowed_cpuset="0x40000000,,,,,,0x40000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x40000000,,,,,,0x40000000" complete_cpuset="0x40000000,,,,,,0x40000000" online_cpuset="0x40000000,,,,,,0x40000000" allowed_cpuset="0x40000000,,,,,,0x40000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x40000000,,,,,,0x40000000" complete_cpuset="0x40000000,,,,,,0x40000000" online_cpuset="0x40000000,,,,,,0x40000000" allowed_cpuset="0x40000000,,,,,,0x40000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+                    <object type="PU" os_index="30" cpuset="0x40000000" complete_cpuset="0x40000000" online_cpuset="0x40000000" allowed_cpuset="0x40000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+                    <object type="PU" os_index="222" cpuset="0x40000000,,,,,,0x0" complete_cpuset="0x40000000,,,,,,0x0" online_cpuset="0x40000000,,,,,,0x0" allowed_cpuset="0x40000000,,,,,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x80000000,,,,,,0x80000000" complete_cpuset="0x80000000,,,,,,0x80000000" online_cpuset="0x80000000,,,,,,0x80000000" allowed_cpuset="0x80000000,,,,,,0x80000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x80000000,,,,,,0x80000000" complete_cpuset="0x80000000,,,,,,0x80000000" online_cpuset="0x80000000,,,,,,0x80000000" allowed_cpuset="0x80000000,,,,,,0x80000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x80000000,,,,,,0x80000000" complete_cpuset="0x80000000,,,,,,0x80000000" online_cpuset="0x80000000,,,,,,0x80000000" allowed_cpuset="0x80000000,,,,,,0x80000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x80000000,,,,,,0x80000000" complete_cpuset="0x80000000,,,,,,0x80000000" online_cpuset="0x80000000,,,,,,0x80000000" allowed_cpuset="0x80000000,,,,,,0x80000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
-                  <object type="PU" os_index="31" cpuset="0x80000000" complete_cpuset="0x80000000" online_cpuset="0x80000000" allowed_cpuset="0x80000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
-                  <object type="PU" os_index="223" cpuset="0x80000000,,,,,,0x0" complete_cpuset="0x80000000,,,,,,0x0" online_cpuset="0x80000000,,,,,,0x0" allowed_cpuset="0x80000000,,,,,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+            <object type="Cache" cpuset="0x80000000,,,,,,0x80000000" complete_cpuset="0x80000000,,,,,,0x80000000" online_cpuset="0x80000000,,,,,,0x80000000" allowed_cpuset="0x80000000,,,,,,0x80000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x80000000,,,,,,0x80000000" complete_cpuset="0x80000000,,,,,,0x80000000" online_cpuset="0x80000000,,,,,,0x80000000" allowed_cpuset="0x80000000,,,,,,0x80000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x80000000,,,,,,0x80000000" complete_cpuset="0x80000000,,,,,,0x80000000" online_cpuset="0x80000000,,,,,,0x80000000" allowed_cpuset="0x80000000,,,,,,0x80000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x80000000,,,,,,0x80000000" complete_cpuset="0x80000000,,,,,,0x80000000" online_cpuset="0x80000000,,,,,,0x80000000" allowed_cpuset="0x80000000,,,,,,0x80000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+                    <object type="PU" os_index="31" cpuset="0x80000000" complete_cpuset="0x80000000" online_cpuset="0x80000000" allowed_cpuset="0x80000000" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+                    <object type="PU" os_index="223" cpuset="0x80000000,,,,,,0x0" complete_cpuset="0x80000000,,,,,,0x0" online_cpuset="0x80000000,,,,,,0x0" allowed_cpuset="0x80000000,,,,,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008"/>
+                  </object>
                 </object>
               </object>
             </object>
@@ -1023,223 +1027,225 @@
         </object>
       </object>
     </object>
-    <object type="NUMANode" os_index="4" cpuset="0x000000ff,,,,,,0x000000ff,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="4" cpuset="0x000000ff,,,,,,0x000000ff,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,0x0" online_cpuset="0x00000001,,,,,,0x00000001,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,0x0" online_cpuset="0x00000001,,,,,,0x00000001,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,0x0" online_cpuset="0x00000001,,,,,,0x00000001,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x00000001,,,,,,0x00000001,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,0x0" online_cpuset="0x00000001,,,,,,0x00000001,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
-                  <object type="PU" os_index="32" cpuset="0x00000001,0x0" complete_cpuset="0x00000001,0x0" online_cpuset="0x00000001,0x0" allowed_cpuset="0x00000001,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
-                  <object type="PU" os_index="224" cpuset="0x00000001,,,,,,,0x0" complete_cpuset="0x00000001,,,,,,,0x0" online_cpuset="0x00000001,,,,,,,0x0" allowed_cpuset="0x00000001,,,,,,,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+    <object type="Group" cpuset="0x0000ffff,,,,,,0x0000ffff,0x0" complete_cpuset="0x0000ffff,,,,,,0x0000ffff,0x0" online_cpuset="0x0000ffff,,,,,,0x0000ffff,0x0" allowed_cpuset="0x0000ffff,,,,,,0x0000ffff,0x0" nodeset="0x00000030" complete_nodeset="0x00000030" allowed_nodeset="0x00000030" depth="0">
+      <object type="NUMANode" os_index="4" cpuset="0x000000ff,,,,,,0x000000ff,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="4" cpuset="0x000000ff,,,,,,0x000000ff,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,0x0" online_cpuset="0x00000001,,,,,,0x00000001,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,0x0" online_cpuset="0x00000001,,,,,,0x00000001,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,0x0" online_cpuset="0x00000001,,,,,,0x00000001,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00000001,,,,,,0x00000001,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,0x0" online_cpuset="0x00000001,,,,,,0x00000001,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
+                    <object type="PU" os_index="32" cpuset="0x00000001,0x0" complete_cpuset="0x00000001,0x0" online_cpuset="0x00000001,0x0" allowed_cpuset="0x00000001,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+                    <object type="PU" os_index="224" cpuset="0x00000001,,,,,,,0x0" complete_cpuset="0x00000001,,,,,,,0x0" online_cpuset="0x00000001,,,,,,,0x0" allowed_cpuset="0x00000001,,,,,,,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,0x0" online_cpuset="0x00000002,,,,,,0x00000002,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,0x0" online_cpuset="0x00000002,,,,,,0x00000002,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,0x0" online_cpuset="0x00000002,,,,,,0x00000002,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x00000002,,,,,,0x00000002,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,0x0" online_cpuset="0x00000002,,,,,,0x00000002,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
-                  <object type="PU" os_index="33" cpuset="0x00000002,0x0" complete_cpuset="0x00000002,0x0" online_cpuset="0x00000002,0x0" allowed_cpuset="0x00000002,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
-                  <object type="PU" os_index="225" cpuset="0x00000002,,,,,,,0x0" complete_cpuset="0x00000002,,,,,,,0x0" online_cpuset="0x00000002,,,,,,,0x0" allowed_cpuset="0x00000002,,,,,,,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+            <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,0x0" online_cpuset="0x00000002,,,,,,0x00000002,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,0x0" online_cpuset="0x00000002,,,,,,0x00000002,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,0x0" online_cpuset="0x00000002,,,,,,0x00000002,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00000002,,,,,,0x00000002,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,0x0" online_cpuset="0x00000002,,,,,,0x00000002,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
+                    <object type="PU" os_index="33" cpuset="0x00000002,0x0" complete_cpuset="0x00000002,0x0" online_cpuset="0x00000002,0x0" allowed_cpuset="0x00000002,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+                    <object type="PU" os_index="225" cpuset="0x00000002,,,,,,,0x0" complete_cpuset="0x00000002,,,,,,,0x0" online_cpuset="0x00000002,,,,,,,0x0" allowed_cpuset="0x00000002,,,,,,,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,0x0" online_cpuset="0x00000004,,,,,,0x00000004,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,0x0" online_cpuset="0x00000004,,,,,,0x00000004,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,0x0" online_cpuset="0x00000004,,,,,,0x00000004,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x00000004,,,,,,0x00000004,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,0x0" online_cpuset="0x00000004,,,,,,0x00000004,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
-                  <object type="PU" os_index="34" cpuset="0x00000004,0x0" complete_cpuset="0x00000004,0x0" online_cpuset="0x00000004,0x0" allowed_cpuset="0x00000004,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
-                  <object type="PU" os_index="226" cpuset="0x00000004,,,,,,,0x0" complete_cpuset="0x00000004,,,,,,,0x0" online_cpuset="0x00000004,,,,,,,0x0" allowed_cpuset="0x00000004,,,,,,,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+            <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,0x0" online_cpuset="0x00000004,,,,,,0x00000004,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,0x0" online_cpuset="0x00000004,,,,,,0x00000004,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,0x0" online_cpuset="0x00000004,,,,,,0x00000004,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00000004,,,,,,0x00000004,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,0x0" online_cpuset="0x00000004,,,,,,0x00000004,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
+                    <object type="PU" os_index="34" cpuset="0x00000004,0x0" complete_cpuset="0x00000004,0x0" online_cpuset="0x00000004,0x0" allowed_cpuset="0x00000004,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+                    <object type="PU" os_index="226" cpuset="0x00000004,,,,,,,0x0" complete_cpuset="0x00000004,,,,,,,0x0" online_cpuset="0x00000004,,,,,,,0x0" allowed_cpuset="0x00000004,,,,,,,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,0x0" online_cpuset="0x00000008,,,,,,0x00000008,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,0x0" online_cpuset="0x00000008,,,,,,0x00000008,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,0x0" online_cpuset="0x00000008,,,,,,0x00000008,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x00000008,,,,,,0x00000008,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,0x0" online_cpuset="0x00000008,,,,,,0x00000008,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
-                  <object type="PU" os_index="35" cpuset="0x00000008,0x0" complete_cpuset="0x00000008,0x0" online_cpuset="0x00000008,0x0" allowed_cpuset="0x00000008,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
-                  <object type="PU" os_index="227" cpuset="0x00000008,,,,,,,0x0" complete_cpuset="0x00000008,,,,,,,0x0" online_cpuset="0x00000008,,,,,,,0x0" allowed_cpuset="0x00000008,,,,,,,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+            <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,0x0" online_cpuset="0x00000008,,,,,,0x00000008,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,0x0" online_cpuset="0x00000008,,,,,,0x00000008,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,0x0" online_cpuset="0x00000008,,,,,,0x00000008,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00000008,,,,,,0x00000008,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,0x0" online_cpuset="0x00000008,,,,,,0x00000008,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
+                    <object type="PU" os_index="35" cpuset="0x00000008,0x0" complete_cpuset="0x00000008,0x0" online_cpuset="0x00000008,0x0" allowed_cpuset="0x00000008,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+                    <object type="PU" os_index="227" cpuset="0x00000008,,,,,,,0x0" complete_cpuset="0x00000008,,,,,,,0x0" online_cpuset="0x00000008,,,,,,,0x0" allowed_cpuset="0x00000008,,,,,,,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,0x0" online_cpuset="0x00000010,,,,,,0x00000010,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,0x0" online_cpuset="0x00000010,,,,,,0x00000010,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,0x0" online_cpuset="0x00000010,,,,,,0x00000010,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x00000010,,,,,,0x00000010,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,0x0" online_cpuset="0x00000010,,,,,,0x00000010,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
-                  <object type="PU" os_index="36" cpuset="0x00000010,0x0" complete_cpuset="0x00000010,0x0" online_cpuset="0x00000010,0x0" allowed_cpuset="0x00000010,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
-                  <object type="PU" os_index="228" cpuset="0x00000010,,,,,,,0x0" complete_cpuset="0x00000010,,,,,,,0x0" online_cpuset="0x00000010,,,,,,,0x0" allowed_cpuset="0x00000010,,,,,,,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+            <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,0x0" online_cpuset="0x00000010,,,,,,0x00000010,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,0x0" online_cpuset="0x00000010,,,,,,0x00000010,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,0x0" online_cpuset="0x00000010,,,,,,0x00000010,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00000010,,,,,,0x00000010,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,0x0" online_cpuset="0x00000010,,,,,,0x00000010,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
+                    <object type="PU" os_index="36" cpuset="0x00000010,0x0" complete_cpuset="0x00000010,0x0" online_cpuset="0x00000010,0x0" allowed_cpuset="0x00000010,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+                    <object type="PU" os_index="228" cpuset="0x00000010,,,,,,,0x0" complete_cpuset="0x00000010,,,,,,,0x0" online_cpuset="0x00000010,,,,,,,0x0" allowed_cpuset="0x00000010,,,,,,,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,0x0" online_cpuset="0x00000020,,,,,,0x00000020,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,0x0" online_cpuset="0x00000020,,,,,,0x00000020,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,0x0" online_cpuset="0x00000020,,,,,,0x00000020,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x00000020,,,,,,0x00000020,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,0x0" online_cpuset="0x00000020,,,,,,0x00000020,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
-                  <object type="PU" os_index="37" cpuset="0x00000020,0x0" complete_cpuset="0x00000020,0x0" online_cpuset="0x00000020,0x0" allowed_cpuset="0x00000020,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
-                  <object type="PU" os_index="229" cpuset="0x00000020,,,,,,,0x0" complete_cpuset="0x00000020,,,,,,,0x0" online_cpuset="0x00000020,,,,,,,0x0" allowed_cpuset="0x00000020,,,,,,,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+            <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,0x0" online_cpuset="0x00000020,,,,,,0x00000020,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,0x0" online_cpuset="0x00000020,,,,,,0x00000020,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,0x0" online_cpuset="0x00000020,,,,,,0x00000020,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00000020,,,,,,0x00000020,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,0x0" online_cpuset="0x00000020,,,,,,0x00000020,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
+                    <object type="PU" os_index="37" cpuset="0x00000020,0x0" complete_cpuset="0x00000020,0x0" online_cpuset="0x00000020,0x0" allowed_cpuset="0x00000020,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+                    <object type="PU" os_index="229" cpuset="0x00000020,,,,,,,0x0" complete_cpuset="0x00000020,,,,,,,0x0" online_cpuset="0x00000020,,,,,,,0x0" allowed_cpuset="0x00000020,,,,,,,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,0x0" online_cpuset="0x00000040,,,,,,0x00000040,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,0x0" online_cpuset="0x00000040,,,,,,0x00000040,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,0x0" online_cpuset="0x00000040,,,,,,0x00000040,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x00000040,,,,,,0x00000040,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,0x0" online_cpuset="0x00000040,,,,,,0x00000040,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
-                  <object type="PU" os_index="38" cpuset="0x00000040,0x0" complete_cpuset="0x00000040,0x0" online_cpuset="0x00000040,0x0" allowed_cpuset="0x00000040,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
-                  <object type="PU" os_index="230" cpuset="0x00000040,,,,,,,0x0" complete_cpuset="0x00000040,,,,,,,0x0" online_cpuset="0x00000040,,,,,,,0x0" allowed_cpuset="0x00000040,,,,,,,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+            <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,0x0" online_cpuset="0x00000040,,,,,,0x00000040,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,0x0" online_cpuset="0x00000040,,,,,,0x00000040,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,0x0" online_cpuset="0x00000040,,,,,,0x00000040,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00000040,,,,,,0x00000040,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,0x0" online_cpuset="0x00000040,,,,,,0x00000040,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
+                    <object type="PU" os_index="38" cpuset="0x00000040,0x0" complete_cpuset="0x00000040,0x0" online_cpuset="0x00000040,0x0" allowed_cpuset="0x00000040,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+                    <object type="PU" os_index="230" cpuset="0x00000040,,,,,,,0x0" complete_cpuset="0x00000040,,,,,,,0x0" online_cpuset="0x00000040,,,,,,,0x0" allowed_cpuset="0x00000040,,,,,,,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,0x0" online_cpuset="0x00000080,,,,,,0x00000080,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,0x0" online_cpuset="0x00000080,,,,,,0x00000080,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,0x0" online_cpuset="0x00000080,,,,,,0x00000080,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x00000080,,,,,,0x00000080,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,0x0" online_cpuset="0x00000080,,,,,,0x00000080,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
-                  <object type="PU" os_index="39" cpuset="0x00000080,0x0" complete_cpuset="0x00000080,0x0" online_cpuset="0x00000080,0x0" allowed_cpuset="0x00000080,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
-                  <object type="PU" os_index="231" cpuset="0x00000080,,,,,,,0x0" complete_cpuset="0x00000080,,,,,,,0x0" online_cpuset="0x00000080,,,,,,,0x0" allowed_cpuset="0x00000080,,,,,,,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+            <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,0x0" online_cpuset="0x00000080,,,,,,0x00000080,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,0x0" online_cpuset="0x00000080,,,,,,0x00000080,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,0x0" online_cpuset="0x00000080,,,,,,0x00000080,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00000080,,,,,,0x00000080,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,0x0" online_cpuset="0x00000080,,,,,,0x00000080,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010">
+                    <object type="PU" os_index="39" cpuset="0x00000080,0x0" complete_cpuset="0x00000080,0x0" online_cpuset="0x00000080,0x0" allowed_cpuset="0x00000080,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+                    <object type="PU" os_index="231" cpuset="0x00000080,,,,,,,0x0" complete_cpuset="0x00000080,,,,,,,0x0" online_cpuset="0x00000080,,,,,,,0x0" allowed_cpuset="0x00000080,,,,,,,0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x00000010"/>
+                  </object>
                 </object>
               </object>
             </object>
           </object>
         </object>
-      </object>
-      <object type="Bridge" os_index="2" bridge_type="0-1" depth="0" bridge_pci="0002:[00-04]">
-        <object type="Bridge" os_index="2097200" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="0" bridge_pci="0002:[01-04]" pci_busid="0002:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
-          <info name="PCIVendor" value="Intel Corporation"/>
-          <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
-          <object type="Bridge" os_index="2101248" name="PLX Technology, Inc. PEX 8518 16-lane, 5-port PCI Express Switch" bridge_type="1-1" depth="1" bridge_pci="0002:[02-04]" pci_busid="0002:01:00.0" pci_type="0604 [10b5:8518] [0000:0000] ac" pci_link_speed="0.000000">
-            <info name="PCIVendor" value="PLX Technology, Inc."/>
-            <info name="PCIDevice" value="PEX 8518 16-lane, 5-port PCI Express Switch"/>
-            <object type="Bridge" os_index="2105360" name="PLX Technology, Inc. PEX 8518 16-lane, 5-port PCI Express Switch" bridge_type="1-1" depth="2" bridge_pci="0002:[03-03]" pci_busid="0002:02:01.0" pci_type="0604 [10b5:8518] [0000:0000] ac" pci_link_speed="0.000000">
-              <info name="PCIVendor" value="PLX Technology, Inc."/>
-              <info name="PCIDevice" value="PEX 8518 16-lane, 5-port PCI Express Switch"/>
-              <object type="PCIDev" os_index="2109440" name="Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet" pci_busid="0002:03:00.0" pci_type="0200 [14e4:1639] [00a9:0027] 20" pci_link_speed="0.000000">
-                <info name="PCIVendor" value="Broadcom Corporation"/>
-                <info name="PCIDevice" value="NetXtreme II BCM5709 Gigabit Ethernet"/>
-                <object type="OSDev" name="eth2" osdev_type="2">
-                  <info name="Address" value="00:e0:ed:0d:4d:6c"/>
-                </object>
-              </object>
-              <object type="PCIDev" os_index="2109441" name="Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet" pci_busid="0002:03:00.1" pci_type="0200 [14e4:1639] [00a9:0027] 20" pci_link_speed="0.000000">
-                <info name="PCIVendor" value="Broadcom Corporation"/>
-                <info name="PCIDevice" value="NetXtreme II BCM5709 Gigabit Ethernet"/>
-                <object type="OSDev" name="eth3" osdev_type="2">
-                  <info name="Address" value="00:e0:ed:0d:4d:6e"/>
-                </object>
-              </object>
-            </object>
-            <object type="Bridge" os_index="2105376" name="PLX Technology, Inc. PEX 8518 16-lane, 5-port PCI Express Switch" bridge_type="1-1" depth="2" bridge_pci="0002:[04-04]" pci_busid="0002:02:02.0" pci_type="0604 [10b5:8518] [0000:0000] ac" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="2" bridge_type="0-1" depth="0" bridge_pci="0002:[00-04]">
+          <object type="Bridge" os_index="2097200" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0002:[01-04]" pci_busid="0002:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
+            <info name="PCIVendor" value="Intel Corporation"/>
+            <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
+            <object type="Bridge" os_index="2101248" name="PLX Technology, Inc. PEX 8518 16-lane, 5-port PCI Express Switch" bridge_type="1-1" depth="2" bridge_pci="0002:[02-04]" pci_busid="0002:01:00.0" pci_type="0604 [10b5:8518] [0000:0000] ac" pci_link_speed="0.000000">
               <info name="PCIVendor" value="PLX Technology, Inc."/>
               <info name="PCIDevice" value="PEX 8518 16-lane, 5-port PCI Express Switch"/>
-              <object type="PCIDev" os_index="2113536" name="Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet" pci_busid="0002:04:00.0" pci_type="0200 [14e4:1639] [00a9:0027] 20" pci_link_speed="0.000000">
-                <info name="PCIVendor" value="Broadcom Corporation"/>
-                <info name="PCIDevice" value="NetXtreme II BCM5709 Gigabit Ethernet"/>
-                <object type="OSDev" name="eth4" osdev_type="2">
-                  <info name="Address" value="00:e0:ed:0d:4d:70"/>
-                </object>
-              </object>
-              <object type="PCIDev" os_index="2113537" name="Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet" pci_busid="0002:04:00.1" pci_type="0200 [14e4:1639] [00a9:0027] 20" pci_link_speed="0.000000">
-                <info name="PCIVendor" value="Broadcom Corporation"/>
-                <info name="PCIDevice" value="NetXtreme II BCM5709 Gigabit Ethernet"/>
-                <object type="OSDev" name="eth5" osdev_type="2">
-                  <info name="Address" value="00:e0:ed:0d:4d:72"/>
+              <object type="Bridge" os_index="2105360" name="PLX Technology, Inc. PEX 8518 16-lane, 5-port PCI Express Switch" bridge_type="1-1" depth="3" bridge_pci="0002:[03-03]" pci_busid="0002:02:01.0" pci_type="0604 [10b5:8518] [0000:0000] ac" pci_link_speed="0.000000">
+                <info name="PCIVendor" value="PLX Technology, Inc."/>
+                <info name="PCIDevice" value="PEX 8518 16-lane, 5-port PCI Express Switch"/>
+                <object type="PCIDev" os_index="2109440" name="Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet" pci_busid="0002:03:00.0" pci_type="0200 [14e4:1639] [00a9:0027] 20" pci_link_speed="0.000000">
+                  <info name="PCIVendor" value="Broadcom Corporation"/>
+                  <info name="PCIDevice" value="NetXtreme II BCM5709 Gigabit Ethernet"/>
+                  <object type="OSDev" name="eth2" osdev_type="2">
+                    <info name="Address" value="00:e0:ed:0d:4d:6c"/>
+                  </object>
+                </object>
+                <object type="PCIDev" os_index="2109441" name="Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet" pci_busid="0002:03:00.1" pci_type="0200 [14e4:1639] [00a9:0027] 20" pci_link_speed="0.000000">
+                  <info name="PCIVendor" value="Broadcom Corporation"/>
+                  <info name="PCIDevice" value="NetXtreme II BCM5709 Gigabit Ethernet"/>
+                  <object type="OSDev" name="eth3" osdev_type="2">
+                    <info name="Address" value="00:e0:ed:0d:4d:6e"/>
+                  </object>
+                </object>
+              </object>
+              <object type="Bridge" os_index="2105376" name="PLX Technology, Inc. PEX 8518 16-lane, 5-port PCI Express Switch" bridge_type="1-1" depth="3" bridge_pci="0002:[04-04]" pci_busid="0002:02:02.0" pci_type="0604 [10b5:8518] [0000:0000] ac" pci_link_speed="0.000000">
+                <info name="PCIVendor" value="PLX Technology, Inc."/>
+                <info name="PCIDevice" value="PEX 8518 16-lane, 5-port PCI Express Switch"/>
+                <object type="PCIDev" os_index="2113536" name="Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet" pci_busid="0002:04:00.0" pci_type="0200 [14e4:1639] [00a9:0027] 20" pci_link_speed="0.000000">
+                  <info name="PCIVendor" value="Broadcom Corporation"/>
+                  <info name="PCIDevice" value="NetXtreme II BCM5709 Gigabit Ethernet"/>
+                  <object type="OSDev" name="eth4" osdev_type="2">
+                    <info name="Address" value="00:e0:ed:0d:4d:70"/>
+                  </object>
+                </object>
+                <object type="PCIDev" os_index="2113537" name="Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet" pci_busid="0002:04:00.1" pci_type="0200 [14e4:1639] [00a9:0027] 20" pci_link_speed="0.000000">
+                  <info name="PCIVendor" value="Broadcom Corporation"/>
+                  <info name="PCIDevice" value="NetXtreme II BCM5709 Gigabit Ethernet"/>
+                  <object type="OSDev" name="eth5" osdev_type="2">
+                    <info name="Address" value="00:e0:ed:0d:4d:72"/>
+                  </object>
                 </object>
               </object>
             </object>
           </object>
         </object>
       </object>
-    </object>
-    <object type="NUMANode" os_index="5" cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="5" cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,0x0" online_cpuset="0x00000100,,,,,,0x00000100,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,0x0" online_cpuset="0x00000100,,,,,,0x00000100,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,0x0" online_cpuset="0x00000100,,,,,,0x00000100,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x00000100,,,,,,0x00000100,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,0x0" online_cpuset="0x00000100,,,,,,0x00000100,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
-                  <object type="PU" os_index="40" cpuset="0x00000100,0x0" complete_cpuset="0x00000100,0x0" online_cpuset="0x00000100,0x0" allowed_cpuset="0x00000100,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
-                  <object type="PU" os_index="232" cpuset="0x00000100,,,,,,,0x0" complete_cpuset="0x00000100,,,,,,,0x0" online_cpuset="0x00000100,,,,,,,0x0" allowed_cpuset="0x00000100,,,,,,,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+      <object type="NUMANode" os_index="5" cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="5" cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,0x0" online_cpuset="0x00000100,,,,,,0x00000100,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,0x0" online_cpuset="0x00000100,,,,,,0x00000100,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,0x0" online_cpuset="0x00000100,,,,,,0x00000100,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00000100,,,,,,0x00000100,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,0x0" online_cpuset="0x00000100,,,,,,0x00000100,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
+                    <object type="PU" os_index="40" cpuset="0x00000100,0x0" complete_cpuset="0x00000100,0x0" online_cpuset="0x00000100,0x0" allowed_cpuset="0x00000100,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+                    <object type="PU" os_index="232" cpuset="0x00000100,,,,,,,0x0" complete_cpuset="0x00000100,,,,,,,0x0" online_cpuset="0x00000100,,,,,,,0x0" allowed_cpuset="0x00000100,,,,,,,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,0x0" online_cpuset="0x00000200,,,,,,0x00000200,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,0x0" online_cpuset="0x00000200,,,,,,0x00000200,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,0x0" online_cpuset="0x00000200,,,,,,0x00000200,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x00000200,,,,,,0x00000200,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,0x0" online_cpuset="0x00000200,,,,,,0x00000200,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
-                  <object type="PU" os_index="41" cpuset="0x00000200,0x0" complete_cpuset="0x00000200,0x0" online_cpuset="0x00000200,0x0" allowed_cpuset="0x00000200,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
-                  <object type="PU" os_index="233" cpuset="0x00000200,,,,,,,0x0" complete_cpuset="0x00000200,,,,,,,0x0" online_cpuset="0x00000200,,,,,,,0x0" allowed_cpuset="0x00000200,,,,,,,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+            <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,0x0" online_cpuset="0x00000200,,,,,,0x00000200,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,0x0" online_cpuset="0x00000200,,,,,,0x00000200,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,0x0" online_cpuset="0x00000200,,,,,,0x00000200,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00000200,,,,,,0x00000200,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,0x0" online_cpuset="0x00000200,,,,,,0x00000200,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
+                    <object type="PU" os_index="41" cpuset="0x00000200,0x0" complete_cpuset="0x00000200,0x0" online_cpuset="0x00000200,0x0" allowed_cpuset="0x00000200,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+                    <object type="PU" os_index="233" cpuset="0x00000200,,,,,,,0x0" complete_cpuset="0x00000200,,,,,,,0x0" online_cpuset="0x00000200,,,,,,,0x0" allowed_cpuset="0x00000200,,,,,,,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,0x0" online_cpuset="0x00000400,,,,,,0x00000400,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,0x0" online_cpuset="0x00000400,,,,,,0x00000400,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,0x0" online_cpuset="0x00000400,,,,,,0x00000400,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x00000400,,,,,,0x00000400,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,0x0" online_cpuset="0x00000400,,,,,,0x00000400,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
-                  <object type="PU" os_index="42" cpuset="0x00000400,0x0" complete_cpuset="0x00000400,0x0" online_cpuset="0x00000400,0x0" allowed_cpuset="0x00000400,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
-                  <object type="PU" os_index="234" cpuset="0x00000400,,,,,,,0x0" complete_cpuset="0x00000400,,,,,,,0x0" online_cpuset="0x00000400,,,,,,,0x0" allowed_cpuset="0x00000400,,,,,,,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+            <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,0x0" online_cpuset="0x00000400,,,,,,0x00000400,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,0x0" online_cpuset="0x00000400,,,,,,0x00000400,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,0x0" online_cpuset="0x00000400,,,,,,0x00000400,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00000400,,,,,,0x00000400,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,0x0" online_cpuset="0x00000400,,,,,,0x00000400,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
+                    <object type="PU" os_index="42" cpuset="0x00000400,0x0" complete_cpuset="0x00000400,0x0" online_cpuset="0x00000400,0x0" allowed_cpuset="0x00000400,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+                    <object type="PU" os_index="234" cpuset="0x00000400,,,,,,,0x0" complete_cpuset="0x00000400,,,,,,,0x0" online_cpuset="0x00000400,,,,,,,0x0" allowed_cpuset="0x00000400,,,,,,,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,0x0" online_cpuset="0x00000800,,,,,,0x00000800,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,0x0" online_cpuset="0x00000800,,,,,,0x00000800,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,0x0" online_cpuset="0x00000800,,,,,,0x00000800,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x00000800,,,,,,0x00000800,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,0x0" online_cpuset="0x00000800,,,,,,0x00000800,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
-                  <object type="PU" os_index="43" cpuset="0x00000800,0x0" complete_cpuset="0x00000800,0x0" online_cpuset="0x00000800,0x0" allowed_cpuset="0x00000800,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
-                  <object type="PU" os_index="235" cpuset="0x00000800,,,,,,,0x0" complete_cpuset="0x00000800,,,,,,,0x0" online_cpuset="0x00000800,,,,,,,0x0" allowed_cpuset="0x00000800,,,,,,,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+            <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,0x0" online_cpuset="0x00000800,,,,,,0x00000800,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,0x0" online_cpuset="0x00000800,,,,,,0x00000800,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,0x0" online_cpuset="0x00000800,,,,,,0x00000800,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00000800,,,,,,0x00000800,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,0x0" online_cpuset="0x00000800,,,,,,0x00000800,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
+                    <object type="PU" os_index="43" cpuset="0x00000800,0x0" complete_cpuset="0x00000800,0x0" online_cpuset="0x00000800,0x0" allowed_cpuset="0x00000800,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+                    <object type="PU" os_index="235" cpuset="0x00000800,,,,,,,0x0" complete_cpuset="0x00000800,,,,,,,0x0" online_cpuset="0x00000800,,,,,,,0x0" allowed_cpuset="0x00000800,,,,,,,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,0x0" online_cpuset="0x00001000,,,,,,0x00001000,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,0x0" online_cpuset="0x00001000,,,,,,0x00001000,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,0x0" online_cpuset="0x00001000,,,,,,0x00001000,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x00001000,,,,,,0x00001000,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,0x0" online_cpuset="0x00001000,,,,,,0x00001000,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
-                  <object type="PU" os_index="44" cpuset="0x00001000,0x0" complete_cpuset="0x00001000,0x0" online_cpuset="0x00001000,0x0" allowed_cpuset="0x00001000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
-                  <object type="PU" os_index="236" cpuset="0x00001000,,,,,,,0x0" complete_cpuset="0x00001000,,,,,,,0x0" online_cpuset="0x00001000,,,,,,,0x0" allowed_cpuset="0x00001000,,,,,,,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+            <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,0x0" online_cpuset="0x00001000,,,,,,0x00001000,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,0x0" online_cpuset="0x00001000,,,,,,0x00001000,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,0x0" online_cpuset="0x00001000,,,,,,0x00001000,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00001000,,,,,,0x00001000,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,0x0" online_cpuset="0x00001000,,,,,,0x00001000,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
+                    <object type="PU" os_index="44" cpuset="0x00001000,0x0" complete_cpuset="0x00001000,0x0" online_cpuset="0x00001000,0x0" allowed_cpuset="0x00001000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+                    <object type="PU" os_index="236" cpuset="0x00001000,,,,,,,0x0" complete_cpuset="0x00001000,,,,,,,0x0" online_cpuset="0x00001000,,,,,,,0x0" allowed_cpuset="0x00001000,,,,,,,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,0x0" online_cpuset="0x00002000,,,,,,0x00002000,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,0x0" online_cpuset="0x00002000,,,,,,0x00002000,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,0x0" online_cpuset="0x00002000,,,,,,0x00002000,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x00002000,,,,,,0x00002000,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,0x0" online_cpuset="0x00002000,,,,,,0x00002000,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
-                  <object type="PU" os_index="45" cpuset="0x00002000,0x0" complete_cpuset="0x00002000,0x0" online_cpuset="0x00002000,0x0" allowed_cpuset="0x00002000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
-                  <object type="PU" os_index="237" cpuset="0x00002000,,,,,,,0x0" complete_cpuset="0x00002000,,,,,,,0x0" online_cpuset="0x00002000,,,,,,,0x0" allowed_cpuset="0x00002000,,,,,,,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+            <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,0x0" online_cpuset="0x00002000,,,,,,0x00002000,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,0x0" online_cpuset="0x00002000,,,,,,0x00002000,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,0x0" online_cpuset="0x00002000,,,,,,0x00002000,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00002000,,,,,,0x00002000,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,0x0" online_cpuset="0x00002000,,,,,,0x00002000,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
+                    <object type="PU" os_index="45" cpuset="0x00002000,0x0" complete_cpuset="0x00002000,0x0" online_cpuset="0x00002000,0x0" allowed_cpuset="0x00002000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+                    <object type="PU" os_index="237" cpuset="0x00002000,,,,,,,0x0" complete_cpuset="0x00002000,,,,,,,0x0" online_cpuset="0x00002000,,,,,,,0x0" allowed_cpuset="0x00002000,,,,,,,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,0x0" online_cpuset="0x00004000,,,,,,0x00004000,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,0x0" online_cpuset="0x00004000,,,,,,0x00004000,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,0x0" online_cpuset="0x00004000,,,,,,0x00004000,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x00004000,,,,,,0x00004000,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,0x0" online_cpuset="0x00004000,,,,,,0x00004000,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
-                  <object type="PU" os_index="46" cpuset="0x00004000,0x0" complete_cpuset="0x00004000,0x0" online_cpuset="0x00004000,0x0" allowed_cpuset="0x00004000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
-                  <object type="PU" os_index="238" cpuset="0x00004000,,,,,,,0x0" complete_cpuset="0x00004000,,,,,,,0x0" online_cpuset="0x00004000,,,,,,,0x0" allowed_cpuset="0x00004000,,,,,,,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+            <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,0x0" online_cpuset="0x00004000,,,,,,0x00004000,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,0x0" online_cpuset="0x00004000,,,,,,0x00004000,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,0x0" online_cpuset="0x00004000,,,,,,0x00004000,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00004000,,,,,,0x00004000,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,0x0" online_cpuset="0x00004000,,,,,,0x00004000,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
+                    <object type="PU" os_index="46" cpuset="0x00004000,0x0" complete_cpuset="0x00004000,0x0" online_cpuset="0x00004000,0x0" allowed_cpuset="0x00004000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+                    <object type="PU" os_index="238" cpuset="0x00004000,,,,,,,0x0" complete_cpuset="0x00004000,,,,,,,0x0" online_cpuset="0x00004000,,,,,,,0x0" allowed_cpuset="0x00004000,,,,,,,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,0x0" online_cpuset="0x00008000,,,,,,0x00008000,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,0x0" online_cpuset="0x00008000,,,,,,0x00008000,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,0x0" online_cpuset="0x00008000,,,,,,0x00008000,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x00008000,,,,,,0x00008000,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,0x0" online_cpuset="0x00008000,,,,,,0x00008000,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
-                  <object type="PU" os_index="47" cpuset="0x00008000,0x0" complete_cpuset="0x00008000,0x0" online_cpuset="0x00008000,0x0" allowed_cpuset="0x00008000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
-                  <object type="PU" os_index="239" cpuset="0x00008000,,,,,,,0x0" complete_cpuset="0x00008000,,,,,,,0x0" online_cpuset="0x00008000,,,,,,,0x0" allowed_cpuset="0x00008000,,,,,,,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+            <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,0x0" online_cpuset="0x00008000,,,,,,0x00008000,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,0x0" online_cpuset="0x00008000,,,,,,0x00008000,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,0x0" online_cpuset="0x00008000,,,,,,0x00008000,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00008000,,,,,,0x00008000,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,0x0" online_cpuset="0x00008000,,,,,,0x00008000,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020">
+                    <object type="PU" os_index="47" cpuset="0x00008000,0x0" complete_cpuset="0x00008000,0x0" online_cpuset="0x00008000,0x0" allowed_cpuset="0x00008000,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+                    <object type="PU" os_index="239" cpuset="0x00008000,,,,,,,0x0" complete_cpuset="0x00008000,,,,,,,0x0" online_cpuset="0x00008000,,,,,,,0x0" allowed_cpuset="0x00008000,,,,,,,0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x00000020"/>
+                  </object>
                 </object>
               </object>
             </object>
@@ -1247,198 +1253,200 @@
         </object>
       </object>
     </object>
-    <object type="NUMANode" os_index="6" cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="6" cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,0x0" online_cpuset="0x00010000,,,,,,0x00010000,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,0x0" online_cpuset="0x00010000,,,,,,0x00010000,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,0x0" online_cpuset="0x00010000,,,,,,0x00010000,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x00010000,,,,,,0x00010000,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,0x0" online_cpuset="0x00010000,,,,,,0x00010000,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
-                  <object type="PU" os_index="48" cpuset="0x00010000,0x0" complete_cpuset="0x00010000,0x0" online_cpuset="0x00010000,0x0" allowed_cpuset="0x00010000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
-                  <object type="PU" os_index="240" cpuset="0x00010000,,,,,,,0x0" complete_cpuset="0x00010000,,,,,,,0x0" online_cpuset="0x00010000,,,,,,,0x0" allowed_cpuset="0x00010000,,,,,,,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+    <object type="Group" cpuset="0xffff0000,,,,,,0xffff0000,0x0" complete_cpuset="0xffff0000,,,,,,0xffff0000,0x0" online_cpuset="0xffff0000,,,,,,0xffff0000,0x0" allowed_cpuset="0xffff0000,,,,,,0xffff0000,0x0" nodeset="0x000000c0" complete_nodeset="0x000000c0" allowed_nodeset="0x000000c0" depth="0">
+      <object type="NUMANode" os_index="6" cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="6" cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,0x0" online_cpuset="0x00010000,,,,,,0x00010000,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,0x0" online_cpuset="0x00010000,,,,,,0x00010000,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,0x0" online_cpuset="0x00010000,,,,,,0x00010000,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00010000,,,,,,0x00010000,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,0x0" online_cpuset="0x00010000,,,,,,0x00010000,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
+                    <object type="PU" os_index="48" cpuset="0x00010000,0x0" complete_cpuset="0x00010000,0x0" online_cpuset="0x00010000,0x0" allowed_cpuset="0x00010000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+                    <object type="PU" os_index="240" cpuset="0x00010000,,,,,,,0x0" complete_cpuset="0x00010000,,,,,,,0x0" online_cpuset="0x00010000,,,,,,,0x0" allowed_cpuset="0x00010000,,,,,,,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,0x0" online_cpuset="0x00020000,,,,,,0x00020000,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,0x0" online_cpuset="0x00020000,,,,,,0x00020000,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,0x0" online_cpuset="0x00020000,,,,,,0x00020000,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x00020000,,,,,,0x00020000,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,0x0" online_cpuset="0x00020000,,,,,,0x00020000,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
-                  <object type="PU" os_index="49" cpuset="0x00020000,0x0" complete_cpuset="0x00020000,0x0" online_cpuset="0x00020000,0x0" allowed_cpuset="0x00020000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
-                  <object type="PU" os_index="241" cpuset="0x00020000,,,,,,,0x0" complete_cpuset="0x00020000,,,,,,,0x0" online_cpuset="0x00020000,,,,,,,0x0" allowed_cpuset="0x00020000,,,,,,,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+            <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,0x0" online_cpuset="0x00020000,,,,,,0x00020000,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,0x0" online_cpuset="0x00020000,,,,,,0x00020000,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,0x0" online_cpuset="0x00020000,,,,,,0x00020000,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00020000,,,,,,0x00020000,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,0x0" online_cpuset="0x00020000,,,,,,0x00020000,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
+                    <object type="PU" os_index="49" cpuset="0x00020000,0x0" complete_cpuset="0x00020000,0x0" online_cpuset="0x00020000,0x0" allowed_cpuset="0x00020000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+                    <object type="PU" os_index="241" cpuset="0x00020000,,,,,,,0x0" complete_cpuset="0x00020000,,,,,,,0x0" online_cpuset="0x00020000,,,,,,,0x0" allowed_cpuset="0x00020000,,,,,,,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,0x0" online_cpuset="0x00040000,,,,,,0x00040000,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,0x0" online_cpuset="0x00040000,,,,,,0x00040000,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,0x0" online_cpuset="0x00040000,,,,,,0x00040000,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x00040000,,,,,,0x00040000,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,0x0" online_cpuset="0x00040000,,,,,,0x00040000,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
-                  <object type="PU" os_index="50" cpuset="0x00040000,0x0" complete_cpuset="0x00040000,0x0" online_cpuset="0x00040000,0x0" allowed_cpuset="0x00040000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
-                  <object type="PU" os_index="242" cpuset="0x00040000,,,,,,,0x0" complete_cpuset="0x00040000,,,,,,,0x0" online_cpuset="0x00040000,,,,,,,0x0" allowed_cpuset="0x00040000,,,,,,,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+            <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,0x0" online_cpuset="0x00040000,,,,,,0x00040000,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,0x0" online_cpuset="0x00040000,,,,,,0x00040000,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,0x0" online_cpuset="0x00040000,,,,,,0x00040000,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00040000,,,,,,0x00040000,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,0x0" online_cpuset="0x00040000,,,,,,0x00040000,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
+                    <object type="PU" os_index="50" cpuset="0x00040000,0x0" complete_cpuset="0x00040000,0x0" online_cpuset="0x00040000,0x0" allowed_cpuset="0x00040000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+                    <object type="PU" os_index="242" cpuset="0x00040000,,,,,,,0x0" complete_cpuset="0x00040000,,,,,,,0x0" online_cpuset="0x00040000,,,,,,,0x0" allowed_cpuset="0x00040000,,,,,,,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,0x0" online_cpuset="0x00080000,,,,,,0x00080000,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,0x0" online_cpuset="0x00080000,,,,,,0x00080000,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,0x0" online_cpuset="0x00080000,,,,,,0x00080000,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x00080000,,,,,,0x00080000,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,0x0" online_cpuset="0x00080000,,,,,,0x00080000,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
-                  <object type="PU" os_index="51" cpuset="0x00080000,0x0" complete_cpuset="0x00080000,0x0" online_cpuset="0x00080000,0x0" allowed_cpuset="0x00080000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
-                  <object type="PU" os_index="243" cpuset="0x00080000,,,,,,,0x0" complete_cpuset="0x00080000,,,,,,,0x0" online_cpuset="0x00080000,,,,,,,0x0" allowed_cpuset="0x00080000,,,,,,,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+            <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,0x0" online_cpuset="0x00080000,,,,,,0x00080000,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,0x0" online_cpuset="0x00080000,,,,,,0x00080000,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,0x0" online_cpuset="0x00080000,,,,,,0x00080000,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00080000,,,,,,0x00080000,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,0x0" online_cpuset="0x00080000,,,,,,0x00080000,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
+                    <object type="PU" os_index="51" cpuset="0x00080000,0x0" complete_cpuset="0x00080000,0x0" online_cpuset="0x00080000,0x0" allowed_cpuset="0x00080000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+                    <object type="PU" os_index="243" cpuset="0x00080000,,,,,,,0x0" complete_cpuset="0x00080000,,,,,,,0x0" online_cpuset="0x00080000,,,,,,,0x0" allowed_cpuset="0x00080000,,,,,,,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,0x0" online_cpuset="0x00100000,,,,,,0x00100000,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,0x0" online_cpuset="0x00100000,,,,,,0x00100000,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,0x0" online_cpuset="0x00100000,,,,,,0x00100000,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x00100000,,,,,,0x00100000,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,0x0" online_cpuset="0x00100000,,,,,,0x00100000,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
-                  <object type="PU" os_index="52" cpuset="0x00100000,0x0" complete_cpuset="0x00100000,0x0" online_cpuset="0x00100000,0x0" allowed_cpuset="0x00100000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
-                  <object type="PU" os_index="244" cpuset="0x00100000,,,,,,,0x0" complete_cpuset="0x00100000,,,,,,,0x0" online_cpuset="0x00100000,,,,,,,0x0" allowed_cpuset="0x00100000,,,,,,,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+            <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,0x0" online_cpuset="0x00100000,,,,,,0x00100000,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,0x0" online_cpuset="0x00100000,,,,,,0x00100000,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,0x0" online_cpuset="0x00100000,,,,,,0x00100000,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00100000,,,,,,0x00100000,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,0x0" online_cpuset="0x00100000,,,,,,0x00100000,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
+                    <object type="PU" os_index="52" cpuset="0x00100000,0x0" complete_cpuset="0x00100000,0x0" online_cpuset="0x00100000,0x0" allowed_cpuset="0x00100000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+                    <object type="PU" os_index="244" cpuset="0x00100000,,,,,,,0x0" complete_cpuset="0x00100000,,,,,,,0x0" online_cpuset="0x00100000,,,,,,,0x0" allowed_cpuset="0x00100000,,,,,,,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,0x0" online_cpuset="0x00200000,,,,,,0x00200000,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,0x0" online_cpuset="0x00200000,,,,,,0x00200000,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,0x0" online_cpuset="0x00200000,,,,,,0x00200000,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x00200000,,,,,,0x00200000,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,0x0" online_cpuset="0x00200000,,,,,,0x00200000,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
-                  <object type="PU" os_index="53" cpuset="0x00200000,0x0" complete_cpuset="0x00200000,0x0" online_cpuset="0x00200000,0x0" allowed_cpuset="0x00200000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
-                  <object type="PU" os_index="245" cpuset="0x00200000,,,,,,,0x0" complete_cpuset="0x00200000,,,,,,,0x0" online_cpuset="0x00200000,,,,,,,0x0" allowed_cpuset="0x00200000,,,,,,,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+            <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,0x0" online_cpuset="0x00200000,,,,,,0x00200000,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,0x0" online_cpuset="0x00200000,,,,,,0x00200000,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,0x0" online_cpuset="0x00200000,,,,,,0x00200000,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00200000,,,,,,0x00200000,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,0x0" online_cpuset="0x00200000,,,,,,0x00200000,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
+                    <object type="PU" os_index="53" cpuset="0x00200000,0x0" complete_cpuset="0x00200000,0x0" online_cpuset="0x00200000,0x0" allowed_cpuset="0x00200000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+                    <object type="PU" os_index="245" cpuset="0x00200000,,,,,,,0x0" complete_cpuset="0x00200000,,,,,,,0x0" online_cpuset="0x00200000,,,,,,,0x0" allowed_cpuset="0x00200000,,,,,,,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,0x0" online_cpuset="0x00400000,,,,,,0x00400000,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,0x0" online_cpuset="0x00400000,,,,,,0x00400000,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,0x0" online_cpuset="0x00400000,,,,,,0x00400000,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x00400000,,,,,,0x00400000,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,0x0" online_cpuset="0x00400000,,,,,,0x00400000,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
-                  <object type="PU" os_index="54" cpuset="0x00400000,0x0" complete_cpuset="0x00400000,0x0" online_cpuset="0x00400000,0x0" allowed_cpuset="0x00400000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
-                  <object type="PU" os_index="246" cpuset="0x00400000,,,,,,,0x0" complete_cpuset="0x00400000,,,,,,,0x0" online_cpuset="0x00400000,,,,,,,0x0" allowed_cpuset="0x00400000,,,,,,,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+            <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,0x0" online_cpuset="0x00400000,,,,,,0x00400000,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,0x0" online_cpuset="0x00400000,,,,,,0x00400000,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,0x0" online_cpuset="0x00400000,,,,,,0x00400000,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00400000,,,,,,0x00400000,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,0x0" online_cpuset="0x00400000,,,,,,0x00400000,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
+                    <object type="PU" os_index="54" cpuset="0x00400000,0x0" complete_cpuset="0x00400000,0x0" online_cpuset="0x00400000,0x0" allowed_cpuset="0x00400000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+                    <object type="PU" os_index="246" cpuset="0x00400000,,,,,,,0x0" complete_cpuset="0x00400000,,,,,,,0x0" online_cpuset="0x00400000,,,,,,,0x0" allowed_cpuset="0x00400000,,,,,,,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,0x0" online_cpuset="0x00800000,,,,,,0x00800000,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,0x0" online_cpuset="0x00800000,,,,,,0x00800000,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,0x0" online_cpuset="0x00800000,,,,,,0x00800000,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x00800000,,,,,,0x00800000,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,0x0" online_cpuset="0x00800000,,,,,,0x00800000,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
-                  <object type="PU" os_index="55" cpuset="0x00800000,0x0" complete_cpuset="0x00800000,0x0" online_cpuset="0x00800000,0x0" allowed_cpuset="0x00800000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
-                  <object type="PU" os_index="247" cpuset="0x00800000,,,,,,,0x0" complete_cpuset="0x00800000,,,,,,,0x0" online_cpuset="0x00800000,,,,,,,0x0" allowed_cpuset="0x00800000,,,,,,,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+            <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,0x0" online_cpuset="0x00800000,,,,,,0x00800000,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,0x0" online_cpuset="0x00800000,,,,,,0x00800000,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,0x0" online_cpuset="0x00800000,,,,,,0x00800000,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00800000,,,,,,0x00800000,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,0x0" online_cpuset="0x00800000,,,,,,0x00800000,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040">
+                    <object type="PU" os_index="55" cpuset="0x00800000,0x0" complete_cpuset="0x00800000,0x0" online_cpuset="0x00800000,0x0" allowed_cpuset="0x00800000,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+                    <object type="PU" os_index="247" cpuset="0x00800000,,,,,,,0x0" complete_cpuset="0x00800000,,,,,,,0x0" online_cpuset="0x00800000,,,,,,,0x0" allowed_cpuset="0x00800000,,,,,,,0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x00000040"/>
+                  </object>
                 </object>
               </object>
             </object>
           </object>
         </object>
-      </object>
-      <object type="Bridge" os_index="3" bridge_type="0-1" depth="0" bridge_pci="0003:[00-01]">
-        <object type="Bridge" os_index="3145776" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="0" bridge_pci="0003:[01-01]" pci_busid="0003:00:03.0" pci_type="0604 [8086:3c08] [00ff:0000] 07" pci_link_speed="0.000000">
-          <info name="PCIVendor" value="Intel Corporation"/>
-          <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
-          <object type="PCIDev" os_index="3149824" name="Mellanox Technologies MT27500 Family [ConnectX-3]" pci_busid="0003:01:00.0" pci_type="0280 [15b3:1003] [00b3:0051] 00" pci_link_speed="0.000000">
-            <info name="PCIVendor" value="Mellanox Technologies"/>
-            <info name="PCIDevice" value="MT27500 Family [ConnectX-3]"/>
-            <object type="OSDev" name="ib0" osdev_type="2">
-              <info name="Address" value="80:00:00:48:fe:80:00:00:00:00:00:00:00:02:c9:03:00:1b:b0:a1"/>
-              <info name="Port" value="1"/>
-            </object>
-            <object type="OSDev" name="mlx4_0" osdev_type="3">
-              <info name="NodeGUID" value="0002:c903:001b:b0a0"/>
-              <info name="SysImageGUID" value="0002:c903:001b:b0a3"/>
-              <info name="Port1LID" value="0x0"/>
-              <info name="Port1LMC" value="0"/>
-              <info name="Port1GID0" value="fe80:0000:0000:0000:0002:c903:001b:b0a1"/>
+        <object type="Bridge" os_index="3" bridge_type="0-1" depth="0" bridge_pci="0003:[00-01]">
+          <object type="Bridge" os_index="3145776" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0003:[01-01]" pci_busid="0003:00:03.0" pci_type="0604 [8086:3c08] [00ff:0000] 07" pci_link_speed="0.000000">
+            <info name="PCIVendor" value="Intel Corporation"/>
+            <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
+            <object type="PCIDev" os_index="3149824" name="Mellanox Technologies MT27500 Family [ConnectX-3]" pci_busid="0003:01:00.0" pci_type="0280 [15b3:1003] [00b3:0051] 00" pci_link_speed="0.000000">
+              <info name="PCIVendor" value="Mellanox Technologies"/>
+              <info name="PCIDevice" value="MT27500 Family [ConnectX-3]"/>
+              <object type="OSDev" name="ib0" osdev_type="2">
+                <info name="Address" value="80:00:00:48:fe:80:00:00:00:00:00:00:00:02:c9:03:00:1b:b0:a1"/>
+                <info name="Port" value="1"/>
+              </object>
+              <object type="OSDev" name="mlx4_0" osdev_type="3">
+                <info name="NodeGUID" value="0002:c903:001b:b0a0"/>
+                <info name="SysImageGUID" value="0002:c903:001b:b0a3"/>
+                <info name="Port1LID" value="0x0"/>
+                <info name="Port1LMC" value="0"/>
+                <info name="Port1GID0" value="fe80:0000:0000:0000:0002:c903:001b:b0a1"/>
+              </object>
             </object>
           </object>
         </object>
       </object>
-    </object>
-    <object type="NUMANode" os_index="7" cpuset="0xff000000,,,,,,0xff000000,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,0x0" online_cpuset="0xff000000,,,,,,0xff000000,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="7" cpuset="0xff000000,,,,,,0xff000000,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,0x0" online_cpuset="0xff000000,,,,,,0xff000000,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0xff000000,,,,,,0xff000000,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,0x0" online_cpuset="0xff000000,,,,,,0xff000000,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,0x0" online_cpuset="0x01000000,,,,,,0x01000000,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,0x0" online_cpuset="0x01000000,,,,,,0x01000000,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,0x0" online_cpuset="0x01000000,,,,,,0x01000000,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x01000000,,,,,,0x01000000,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,0x0" online_cpuset="0x01000000,,,,,,0x01000000,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
-                  <object type="PU" os_index="56" cpuset="0x01000000,0x0" complete_cpuset="0x01000000,0x0" online_cpuset="0x01000000,0x0" allowed_cpuset="0x01000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
-                  <object type="PU" os_index="248" cpuset="0x01000000,,,,,,,0x0" complete_cpuset="0x01000000,,,,,,,0x0" online_cpuset="0x01000000,,,,,,,0x0" allowed_cpuset="0x01000000,,,,,,,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+      <object type="NUMANode" os_index="7" cpuset="0xff000000,,,,,,0xff000000,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,0x0" online_cpuset="0xff000000,,,,,,0xff000000,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="7" cpuset="0xff000000,,,,,,0xff000000,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,0x0" online_cpuset="0xff000000,,,,,,0xff000000,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0xff000000,,,,,,0xff000000,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,0x0" online_cpuset="0xff000000,,,,,,0xff000000,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,0x0" online_cpuset="0x01000000,,,,,,0x01000000,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,0x0" online_cpuset="0x01000000,,,,,,0x01000000,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,0x0" online_cpuset="0x01000000,,,,,,0x01000000,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x01000000,,,,,,0x01000000,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,0x0" online_cpuset="0x01000000,,,,,,0x01000000,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
+                    <object type="PU" os_index="56" cpuset="0x01000000,0x0" complete_cpuset="0x01000000,0x0" online_cpuset="0x01000000,0x0" allowed_cpuset="0x01000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+                    <object type="PU" os_index="248" cpuset="0x01000000,,,,,,,0x0" complete_cpuset="0x01000000,,,,,,,0x0" online_cpuset="0x01000000,,,,,,,0x0" allowed_cpuset="0x01000000,,,,,,,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,0x0" online_cpuset="0x02000000,,,,,,0x02000000,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,0x0" online_cpuset="0x02000000,,,,,,0x02000000,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,0x0" online_cpuset="0x02000000,,,,,,0x02000000,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x02000000,,,,,,0x02000000,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,0x0" online_cpuset="0x02000000,,,,,,0x02000000,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
-                  <object type="PU" os_index="57" cpuset="0x02000000,0x0" complete_cpuset="0x02000000,0x0" online_cpuset="0x02000000,0x0" allowed_cpuset="0x02000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
-                  <object type="PU" os_index="249" cpuset="0x02000000,,,,,,,0x0" complete_cpuset="0x02000000,,,,,,,0x0" online_cpuset="0x02000000,,,,,,,0x0" allowed_cpuset="0x02000000,,,,,,,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+            <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,0x0" online_cpuset="0x02000000,,,,,,0x02000000,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,0x0" online_cpuset="0x02000000,,,,,,0x02000000,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,0x0" online_cpuset="0x02000000,,,,,,0x02000000,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x02000000,,,,,,0x02000000,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,0x0" online_cpuset="0x02000000,,,,,,0x02000000,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
+                    <object type="PU" os_index="57" cpuset="0x02000000,0x0" complete_cpuset="0x02000000,0x0" online_cpuset="0x02000000,0x0" allowed_cpuset="0x02000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+                    <object type="PU" os_index="249" cpuset="0x02000000,,,,,,,0x0" complete_cpuset="0x02000000,,,,,,,0x0" online_cpuset="0x02000000,,,,,,,0x0" allowed_cpuset="0x02000000,,,,,,,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,0x0" online_cpuset="0x04000000,,,,,,0x04000000,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,0x0" online_cpuset="0x04000000,,,,,,0x04000000,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,0x0" online_cpuset="0x04000000,,,,,,0x04000000,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x04000000,,,,,,0x04000000,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,0x0" online_cpuset="0x04000000,,,,,,0x04000000,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
-                  <object type="PU" os_index="58" cpuset="0x04000000,0x0" complete_cpuset="0x04000000,0x0" online_cpuset="0x04000000,0x0" allowed_cpuset="0x04000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
-                  <object type="PU" os_index="250" cpuset="0x04000000,,,,,,,0x0" complete_cpuset="0x04000000,,,,,,,0x0" online_cpuset="0x04000000,,,,,,,0x0" allowed_cpuset="0x04000000,,,,,,,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+            <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,0x0" online_cpuset="0x04000000,,,,,,0x04000000,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,0x0" online_cpuset="0x04000000,,,,,,0x04000000,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,0x0" online_cpuset="0x04000000,,,,,,0x04000000,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x04000000,,,,,,0x04000000,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,0x0" online_cpuset="0x04000000,,,,,,0x04000000,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
+                    <object type="PU" os_index="58" cpuset="0x04000000,0x0" complete_cpuset="0x04000000,0x0" online_cpuset="0x04000000,0x0" allowed_cpuset="0x04000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+                    <object type="PU" os_index="250" cpuset="0x04000000,,,,,,,0x0" complete_cpuset="0x04000000,,,,,,,0x0" online_cpuset="0x04000000,,,,,,,0x0" allowed_cpuset="0x04000000,,,,,,,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,0x0" online_cpuset="0x08000000,,,,,,0x08000000,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,0x0" online_cpuset="0x08000000,,,,,,0x08000000,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,0x0" online_cpuset="0x08000000,,,,,,0x08000000,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x08000000,,,,,,0x08000000,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,0x0" online_cpuset="0x08000000,,,,,,0x08000000,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
-                  <object type="PU" os_index="59" cpuset="0x08000000,0x0" complete_cpuset="0x08000000,0x0" online_cpuset="0x08000000,0x0" allowed_cpuset="0x08000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
-                  <object type="PU" os_index="251" cpuset="0x08000000,,,,,,,0x0" complete_cpuset="0x08000000,,,,,,,0x0" online_cpuset="0x08000000,,,,,,,0x0" allowed_cpuset="0x08000000,,,,,,,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+            <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,0x0" online_cpuset="0x08000000,,,,,,0x08000000,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,0x0" online_cpuset="0x08000000,,,,,,0x08000000,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,0x0" online_cpuset="0x08000000,,,,,,0x08000000,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x08000000,,,,,,0x08000000,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,0x0" online_cpuset="0x08000000,,,,,,0x08000000,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
+                    <object type="PU" os_index="59" cpuset="0x08000000,0x0" complete_cpuset="0x08000000,0x0" online_cpuset="0x08000000,0x0" allowed_cpuset="0x08000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+                    <object type="PU" os_index="251" cpuset="0x08000000,,,,,,,0x0" complete_cpuset="0x08000000,,,,,,,0x0" online_cpuset="0x08000000,,,,,,,0x0" allowed_cpuset="0x08000000,,,,,,,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,0x0" online_cpuset="0x10000000,,,,,,0x10000000,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,0x0" online_cpuset="0x10000000,,,,,,0x10000000,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,0x0" online_cpuset="0x10000000,,,,,,0x10000000,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x10000000,,,,,,0x10000000,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,0x0" online_cpuset="0x10000000,,,,,,0x10000000,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
-                  <object type="PU" os_index="60" cpuset="0x10000000,0x0" complete_cpuset="0x10000000,0x0" online_cpuset="0x10000000,0x0" allowed_cpuset="0x10000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
-                  <object type="PU" os_index="252" cpuset="0x10000000,,,,,,,0x0" complete_cpuset="0x10000000,,,,,,,0x0" online_cpuset="0x10000000,,,,,,,0x0" allowed_cpuset="0x10000000,,,,,,,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+            <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,0x0" online_cpuset="0x10000000,,,,,,0x10000000,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,0x0" online_cpuset="0x10000000,,,,,,0x10000000,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,0x0" online_cpuset="0x10000000,,,,,,0x10000000,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x10000000,,,,,,0x10000000,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,0x0" online_cpuset="0x10000000,,,,,,0x10000000,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
+                    <object type="PU" os_index="60" cpuset="0x10000000,0x0" complete_cpuset="0x10000000,0x0" online_cpuset="0x10000000,0x0" allowed_cpuset="0x10000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+                    <object type="PU" os_index="252" cpuset="0x10000000,,,,,,,0x0" complete_cpuset="0x10000000,,,,,,,0x0" online_cpuset="0x10000000,,,,,,,0x0" allowed_cpuset="0x10000000,,,,,,,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,0x0" online_cpuset="0x20000000,,,,,,0x20000000,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,0x0" online_cpuset="0x20000000,,,,,,0x20000000,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,0x0" online_cpuset="0x20000000,,,,,,0x20000000,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x20000000,,,,,,0x20000000,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,0x0" online_cpuset="0x20000000,,,,,,0x20000000,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
-                  <object type="PU" os_index="61" cpuset="0x20000000,0x0" complete_cpuset="0x20000000,0x0" online_cpuset="0x20000000,0x0" allowed_cpuset="0x20000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
-                  <object type="PU" os_index="253" cpuset="0x20000000,,,,,,,0x0" complete_cpuset="0x20000000,,,,,,,0x0" online_cpuset="0x20000000,,,,,,,0x0" allowed_cpuset="0x20000000,,,,,,,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+            <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,0x0" online_cpuset="0x20000000,,,,,,0x20000000,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,0x0" online_cpuset="0x20000000,,,,,,0x20000000,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,0x0" online_cpuset="0x20000000,,,,,,0x20000000,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x20000000,,,,,,0x20000000,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,0x0" online_cpuset="0x20000000,,,,,,0x20000000,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
+                    <object type="PU" os_index="61" cpuset="0x20000000,0x0" complete_cpuset="0x20000000,0x0" online_cpuset="0x20000000,0x0" allowed_cpuset="0x20000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+                    <object type="PU" os_index="253" cpuset="0x20000000,,,,,,,0x0" complete_cpuset="0x20000000,,,,,,,0x0" online_cpuset="0x20000000,,,,,,,0x0" allowed_cpuset="0x20000000,,,,,,,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,0x0" online_cpuset="0x40000000,,,,,,0x40000000,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,0x0" online_cpuset="0x40000000,,,,,,0x40000000,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,0x0" online_cpuset="0x40000000,,,,,,0x40000000,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x40000000,,,,,,0x40000000,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,0x0" online_cpuset="0x40000000,,,,,,0x40000000,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
-                  <object type="PU" os_index="62" cpuset="0x40000000,0x0" complete_cpuset="0x40000000,0x0" online_cpuset="0x40000000,0x0" allowed_cpuset="0x40000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
-                  <object type="PU" os_index="254" cpuset="0x40000000,,,,,,,0x0" complete_cpuset="0x40000000,,,,,,,0x0" online_cpuset="0x40000000,,,,,,,0x0" allowed_cpuset="0x40000000,,,,,,,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+            <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,0x0" online_cpuset="0x40000000,,,,,,0x40000000,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,0x0" online_cpuset="0x40000000,,,,,,0x40000000,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,0x0" online_cpuset="0x40000000,,,,,,0x40000000,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x40000000,,,,,,0x40000000,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,0x0" online_cpuset="0x40000000,,,,,,0x40000000,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
+                    <object type="PU" os_index="62" cpuset="0x40000000,0x0" complete_cpuset="0x40000000,0x0" online_cpuset="0x40000000,0x0" allowed_cpuset="0x40000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+                    <object type="PU" os_index="254" cpuset="0x40000000,,,,,,,0x0" complete_cpuset="0x40000000,,,,,,,0x0" online_cpuset="0x40000000,,,,,,,0x0" allowed_cpuset="0x40000000,,,,,,,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,0x0" online_cpuset="0x80000000,,,,,,0x80000000,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,0x0" online_cpuset="0x80000000,,,,,,0x80000000,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,0x0" online_cpuset="0x80000000,,,,,,0x80000000,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x80000000,,,,,,0x80000000,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,0x0" online_cpuset="0x80000000,,,,,,0x80000000,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
-                  <object type="PU" os_index="63" cpuset="0x80000000,0x0" complete_cpuset="0x80000000,0x0" online_cpuset="0x80000000,0x0" allowed_cpuset="0x80000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
-                  <object type="PU" os_index="255" cpuset="0x80000000,,,,,,,0x0" complete_cpuset="0x80000000,,,,,,,0x0" online_cpuset="0x80000000,,,,,,,0x0" allowed_cpuset="0x80000000,,,,,,,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+            <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,0x0" online_cpuset="0x80000000,,,,,,0x80000000,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,0x0" online_cpuset="0x80000000,,,,,,0x80000000,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,0x0" online_cpuset="0x80000000,,,,,,0x80000000,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x80000000,,,,,,0x80000000,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,0x0" online_cpuset="0x80000000,,,,,,0x80000000,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080">
+                    <object type="PU" os_index="63" cpuset="0x80000000,0x0" complete_cpuset="0x80000000,0x0" online_cpuset="0x80000000,0x0" allowed_cpuset="0x80000000,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+                    <object type="PU" os_index="255" cpuset="0x80000000,,,,,,,0x0" complete_cpuset="0x80000000,,,,,,,0x0" online_cpuset="0x80000000,,,,,,,0x0" allowed_cpuset="0x80000000,,,,,,,0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x00000080"/>
+                  </object>
                 </object>
               </object>
             </object>
@@ -1446,187 +1454,189 @@
         </object>
       </object>
     </object>
-    <object type="NUMANode" os_index="8" cpuset="0x000000ff,,,,,,0x000000ff,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="8" cpuset="0x000000ff,,,,,,0x000000ff,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x00000001,,,,,,0x00000001,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100">
-                  <object type="PU" os_index="64" cpuset="0x00000001,,0x0" complete_cpuset="0x00000001,,0x0" online_cpuset="0x00000001,,0x0" allowed_cpuset="0x00000001,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
-                  <object type="PU" os_index="256" cpuset="0x00000001,,,,,,,,0x0" complete_cpuset="0x00000001,,,,,,,,0x0" online_cpuset="0x00000001,,,,,,,,0x0" allowed_cpuset="0x00000001,,,,,,,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+    <object type="Group" cpuset="0x0000ffff,,,,,,0x0000ffff,,0x0" complete_cpuset="0x0000ffff,,,,,,0x0000ffff,,0x0" online_cpuset="0x0000ffff,,,,,,0x0000ffff,,0x0" allowed_cpuset="0x0000ffff,,,,,,0x0000ffff,,0x0" nodeset="0x00000300" complete_nodeset="0x00000300" allowed_nodeset="0x00000300" depth="0">
+      <object type="NUMANode" os_index="8" cpuset="0x000000ff,,,,,,0x000000ff,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="8" cpuset="0x000000ff,,,,,,0x000000ff,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00000001,,,,,,0x00000001,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100">
+                    <object type="PU" os_index="64" cpuset="0x00000001,,0x0" complete_cpuset="0x00000001,,0x0" online_cpuset="0x00000001,,0x0" allowed_cpuset="0x00000001,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+                    <object type="PU" os_index="256" cpuset="0x00000001,,,,,,,,0x0" complete_cpuset="0x00000001,,,,,,,,0x0" online_cpuset="0x00000001,,,,,,,,0x0" allowed_cpuset="0x00000001,,,,,,,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x00000002,,,,,,0x00000002,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100">
-                  <object type="PU" os_index="65" cpuset="0x00000002,,0x0" complete_cpuset="0x00000002,,0x0" online_cpuset="0x00000002,,0x0" allowed_cpuset="0x00000002,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
-                  <object type="PU" os_index="257" cpuset="0x00000002,,,,,,,,0x0" complete_cpuset="0x00000002,,,,,,,,0x0" online_cpuset="0x00000002,,,,,,,,0x0" allowed_cpuset="0x00000002,,,,,,,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+            <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00000002,,,,,,0x00000002,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100">
+                    <object type="PU" os_index="65" cpuset="0x00000002,,0x0" complete_cpuset="0x00000002,,0x0" online_cpuset="0x00000002,,0x0" allowed_cpuset="0x00000002,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+                    <object type="PU" os_index="257" cpuset="0x00000002,,,,,,,,0x0" complete_cpuset="0x00000002,,,,,,,,0x0" online_cpuset="0x00000002,,,,,,,,0x0" allowed_cpuset="0x00000002,,,,,,,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x00000004,,,,,,0x00000004,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100">
-                  <object type="PU" os_index="66" cpuset="0x00000004,,0x0" complete_cpuset="0x00000004,,0x0" online_cpuset="0x00000004,,0x0" allowed_cpuset="0x00000004,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
-                  <object type="PU" os_index="258" cpuset="0x00000004,,,,,,,,0x0" complete_cpuset="0x00000004,,,,,,,,0x0" online_cpuset="0x00000004,,,,,,,,0x0" allowed_cpuset="0x00000004,,,,,,,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+            <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00000004,,,,,,0x00000004,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100">
+                    <object type="PU" os_index="66" cpuset="0x00000004,,0x0" complete_cpuset="0x00000004,,0x0" online_cpuset="0x00000004,,0x0" allowed_cpuset="0x00000004,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+                    <object type="PU" os_index="258" cpuset="0x00000004,,,,,,,,0x0" complete_cpuset="0x00000004,,,,,,,,0x0" online_cpuset="0x00000004,,,,,,,,0x0" allowed_cpuset="0x00000004,,,,,,,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x00000008,,,,,,0x00000008,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100">
-                  <object type="PU" os_index="67" cpuset="0x00000008,,0x0" complete_cpuset="0x00000008,,0x0" online_cpuset="0x00000008,,0x0" allowed_cpuset="0x00000008,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
-                  <object type="PU" os_index="259" cpuset="0x00000008,,,,,,,,0x0" complete_cpuset="0x00000008,,,,,,,,0x0" online_cpuset="0x00000008,,,,,,,,0x0" allowed_cpuset="0x00000008,,,,,,,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+            <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00000008,,,,,,0x00000008,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100">
+                    <object type="PU" os_index="67" cpuset="0x00000008,,0x0" complete_cpuset="0x00000008,,0x0" online_cpuset="0x00000008,,0x0" allowed_cpuset="0x00000008,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+                    <object type="PU" os_index="259" cpuset="0x00000008,,,,,,,,0x0" complete_cpuset="0x00000008,,,,,,,,0x0" online_cpuset="0x00000008,,,,,,,,0x0" allowed_cpuset="0x00000008,,,,,,,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x00000010,,,,,,0x00000010,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100">
-                  <object type="PU" os_index="68" cpuset="0x00000010,,0x0" complete_cpuset="0x00000010,,0x0" online_cpuset="0x00000010,,0x0" allowed_cpuset="0x00000010,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
-                  <object type="PU" os_index="260" cpuset="0x00000010,,,,,,,,0x0" complete_cpuset="0x00000010,,,,,,,,0x0" online_cpuset="0x00000010,,,,,,,,0x0" allowed_cpuset="0x00000010,,,,,,,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+            <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00000010,,,,,,0x00000010,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100">
+                    <object type="PU" os_index="68" cpuset="0x00000010,,0x0" complete_cpuset="0x00000010,,0x0" online_cpuset="0x00000010,,0x0" allowed_cpuset="0x00000010,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+                    <object type="PU" os_index="260" cpuset="0x00000010,,,,,,,,0x0" complete_cpuset="0x00000010,,,,,,,,0x0" online_cpuset="0x00000010,,,,,,,,0x0" allowed_cpuset="0x00000010,,,,,,,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x00000020,,,,,,0x00000020,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100">
-                  <object type="PU" os_index="69" cpuset="0x00000020,,0x0" complete_cpuset="0x00000020,,0x0" online_cpuset="0x00000020,,0x0" allowed_cpuset="0x00000020,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
-                  <object type="PU" os_index="261" cpuset="0x00000020,,,,,,,,0x0" complete_cpuset="0x00000020,,,,,,,,0x0" online_cpuset="0x00000020,,,,,,,,0x0" allowed_cpuset="0x00000020,,,,,,,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+            <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00000020,,,,,,0x00000020,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100">
+                    <object type="PU" os_index="69" cpuset="0x00000020,,0x0" complete_cpuset="0x00000020,,0x0" online_cpuset="0x00000020,,0x0" allowed_cpuset="0x00000020,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+                    <object type="PU" os_index="261" cpuset="0x00000020,,,,,,,,0x0" complete_cpuset="0x00000020,,,,,,,,0x0" online_cpuset="0x00000020,,,,,,,,0x0" allowed_cpuset="0x00000020,,,,,,,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x00000040,,,,,,0x00000040,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100">
-                  <object type="PU" os_index="70" cpuset="0x00000040,,0x0" complete_cpuset="0x00000040,,0x0" online_cpuset="0x00000040,,0x0" allowed_cpuset="0x00000040,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
-                  <object type="PU" os_index="262" cpuset="0x00000040,,,,,,,,0x0" complete_cpuset="0x00000040,,,,,,,,0x0" online_cpuset="0x00000040,,,,,,,,0x0" allowed_cpuset="0x00000040,,,,,,,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+            <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00000040,,,,,,0x00000040,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100">
+                    <object type="PU" os_index="70" cpuset="0x00000040,,0x0" complete_cpuset="0x00000040,,0x0" online_cpuset="0x00000040,,0x0" allowed_cpuset="0x00000040,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+                    <object type="PU" os_index="262" cpuset="0x00000040,,,,,,,,0x0" complete_cpuset="0x00000040,,,,,,,,0x0" online_cpuset="0x00000040,,,,,,,,0x0" allowed_cpuset="0x00000040,,,,,,,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x00000080,,,,,,0x00000080,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100">
-                  <object type="PU" os_index="71" cpuset="0x00000080,,0x0" complete_cpuset="0x00000080,,0x0" online_cpuset="0x00000080,,0x0" allowed_cpuset="0x00000080,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
-                  <object type="PU" os_index="263" cpuset="0x00000080,,,,,,,,0x0" complete_cpuset="0x00000080,,,,,,,,0x0" online_cpuset="0x00000080,,,,,,,,0x0" allowed_cpuset="0x00000080,,,,,,,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+            <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00000080,,,,,,0x00000080,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100">
+                    <object type="PU" os_index="71" cpuset="0x00000080,,0x0" complete_cpuset="0x00000080,,0x0" online_cpuset="0x00000080,,0x0" allowed_cpuset="0x00000080,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+                    <object type="PU" os_index="263" cpuset="0x00000080,,,,,,,,0x0" complete_cpuset="0x00000080,,,,,,,,0x0" online_cpuset="0x00000080,,,,,,,,0x0" allowed_cpuset="0x00000080,,,,,,,,0x0" nodeset="0x00000100" complete_nodeset="0x00000100" allowed_nodeset="0x00000100"/>
+                  </object>
                 </object>
               </object>
             </object>
           </object>
         </object>
-      </object>
-      <object type="Bridge" os_index="4" bridge_type="0-1" depth="0" bridge_pci="0004:[00-02]">
-        <object type="Bridge" os_index="4194352" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="0" bridge_pci="0004:[01-02]" pci_busid="0004:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
-          <info name="PCIVendor" value="Intel Corporation"/>
-          <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
-          <object type="PCIDev" os_index="4198400" name="LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon]" pci_busid="0004:01:00.0" pci_type="0107 [1000:0072] [0000:0080] 03" pci_link_speed="0.000000">
-            <info name="PCIVendor" value="LSI Logic / Symbios Logic"/>
-            <info name="PCIDevice" value="SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon]"/>
+        <object type="Bridge" os_index="4" bridge_type="0-1" depth="0" bridge_pci="0004:[00-02]">
+          <object type="Bridge" os_index="4194352" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0004:[01-02]" pci_busid="0004:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
+            <info name="PCIVendor" value="Intel Corporation"/>
+            <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
+            <object type="PCIDev" os_index="4198400" name="LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon]" pci_busid="0004:01:00.0" pci_type="0107 [1000:0072] [0000:0080] 03" pci_link_speed="0.000000">
+              <info name="PCIVendor" value="LSI Logic / Symbios Logic"/>
+              <info name="PCIDevice" value="SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon]"/>
+            </object>
           </object>
         </object>
       </object>
-    </object>
-    <object type="NUMANode" os_index="9" cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="9" cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x00000100,,,,,,0x00000100,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200">
-                  <object type="PU" os_index="72" cpuset="0x00000100,,0x0" complete_cpuset="0x00000100,,0x0" online_cpuset="0x00000100,,0x0" allowed_cpuset="0x00000100,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
-                  <object type="PU" os_index="264" cpuset="0x00000100,,,,,,,,0x0" complete_cpuset="0x00000100,,,,,,,,0x0" online_cpuset="0x00000100,,,,,,,,0x0" allowed_cpuset="0x00000100,,,,,,,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+      <object type="NUMANode" os_index="9" cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="9" cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00000100,,,,,,0x00000100,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200">
+                    <object type="PU" os_index="72" cpuset="0x00000100,,0x0" complete_cpuset="0x00000100,,0x0" online_cpuset="0x00000100,,0x0" allowed_cpuset="0x00000100,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+                    <object type="PU" os_index="264" cpuset="0x00000100,,,,,,,,0x0" complete_cpuset="0x00000100,,,,,,,,0x0" online_cpuset="0x00000100,,,,,,,,0x0" allowed_cpuset="0x00000100,,,,,,,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x00000200,,,,,,0x00000200,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200">
-                  <object type="PU" os_index="73" cpuset="0x00000200,,0x0" complete_cpuset="0x00000200,,0x0" online_cpuset="0x00000200,,0x0" allowed_cpuset="0x00000200,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
-                  <object type="PU" os_index="265" cpuset="0x00000200,,,,,,,,0x0" complete_cpuset="0x00000200,,,,,,,,0x0" online_cpuset="0x00000200,,,,,,,,0x0" allowed_cpuset="0x00000200,,,,,,,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+            <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00000200,,,,,,0x00000200,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200">
+                    <object type="PU" os_index="73" cpuset="0x00000200,,0x0" complete_cpuset="0x00000200,,0x0" online_cpuset="0x00000200,,0x0" allowed_cpuset="0x00000200,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+                    <object type="PU" os_index="265" cpuset="0x00000200,,,,,,,,0x0" complete_cpuset="0x00000200,,,,,,,,0x0" online_cpuset="0x00000200,,,,,,,,0x0" allowed_cpuset="0x00000200,,,,,,,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x00000400,,,,,,0x00000400,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200">
-                  <object type="PU" os_index="74" cpuset="0x00000400,,0x0" complete_cpuset="0x00000400,,0x0" online_cpuset="0x00000400,,0x0" allowed_cpuset="0x00000400,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
-                  <object type="PU" os_index="266" cpuset="0x00000400,,,,,,,,0x0" complete_cpuset="0x00000400,,,,,,,,0x0" online_cpuset="0x00000400,,,,,,,,0x0" allowed_cpuset="0x00000400,,,,,,,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+            <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00000400,,,,,,0x00000400,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200">
+                    <object type="PU" os_index="74" cpuset="0x00000400,,0x0" complete_cpuset="0x00000400,,0x0" online_cpuset="0x00000400,,0x0" allowed_cpuset="0x00000400,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+                    <object type="PU" os_index="266" cpuset="0x00000400,,,,,,,,0x0" complete_cpuset="0x00000400,,,,,,,,0x0" online_cpuset="0x00000400,,,,,,,,0x0" allowed_cpuset="0x00000400,,,,,,,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x00000800,,,,,,0x00000800,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200">
-                  <object type="PU" os_index="75" cpuset="0x00000800,,0x0" complete_cpuset="0x00000800,,0x0" online_cpuset="0x00000800,,0x0" allowed_cpuset="0x00000800,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
-                  <object type="PU" os_index="267" cpuset="0x00000800,,,,,,,,0x0" complete_cpuset="0x00000800,,,,,,,,0x0" online_cpuset="0x00000800,,,,,,,,0x0" allowed_cpuset="0x00000800,,,,,,,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+            <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00000800,,,,,,0x00000800,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200">
+                    <object type="PU" os_index="75" cpuset="0x00000800,,0x0" complete_cpuset="0x00000800,,0x0" online_cpuset="0x00000800,,0x0" allowed_cpuset="0x00000800,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+                    <object type="PU" os_index="267" cpuset="0x00000800,,,,,,,,0x0" complete_cpuset="0x00000800,,,,,,,,0x0" online_cpuset="0x00000800,,,,,,,,0x0" allowed_cpuset="0x00000800,,,,,,,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x00001000,,,,,,0x00001000,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200">
-                  <object type="PU" os_index="76" cpuset="0x00001000,,0x0" complete_cpuset="0x00001000,,0x0" online_cpuset="0x00001000,,0x0" allowed_cpuset="0x00001000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
-                  <object type="PU" os_index="268" cpuset="0x00001000,,,,,,,,0x0" complete_cpuset="0x00001000,,,,,,,,0x0" online_cpuset="0x00001000,,,,,,,,0x0" allowed_cpuset="0x00001000,,,,,,,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+            <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00001000,,,,,,0x00001000,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200">
+                    <object type="PU" os_index="76" cpuset="0x00001000,,0x0" complete_cpuset="0x00001000,,0x0" online_cpuset="0x00001000,,0x0" allowed_cpuset="0x00001000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+                    <object type="PU" os_index="268" cpuset="0x00001000,,,,,,,,0x0" complete_cpuset="0x00001000,,,,,,,,0x0" online_cpuset="0x00001000,,,,,,,,0x0" allowed_cpuset="0x00001000,,,,,,,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x00002000,,,,,,0x00002000,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200">
-                  <object type="PU" os_index="77" cpuset="0x00002000,,0x0" complete_cpuset="0x00002000,,0x0" online_cpuset="0x00002000,,0x0" allowed_cpuset="0x00002000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
-                  <object type="PU" os_index="269" cpuset="0x00002000,,,,,,,,0x0" complete_cpuset="0x00002000,,,,,,,,0x0" online_cpuset="0x00002000,,,,,,,,0x0" allowed_cpuset="0x00002000,,,,,,,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+            <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00002000,,,,,,0x00002000,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200">
+                    <object type="PU" os_index="77" cpuset="0x00002000,,0x0" complete_cpuset="0x00002000,,0x0" online_cpuset="0x00002000,,0x0" allowed_cpuset="0x00002000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+                    <object type="PU" os_index="269" cpuset="0x00002000,,,,,,,,0x0" complete_cpuset="0x00002000,,,,,,,,0x0" online_cpuset="0x00002000,,,,,,,,0x0" allowed_cpuset="0x00002000,,,,,,,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x00004000,,,,,,0x00004000,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200">
-                  <object type="PU" os_index="78" cpuset="0x00004000,,0x0" complete_cpuset="0x00004000,,0x0" online_cpuset="0x00004000,,0x0" allowed_cpuset="0x00004000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
-                  <object type="PU" os_index="270" cpuset="0x00004000,,,,,,,,0x0" complete_cpuset="0x00004000,,,,,,,,0x0" online_cpuset="0x00004000,,,,,,,,0x0" allowed_cpuset="0x00004000,,,,,,,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+            <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00004000,,,,,,0x00004000,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200">
+                    <object type="PU" os_index="78" cpuset="0x00004000,,0x0" complete_cpuset="0x00004000,,0x0" online_cpuset="0x00004000,,0x0" allowed_cpuset="0x00004000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+                    <object type="PU" os_index="270" cpuset="0x00004000,,,,,,,,0x0" complete_cpuset="0x00004000,,,,,,,,0x0" online_cpuset="0x00004000,,,,,,,,0x0" allowed_cpuset="0x00004000,,,,,,,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x00008000,,,,,,0x00008000,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200">
-                  <object type="PU" os_index="79" cpuset="0x00008000,,0x0" complete_cpuset="0x00008000,,0x0" online_cpuset="0x00008000,,0x0" allowed_cpuset="0x00008000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
-                  <object type="PU" os_index="271" cpuset="0x00008000,,,,,,,,0x0" complete_cpuset="0x00008000,,,,,,,,0x0" online_cpuset="0x00008000,,,,,,,,0x0" allowed_cpuset="0x00008000,,,,,,,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+            <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00008000,,,,,,0x00008000,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200">
+                    <object type="PU" os_index="79" cpuset="0x00008000,,0x0" complete_cpuset="0x00008000,,0x0" online_cpuset="0x00008000,,0x0" allowed_cpuset="0x00008000,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+                    <object type="PU" os_index="271" cpuset="0x00008000,,,,,,,,0x0" complete_cpuset="0x00008000,,,,,,,,0x0" online_cpuset="0x00008000,,,,,,,,0x0" allowed_cpuset="0x00008000,,,,,,,,0x0" nodeset="0x00000200" complete_nodeset="0x00000200" allowed_nodeset="0x00000200"/>
+                  </object>
                 </object>
               </object>
             </object>
@@ -1634,177 +1644,179 @@
         </object>
       </object>
     </object>
-    <object type="NUMANode" os_index="10" cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="10" cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x00010000,,,,,,0x00010000,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400">
-                  <object type="PU" os_index="80" cpuset="0x00010000,,0x0" complete_cpuset="0x00010000,,0x0" online_cpuset="0x00010000,,0x0" allowed_cpuset="0x00010000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
-                  <object type="PU" os_index="272" cpuset="0x00010000,,,,,,,,0x0" complete_cpuset="0x00010000,,,,,,,,0x0" online_cpuset="0x00010000,,,,,,,,0x0" allowed_cpuset="0x00010000,,,,,,,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+    <object type="Group" cpuset="0xffff0000,,,,,,0xffff0000,,0x0" complete_cpuset="0xffff0000,,,,,,0xffff0000,,0x0" online_cpuset="0xffff0000,,,,,,0xffff0000,,0x0" allowed_cpuset="0xffff0000,,,,,,0xffff0000,,0x0" nodeset="0x00000c00" complete_nodeset="0x00000c00" allowed_nodeset="0x00000c00" depth="0">
+      <object type="NUMANode" os_index="10" cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="10" cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00010000,,,,,,0x00010000,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400">
+                    <object type="PU" os_index="80" cpuset="0x00010000,,0x0" complete_cpuset="0x00010000,,0x0" online_cpuset="0x00010000,,0x0" allowed_cpuset="0x00010000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+                    <object type="PU" os_index="272" cpuset="0x00010000,,,,,,,,0x0" complete_cpuset="0x00010000,,,,,,,,0x0" online_cpuset="0x00010000,,,,,,,,0x0" allowed_cpuset="0x00010000,,,,,,,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x00020000,,,,,,0x00020000,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400">
-                  <object type="PU" os_index="81" cpuset="0x00020000,,0x0" complete_cpuset="0x00020000,,0x0" online_cpuset="0x00020000,,0x0" allowed_cpuset="0x00020000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
-                  <object type="PU" os_index="273" cpuset="0x00020000,,,,,,,,0x0" complete_cpuset="0x00020000,,,,,,,,0x0" online_cpuset="0x00020000,,,,,,,,0x0" allowed_cpuset="0x00020000,,,,,,,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+            <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00020000,,,,,,0x00020000,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400">
+                    <object type="PU" os_index="81" cpuset="0x00020000,,0x0" complete_cpuset="0x00020000,,0x0" online_cpuset="0x00020000,,0x0" allowed_cpuset="0x00020000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+                    <object type="PU" os_index="273" cpuset="0x00020000,,,,,,,,0x0" complete_cpuset="0x00020000,,,,,,,,0x0" online_cpuset="0x00020000,,,,,,,,0x0" allowed_cpuset="0x00020000,,,,,,,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x00040000,,,,,,0x00040000,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400">
-                  <object type="PU" os_index="82" cpuset="0x00040000,,0x0" complete_cpuset="0x00040000,,0x0" online_cpuset="0x00040000,,0x0" allowed_cpuset="0x00040000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
-                  <object type="PU" os_index="274" cpuset="0x00040000,,,,,,,,0x0" complete_cpuset="0x00040000,,,,,,,,0x0" online_cpuset="0x00040000,,,,,,,,0x0" allowed_cpuset="0x00040000,,,,,,,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+            <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00040000,,,,,,0x00040000,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400">
+                    <object type="PU" os_index="82" cpuset="0x00040000,,0x0" complete_cpuset="0x00040000,,0x0" online_cpuset="0x00040000,,0x0" allowed_cpuset="0x00040000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+                    <object type="PU" os_index="274" cpuset="0x00040000,,,,,,,,0x0" complete_cpuset="0x00040000,,,,,,,,0x0" online_cpuset="0x00040000,,,,,,,,0x0" allowed_cpuset="0x00040000,,,,,,,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x00080000,,,,,,0x00080000,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400">
-                  <object type="PU" os_index="83" cpuset="0x00080000,,0x0" complete_cpuset="0x00080000,,0x0" online_cpuset="0x00080000,,0x0" allowed_cpuset="0x00080000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
-                  <object type="PU" os_index="275" cpuset="0x00080000,,,,,,,,0x0" complete_cpuset="0x00080000,,,,,,,,0x0" online_cpuset="0x00080000,,,,,,,,0x0" allowed_cpuset="0x00080000,,,,,,,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+            <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00080000,,,,,,0x00080000,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400">
+                    <object type="PU" os_index="83" cpuset="0x00080000,,0x0" complete_cpuset="0x00080000,,0x0" online_cpuset="0x00080000,,0x0" allowed_cpuset="0x00080000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+                    <object type="PU" os_index="275" cpuset="0x00080000,,,,,,,,0x0" complete_cpuset="0x00080000,,,,,,,,0x0" online_cpuset="0x00080000,,,,,,,,0x0" allowed_cpuset="0x00080000,,,,,,,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x00100000,,,,,,0x00100000,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400">
-                  <object type="PU" os_index="84" cpuset="0x00100000,,0x0" complete_cpuset="0x00100000,,0x0" online_cpuset="0x00100000,,0x0" allowed_cpuset="0x00100000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
-                  <object type="PU" os_index="276" cpuset="0x00100000,,,,,,,,0x0" complete_cpuset="0x00100000,,,,,,,,0x0" online_cpuset="0x00100000,,,,,,,,0x0" allowed_cpuset="0x00100000,,,,,,,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+            <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00100000,,,,,,0x00100000,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400">
+                    <object type="PU" os_index="84" cpuset="0x00100000,,0x0" complete_cpuset="0x00100000,,0x0" online_cpuset="0x00100000,,0x0" allowed_cpuset="0x00100000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+                    <object type="PU" os_index="276" cpuset="0x00100000,,,,,,,,0x0" complete_cpuset="0x00100000,,,,,,,,0x0" online_cpuset="0x00100000,,,,,,,,0x0" allowed_cpuset="0x00100000,,,,,,,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x00200000,,,,,,0x00200000,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400">
-                  <object type="PU" os_index="85" cpuset="0x00200000,,0x0" complete_cpuset="0x00200000,,0x0" online_cpuset="0x00200000,,0x0" allowed_cpuset="0x00200000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
-                  <object type="PU" os_index="277" cpuset="0x00200000,,,,,,,,0x0" complete_cpuset="0x00200000,,,,,,,,0x0" online_cpuset="0x00200000,,,,,,,,0x0" allowed_cpuset="0x00200000,,,,,,,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+            <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00200000,,,,,,0x00200000,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400">
+                    <object type="PU" os_index="85" cpuset="0x00200000,,0x0" complete_cpuset="0x00200000,,0x0" online_cpuset="0x00200000,,0x0" allowed_cpuset="0x00200000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+                    <object type="PU" os_index="277" cpuset="0x00200000,,,,,,,,0x0" complete_cpuset="0x00200000,,,,,,,,0x0" online_cpuset="0x00200000,,,,,,,,0x0" allowed_cpuset="0x00200000,,,,,,,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x00400000,,,,,,0x00400000,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400">
-                  <object type="PU" os_index="86" cpuset="0x00400000,,0x0" complete_cpuset="0x00400000,,0x0" online_cpuset="0x00400000,,0x0" allowed_cpuset="0x00400000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
-                  <object type="PU" os_index="278" cpuset="0x00400000,,,,,,,,0x0" complete_cpuset="0x00400000,,,,,,,,0x0" online_cpuset="0x00400000,,,,,,,,0x0" allowed_cpuset="0x00400000,,,,,,,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+            <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00400000,,,,,,0x00400000,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400">
+                    <object type="PU" os_index="86" cpuset="0x00400000,,0x0" complete_cpuset="0x00400000,,0x0" online_cpuset="0x00400000,,0x0" allowed_cpuset="0x00400000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+                    <object type="PU" os_index="278" cpuset="0x00400000,,,,,,,,0x0" complete_cpuset="0x00400000,,,,,,,,0x0" online_cpuset="0x00400000,,,,,,,,0x0" allowed_cpuset="0x00400000,,,,,,,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x00800000,,,,,,0x00800000,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400">
-                  <object type="PU" os_index="87" cpuset="0x00800000,,0x0" complete_cpuset="0x00800000,,0x0" online_cpuset="0x00800000,,0x0" allowed_cpuset="0x00800000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
-                  <object type="PU" os_index="279" cpuset="0x00800000,,,,,,,,0x0" complete_cpuset="0x00800000,,,,,,,,0x0" online_cpuset="0x00800000,,,,,,,,0x0" allowed_cpuset="0x00800000,,,,,,,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+            <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00800000,,,,,,0x00800000,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400">
+                    <object type="PU" os_index="87" cpuset="0x00800000,,0x0" complete_cpuset="0x00800000,,0x0" online_cpuset="0x00800000,,0x0" allowed_cpuset="0x00800000,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+                    <object type="PU" os_index="279" cpuset="0x00800000,,,,,,,,0x0" complete_cpuset="0x00800000,,,,,,,,0x0" online_cpuset="0x00800000,,,,,,,,0x0" allowed_cpuset="0x00800000,,,,,,,,0x0" nodeset="0x00000400" complete_nodeset="0x00000400" allowed_nodeset="0x00000400"/>
+                  </object>
                 </object>
               </object>
             </object>
           </object>
         </object>
       </object>
-    </object>
-    <object type="NUMANode" os_index="11" cpuset="0xff000000,,,,,,0xff000000,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="11" cpuset="0xff000000,,,,,,0xff000000,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0xff000000,,,,,,0xff000000,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x01000000,,,,,,0x01000000,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800">
-                  <object type="PU" os_index="88" cpuset="0x01000000,,0x0" complete_cpuset="0x01000000,,0x0" online_cpuset="0x01000000,,0x0" allowed_cpuset="0x01000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
-                  <object type="PU" os_index="280" cpuset="0x01000000,,,,,,,,0x0" complete_cpuset="0x01000000,,,,,,,,0x0" online_cpuset="0x01000000,,,,,,,,0x0" allowed_cpuset="0x01000000,,,,,,,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+      <object type="NUMANode" os_index="11" cpuset="0xff000000,,,,,,0xff000000,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="11" cpuset="0xff000000,,,,,,0xff000000,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0xff000000,,,,,,0xff000000,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x01000000,,,,,,0x01000000,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800">
+                    <object type="PU" os_index="88" cpuset="0x01000000,,0x0" complete_cpuset="0x01000000,,0x0" online_cpuset="0x01000000,,0x0" allowed_cpuset="0x01000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+                    <object type="PU" os_index="280" cpuset="0x01000000,,,,,,,,0x0" complete_cpuset="0x01000000,,,,,,,,0x0" online_cpuset="0x01000000,,,,,,,,0x0" allowed_cpuset="0x01000000,,,,,,,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x02000000,,,,,,0x02000000,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800">
-                  <object type="PU" os_index="89" cpuset="0x02000000,,0x0" complete_cpuset="0x02000000,,0x0" online_cpuset="0x02000000,,0x0" allowed_cpuset="0x02000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
-                  <object type="PU" os_index="281" cpuset="0x02000000,,,,,,,,0x0" complete_cpuset="0x02000000,,,,,,,,0x0" online_cpuset="0x02000000,,,,,,,,0x0" allowed_cpuset="0x02000000,,,,,,,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+            <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x02000000,,,,,,0x02000000,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800">
+                    <object type="PU" os_index="89" cpuset="0x02000000,,0x0" complete_cpuset="0x02000000,,0x0" online_cpuset="0x02000000,,0x0" allowed_cpuset="0x02000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+                    <object type="PU" os_index="281" cpuset="0x02000000,,,,,,,,0x0" complete_cpuset="0x02000000,,,,,,,,0x0" online_cpuset="0x02000000,,,,,,,,0x0" allowed_cpuset="0x02000000,,,,,,,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x04000000,,,,,,0x04000000,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800">
-                  <object type="PU" os_index="90" cpuset="0x04000000,,0x0" complete_cpuset="0x04000000,,0x0" online_cpuset="0x04000000,,0x0" allowed_cpuset="0x04000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
-                  <object type="PU" os_index="282" cpuset="0x04000000,,,,,,,,0x0" complete_cpuset="0x04000000,,,,,,,,0x0" online_cpuset="0x04000000,,,,,,,,0x0" allowed_cpuset="0x04000000,,,,,,,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+            <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x04000000,,,,,,0x04000000,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800">
+                    <object type="PU" os_index="90" cpuset="0x04000000,,0x0" complete_cpuset="0x04000000,,0x0" online_cpuset="0x04000000,,0x0" allowed_cpuset="0x04000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+                    <object type="PU" os_index="282" cpuset="0x04000000,,,,,,,,0x0" complete_cpuset="0x04000000,,,,,,,,0x0" online_cpuset="0x04000000,,,,,,,,0x0" allowed_cpuset="0x04000000,,,,,,,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x08000000,,,,,,0x08000000,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800">
-                  <object type="PU" os_index="91" cpuset="0x08000000,,0x0" complete_cpuset="0x08000000,,0x0" online_cpuset="0x08000000,,0x0" allowed_cpuset="0x08000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
-                  <object type="PU" os_index="283" cpuset="0x08000000,,,,,,,,0x0" complete_cpuset="0x08000000,,,,,,,,0x0" online_cpuset="0x08000000,,,,,,,,0x0" allowed_cpuset="0x08000000,,,,,,,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+            <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x08000000,,,,,,0x08000000,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800">
+                    <object type="PU" os_index="91" cpuset="0x08000000,,0x0" complete_cpuset="0x08000000,,0x0" online_cpuset="0x08000000,,0x0" allowed_cpuset="0x08000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+                    <object type="PU" os_index="283" cpuset="0x08000000,,,,,,,,0x0" complete_cpuset="0x08000000,,,,,,,,0x0" online_cpuset="0x08000000,,,,,,,,0x0" allowed_cpuset="0x08000000,,,,,,,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x10000000,,,,,,0x10000000,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800">
-                  <object type="PU" os_index="92" cpuset="0x10000000,,0x0" complete_cpuset="0x10000000,,0x0" online_cpuset="0x10000000,,0x0" allowed_cpuset="0x10000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
-                  <object type="PU" os_index="284" cpuset="0x10000000,,,,,,,,0x0" complete_cpuset="0x10000000,,,,,,,,0x0" online_cpuset="0x10000000,,,,,,,,0x0" allowed_cpuset="0x10000000,,,,,,,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+            <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x10000000,,,,,,0x10000000,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800">
+                    <object type="PU" os_index="92" cpuset="0x10000000,,0x0" complete_cpuset="0x10000000,,0x0" online_cpuset="0x10000000,,0x0" allowed_cpuset="0x10000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+                    <object type="PU" os_index="284" cpuset="0x10000000,,,,,,,,0x0" complete_cpuset="0x10000000,,,,,,,,0x0" online_cpuset="0x10000000,,,,,,,,0x0" allowed_cpuset="0x10000000,,,,,,,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x20000000,,,,,,0x20000000,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800">
-                  <object type="PU" os_index="93" cpuset="0x20000000,,0x0" complete_cpuset="0x20000000,,0x0" online_cpuset="0x20000000,,0x0" allowed_cpuset="0x20000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
-                  <object type="PU" os_index="285" cpuset="0x20000000,,,,,,,,0x0" complete_cpuset="0x20000000,,,,,,,,0x0" online_cpuset="0x20000000,,,,,,,,0x0" allowed_cpuset="0x20000000,,,,,,,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+            <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x20000000,,,,,,0x20000000,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800">
+                    <object type="PU" os_index="93" cpuset="0x20000000,,0x0" complete_cpuset="0x20000000,,0x0" online_cpuset="0x20000000,,0x0" allowed_cpuset="0x20000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+                    <object type="PU" os_index="285" cpuset="0x20000000,,,,,,,,0x0" complete_cpuset="0x20000000,,,,,,,,0x0" online_cpuset="0x20000000,,,,,,,,0x0" allowed_cpuset="0x20000000,,,,,,,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x40000000,,,,,,0x40000000,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800">
-                  <object type="PU" os_index="94" cpuset="0x40000000,,0x0" complete_cpuset="0x40000000,,0x0" online_cpuset="0x40000000,,0x0" allowed_cpuset="0x40000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
-                  <object type="PU" os_index="286" cpuset="0x40000000,,,,,,,,0x0" complete_cpuset="0x40000000,,,,,,,,0x0" online_cpuset="0x40000000,,,,,,,,0x0" allowed_cpuset="0x40000000,,,,,,,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+            <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x40000000,,,,,,0x40000000,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800">
+                    <object type="PU" os_index="94" cpuset="0x40000000,,0x0" complete_cpuset="0x40000000,,0x0" online_cpuset="0x40000000,,0x0" allowed_cpuset="0x40000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+                    <object type="PU" os_index="286" cpuset="0x40000000,,,,,,,,0x0" complete_cpuset="0x40000000,,,,,,,,0x0" online_cpuset="0x40000000,,,,,,,,0x0" allowed_cpuset="0x40000000,,,,,,,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x80000000,,,,,,0x80000000,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800">
-                  <object type="PU" os_index="95" cpuset="0x80000000,,0x0" complete_cpuset="0x80000000,,0x0" online_cpuset="0x80000000,,0x0" allowed_cpuset="0x80000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
-                  <object type="PU" os_index="287" cpuset="0x80000000,,,,,,,,0x0" complete_cpuset="0x80000000,,,,,,,,0x0" online_cpuset="0x80000000,,,,,,,,0x0" allowed_cpuset="0x80000000,,,,,,,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+            <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x80000000,,,,,,0x80000000,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800">
+                    <object type="PU" os_index="95" cpuset="0x80000000,,0x0" complete_cpuset="0x80000000,,0x0" online_cpuset="0x80000000,,0x0" allowed_cpuset="0x80000000,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+                    <object type="PU" os_index="287" cpuset="0x80000000,,,,,,,,0x0" complete_cpuset="0x80000000,,,,,,,,0x0" online_cpuset="0x80000000,,,,,,,,0x0" allowed_cpuset="0x80000000,,,,,,,,0x0" nodeset="0x00000800" complete_nodeset="0x00000800" allowed_nodeset="0x00000800"/>
+                  </object>
                 </object>
               </object>
             </object>
@@ -1812,177 +1824,179 @@
         </object>
       </object>
     </object>
-    <object type="NUMANode" os_index="12" cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="12" cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x00000001,,,,,,0x00000001,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000">
-                  <object type="PU" os_index="96" cpuset="0x00000001,,,0x0" complete_cpuset="0x00000001,,,0x0" online_cpuset="0x00000001,,,0x0" allowed_cpuset="0x00000001,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
-                  <object type="PU" os_index="288" cpuset="0x00000001,,,,,,,,,0x0" complete_cpuset="0x00000001,,,,,,,,,0x0" online_cpuset="0x00000001,,,,,,,,,0x0" allowed_cpuset="0x00000001,,,,,,,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+    <object type="Group" cpuset="0x0000ffff,,,,,,0x0000ffff,,,0x0" complete_cpuset="0x0000ffff,,,,,,0x0000ffff,,,0x0" online_cpuset="0x0000ffff,,,,,,0x0000ffff,,,0x0" allowed_cpuset="0x0000ffff,,,,,,0x0000ffff,,,0x0" nodeset="0x00003000" complete_nodeset="0x00003000" allowed_nodeset="0x00003000" depth="0">
+      <object type="NUMANode" os_index="12" cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="12" cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00000001,,,,,,0x00000001,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000">
+                    <object type="PU" os_index="96" cpuset="0x00000001,,,0x0" complete_cpuset="0x00000001,,,0x0" online_cpuset="0x00000001,,,0x0" allowed_cpuset="0x00000001,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+                    <object type="PU" os_index="288" cpuset="0x00000001,,,,,,,,,0x0" complete_cpuset="0x00000001,,,,,,,,,0x0" online_cpuset="0x00000001,,,,,,,,,0x0" allowed_cpuset="0x00000001,,,,,,,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x00000002,,,,,,0x00000002,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000">
-                  <object type="PU" os_index="97" cpuset="0x00000002,,,0x0" complete_cpuset="0x00000002,,,0x0" online_cpuset="0x00000002,,,0x0" allowed_cpuset="0x00000002,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
-                  <object type="PU" os_index="289" cpuset="0x00000002,,,,,,,,,0x0" complete_cpuset="0x00000002,,,,,,,,,0x0" online_cpuset="0x00000002,,,,,,,,,0x0" allowed_cpuset="0x00000002,,,,,,,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+            <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00000002,,,,,,0x00000002,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000">
+                    <object type="PU" os_index="97" cpuset="0x00000002,,,0x0" complete_cpuset="0x00000002,,,0x0" online_cpuset="0x00000002,,,0x0" allowed_cpuset="0x00000002,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+                    <object type="PU" os_index="289" cpuset="0x00000002,,,,,,,,,0x0" complete_cpuset="0x00000002,,,,,,,,,0x0" online_cpuset="0x00000002,,,,,,,,,0x0" allowed_cpuset="0x00000002,,,,,,,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x00000004,,,,,,0x00000004,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000">
-                  <object type="PU" os_index="98" cpuset="0x00000004,,,0x0" complete_cpuset="0x00000004,,,0x0" online_cpuset="0x00000004,,,0x0" allowed_cpuset="0x00000004,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
-                  <object type="PU" os_index="290" cpuset="0x00000004,,,,,,,,,0x0" complete_cpuset="0x00000004,,,,,,,,,0x0" online_cpuset="0x00000004,,,,,,,,,0x0" allowed_cpuset="0x00000004,,,,,,,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+            <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00000004,,,,,,0x00000004,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000">
+                    <object type="PU" os_index="98" cpuset="0x00000004,,,0x0" complete_cpuset="0x00000004,,,0x0" online_cpuset="0x00000004,,,0x0" allowed_cpuset="0x00000004,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+                    <object type="PU" os_index="290" cpuset="0x00000004,,,,,,,,,0x0" complete_cpuset="0x00000004,,,,,,,,,0x0" online_cpuset="0x00000004,,,,,,,,,0x0" allowed_cpuset="0x00000004,,,,,,,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x00000008,,,,,,0x00000008,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000">
-                  <object type="PU" os_index="99" cpuset="0x00000008,,,0x0" complete_cpuset="0x00000008,,,0x0" online_cpuset="0x00000008,,,0x0" allowed_cpuset="0x00000008,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
-                  <object type="PU" os_index="291" cpuset="0x00000008,,,,,,,,,0x0" complete_cpuset="0x00000008,,,,,,,,,0x0" online_cpuset="0x00000008,,,,,,,,,0x0" allowed_cpuset="0x00000008,,,,,,,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+            <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00000008,,,,,,0x00000008,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000">
+                    <object type="PU" os_index="99" cpuset="0x00000008,,,0x0" complete_cpuset="0x00000008,,,0x0" online_cpuset="0x00000008,,,0x0" allowed_cpuset="0x00000008,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+                    <object type="PU" os_index="291" cpuset="0x00000008,,,,,,,,,0x0" complete_cpuset="0x00000008,,,,,,,,,0x0" online_cpuset="0x00000008,,,,,,,,,0x0" allowed_cpuset="0x00000008,,,,,,,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x00000010,,,,,,0x00000010,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000">
-                  <object type="PU" os_index="100" cpuset="0x00000010,,,0x0" complete_cpuset="0x00000010,,,0x0" online_cpuset="0x00000010,,,0x0" allowed_cpuset="0x00000010,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
-                  <object type="PU" os_index="292" cpuset="0x00000010,,,,,,,,,0x0" complete_cpuset="0x00000010,,,,,,,,,0x0" online_cpuset="0x00000010,,,,,,,,,0x0" allowed_cpuset="0x00000010,,,,,,,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+            <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00000010,,,,,,0x00000010,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000">
+                    <object type="PU" os_index="100" cpuset="0x00000010,,,0x0" complete_cpuset="0x00000010,,,0x0" online_cpuset="0x00000010,,,0x0" allowed_cpuset="0x00000010,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+                    <object type="PU" os_index="292" cpuset="0x00000010,,,,,,,,,0x0" complete_cpuset="0x00000010,,,,,,,,,0x0" online_cpuset="0x00000010,,,,,,,,,0x0" allowed_cpuset="0x00000010,,,,,,,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x00000020,,,,,,0x00000020,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000">
-                  <object type="PU" os_index="101" cpuset="0x00000020,,,0x0" complete_cpuset="0x00000020,,,0x0" online_cpuset="0x00000020,,,0x0" allowed_cpuset="0x00000020,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
-                  <object type="PU" os_index="293" cpuset="0x00000020,,,,,,,,,0x0" complete_cpuset="0x00000020,,,,,,,,,0x0" online_cpuset="0x00000020,,,,,,,,,0x0" allowed_cpuset="0x00000020,,,,,,,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+            <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00000020,,,,,,0x00000020,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000">
+                    <object type="PU" os_index="101" cpuset="0x00000020,,,0x0" complete_cpuset="0x00000020,,,0x0" online_cpuset="0x00000020,,,0x0" allowed_cpuset="0x00000020,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+                    <object type="PU" os_index="293" cpuset="0x00000020,,,,,,,,,0x0" complete_cpuset="0x00000020,,,,,,,,,0x0" online_cpuset="0x00000020,,,,,,,,,0x0" allowed_cpuset="0x00000020,,,,,,,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x00000040,,,,,,0x00000040,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000">
-                  <object type="PU" os_index="102" cpuset="0x00000040,,,0x0" complete_cpuset="0x00000040,,,0x0" online_cpuset="0x00000040,,,0x0" allowed_cpuset="0x00000040,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
-                  <object type="PU" os_index="294" cpuset="0x00000040,,,,,,,,,0x0" complete_cpuset="0x00000040,,,,,,,,,0x0" online_cpuset="0x00000040,,,,,,,,,0x0" allowed_cpuset="0x00000040,,,,,,,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+            <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00000040,,,,,,0x00000040,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000">
+                    <object type="PU" os_index="102" cpuset="0x00000040,,,0x0" complete_cpuset="0x00000040,,,0x0" online_cpuset="0x00000040,,,0x0" allowed_cpuset="0x00000040,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+                    <object type="PU" os_index="294" cpuset="0x00000040,,,,,,,,,0x0" complete_cpuset="0x00000040,,,,,,,,,0x0" online_cpuset="0x00000040,,,,,,,,,0x0" allowed_cpuset="0x00000040,,,,,,,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x00000080,,,,,,0x00000080,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000">
-                  <object type="PU" os_index="103" cpuset="0x00000080,,,0x0" complete_cpuset="0x00000080,,,0x0" online_cpuset="0x00000080,,,0x0" allowed_cpuset="0x00000080,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
-                  <object type="PU" os_index="295" cpuset="0x00000080,,,,,,,,,0x0" complete_cpuset="0x00000080,,,,,,,,,0x0" online_cpuset="0x00000080,,,,,,,,,0x0" allowed_cpuset="0x00000080,,,,,,,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+            <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00000080,,,,,,0x00000080,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000">
+                    <object type="PU" os_index="103" cpuset="0x00000080,,,0x0" complete_cpuset="0x00000080,,,0x0" online_cpuset="0x00000080,,,0x0" allowed_cpuset="0x00000080,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+                    <object type="PU" os_index="295" cpuset="0x00000080,,,,,,,,,0x0" complete_cpuset="0x00000080,,,,,,,,,0x0" online_cpuset="0x00000080,,,,,,,,,0x0" allowed_cpuset="0x00000080,,,,,,,,,0x0" nodeset="0x00001000" complete_nodeset="0x00001000" allowed_nodeset="0x00001000"/>
+                  </object>
                 </object>
               </object>
             </object>
           </object>
         </object>
       </object>
-    </object>
-    <object type="NUMANode" os_index="13" cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="13" cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x00000100,,,,,,0x00000100,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000">
-                  <object type="PU" os_index="104" cpuset="0x00000100,,,0x0" complete_cpuset="0x00000100,,,0x0" online_cpuset="0x00000100,,,0x0" allowed_cpuset="0x00000100,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
-                  <object type="PU" os_index="296" cpuset="0x00000100,,,,,,,,,0x0" complete_cpuset="0x00000100,,,,,,,,,0x0" online_cpuset="0x00000100,,,,,,,,,0x0" allowed_cpuset="0x00000100,,,,,,,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+      <object type="NUMANode" os_index="13" cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="13" cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00000100,,,,,,0x00000100,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000">
+                    <object type="PU" os_index="104" cpuset="0x00000100,,,0x0" complete_cpuset="0x00000100,,,0x0" online_cpuset="0x00000100,,,0x0" allowed_cpuset="0x00000100,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+                    <object type="PU" os_index="296" cpuset="0x00000100,,,,,,,,,0x0" complete_cpuset="0x00000100,,,,,,,,,0x0" online_cpuset="0x00000100,,,,,,,,,0x0" allowed_cpuset="0x00000100,,,,,,,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x00000200,,,,,,0x00000200,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000">
-                  <object type="PU" os_index="105" cpuset="0x00000200,,,0x0" complete_cpuset="0x00000200,,,0x0" online_cpuset="0x00000200,,,0x0" allowed_cpuset="0x00000200,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
-                  <object type="PU" os_index="297" cpuset="0x00000200,,,,,,,,,0x0" complete_cpuset="0x00000200,,,,,,,,,0x0" online_cpuset="0x00000200,,,,,,,,,0x0" allowed_cpuset="0x00000200,,,,,,,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+            <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00000200,,,,,,0x00000200,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000">
+                    <object type="PU" os_index="105" cpuset="0x00000200,,,0x0" complete_cpuset="0x00000200,,,0x0" online_cpuset="0x00000200,,,0x0" allowed_cpuset="0x00000200,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+                    <object type="PU" os_index="297" cpuset="0x00000200,,,,,,,,,0x0" complete_cpuset="0x00000200,,,,,,,,,0x0" online_cpuset="0x00000200,,,,,,,,,0x0" allowed_cpuset="0x00000200,,,,,,,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x00000400,,,,,,0x00000400,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000">
-                  <object type="PU" os_index="106" cpuset="0x00000400,,,0x0" complete_cpuset="0x00000400,,,0x0" online_cpuset="0x00000400,,,0x0" allowed_cpuset="0x00000400,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
-                  <object type="PU" os_index="298" cpuset="0x00000400,,,,,,,,,0x0" complete_cpuset="0x00000400,,,,,,,,,0x0" online_cpuset="0x00000400,,,,,,,,,0x0" allowed_cpuset="0x00000400,,,,,,,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+            <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00000400,,,,,,0x00000400,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000">
+                    <object type="PU" os_index="106" cpuset="0x00000400,,,0x0" complete_cpuset="0x00000400,,,0x0" online_cpuset="0x00000400,,,0x0" allowed_cpuset="0x00000400,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+                    <object type="PU" os_index="298" cpuset="0x00000400,,,,,,,,,0x0" complete_cpuset="0x00000400,,,,,,,,,0x0" online_cpuset="0x00000400,,,,,,,,,0x0" allowed_cpuset="0x00000400,,,,,,,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x00000800,,,,,,0x00000800,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000">
-                  <object type="PU" os_index="107" cpuset="0x00000800,,,0x0" complete_cpuset="0x00000800,,,0x0" online_cpuset="0x00000800,,,0x0" allowed_cpuset="0x00000800,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
-                  <object type="PU" os_index="299" cpuset="0x00000800,,,,,,,,,0x0" complete_cpuset="0x00000800,,,,,,,,,0x0" online_cpuset="0x00000800,,,,,,,,,0x0" allowed_cpuset="0x00000800,,,,,,,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+            <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00000800,,,,,,0x00000800,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000">
+                    <object type="PU" os_index="107" cpuset="0x00000800,,,0x0" complete_cpuset="0x00000800,,,0x0" online_cpuset="0x00000800,,,0x0" allowed_cpuset="0x00000800,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+                    <object type="PU" os_index="299" cpuset="0x00000800,,,,,,,,,0x0" complete_cpuset="0x00000800,,,,,,,,,0x0" online_cpuset="0x00000800,,,,,,,,,0x0" allowed_cpuset="0x00000800,,,,,,,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x00001000,,,,,,0x00001000,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000">
-                  <object type="PU" os_index="108" cpuset="0x00001000,,,0x0" complete_cpuset="0x00001000,,,0x0" online_cpuset="0x00001000,,,0x0" allowed_cpuset="0x00001000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
-                  <object type="PU" os_index="300" cpuset="0x00001000,,,,,,,,,0x0" complete_cpuset="0x00001000,,,,,,,,,0x0" online_cpuset="0x00001000,,,,,,,,,0x0" allowed_cpuset="0x00001000,,,,,,,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+            <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00001000,,,,,,0x00001000,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000">
+                    <object type="PU" os_index="108" cpuset="0x00001000,,,0x0" complete_cpuset="0x00001000,,,0x0" online_cpuset="0x00001000,,,0x0" allowed_cpuset="0x00001000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+                    <object type="PU" os_index="300" cpuset="0x00001000,,,,,,,,,0x0" complete_cpuset="0x00001000,,,,,,,,,0x0" online_cpuset="0x00001000,,,,,,,,,0x0" allowed_cpuset="0x00001000,,,,,,,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x00002000,,,,,,0x00002000,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000">
-                  <object type="PU" os_index="109" cpuset="0x00002000,,,0x0" complete_cpuset="0x00002000,,,0x0" online_cpuset="0x00002000,,,0x0" allowed_cpuset="0x00002000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
-                  <object type="PU" os_index="301" cpuset="0x00002000,,,,,,,,,0x0" complete_cpuset="0x00002000,,,,,,,,,0x0" online_cpuset="0x00002000,,,,,,,,,0x0" allowed_cpuset="0x00002000,,,,,,,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+            <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00002000,,,,,,0x00002000,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000">
+                    <object type="PU" os_index="109" cpuset="0x00002000,,,0x0" complete_cpuset="0x00002000,,,0x0" online_cpuset="0x00002000,,,0x0" allowed_cpuset="0x00002000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+                    <object type="PU" os_index="301" cpuset="0x00002000,,,,,,,,,0x0" complete_cpuset="0x00002000,,,,,,,,,0x0" online_cpuset="0x00002000,,,,,,,,,0x0" allowed_cpuset="0x00002000,,,,,,,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x00004000,,,,,,0x00004000,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000">
-                  <object type="PU" os_index="110" cpuset="0x00004000,,,0x0" complete_cpuset="0x00004000,,,0x0" online_cpuset="0x00004000,,,0x0" allowed_cpuset="0x00004000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
-                  <object type="PU" os_index="302" cpuset="0x00004000,,,,,,,,,0x0" complete_cpuset="0x00004000,,,,,,,,,0x0" online_cpuset="0x00004000,,,,,,,,,0x0" allowed_cpuset="0x00004000,,,,,,,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+            <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00004000,,,,,,0x00004000,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000">
+                    <object type="PU" os_index="110" cpuset="0x00004000,,,0x0" complete_cpuset="0x00004000,,,0x0" online_cpuset="0x00004000,,,0x0" allowed_cpuset="0x00004000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+                    <object type="PU" os_index="302" cpuset="0x00004000,,,,,,,,,0x0" complete_cpuset="0x00004000,,,,,,,,,0x0" online_cpuset="0x00004000,,,,,,,,,0x0" allowed_cpuset="0x00004000,,,,,,,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x00008000,,,,,,0x00008000,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000">
-                  <object type="PU" os_index="111" cpuset="0x00008000,,,0x0" complete_cpuset="0x00008000,,,0x0" online_cpuset="0x00008000,,,0x0" allowed_cpuset="0x00008000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
-                  <object type="PU" os_index="303" cpuset="0x00008000,,,,,,,,,0x0" complete_cpuset="0x00008000,,,,,,,,,0x0" online_cpuset="0x00008000,,,,,,,,,0x0" allowed_cpuset="0x00008000,,,,,,,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+            <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00008000,,,,,,0x00008000,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000">
+                    <object type="PU" os_index="111" cpuset="0x00008000,,,0x0" complete_cpuset="0x00008000,,,0x0" online_cpuset="0x00008000,,,0x0" allowed_cpuset="0x00008000,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+                    <object type="PU" os_index="303" cpuset="0x00008000,,,,,,,,,0x0" complete_cpuset="0x00008000,,,,,,,,,0x0" online_cpuset="0x00008000,,,,,,,,,0x0" allowed_cpuset="0x00008000,,,,,,,,,0x0" nodeset="0x00002000" complete_nodeset="0x00002000" allowed_nodeset="0x00002000"/>
+                  </object>
                 </object>
               </object>
             </object>
@@ -1990,177 +2004,179 @@
         </object>
       </object>
     </object>
-    <object type="NUMANode" os_index="14" cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="14" cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x00010000,,,,,,0x00010000,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000">
-                  <object type="PU" os_index="112" cpuset="0x00010000,,,0x0" complete_cpuset="0x00010000,,,0x0" online_cpuset="0x00010000,,,0x0" allowed_cpuset="0x00010000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
-                  <object type="PU" os_index="304" cpuset="0x00010000,,,,,,,,,0x0" complete_cpuset="0x00010000,,,,,,,,,0x0" online_cpuset="0x00010000,,,,,,,,,0x0" allowed_cpuset="0x00010000,,,,,,,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+    <object type="Group" cpuset="0xffff0000,,,,,,0xffff0000,,,0x0" complete_cpuset="0xffff0000,,,,,,0xffff0000,,,0x0" online_cpuset="0xffff0000,,,,,,0xffff0000,,,0x0" allowed_cpuset="0xffff0000,,,,,,0xffff0000,,,0x0" nodeset="0x0000c000" complete_nodeset="0x0000c000" allowed_nodeset="0x0000c000" depth="0">
+      <object type="NUMANode" os_index="14" cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="14" cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00010000,,,,,,0x00010000,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000">
+                    <object type="PU" os_index="112" cpuset="0x00010000,,,0x0" complete_cpuset="0x00010000,,,0x0" online_cpuset="0x00010000,,,0x0" allowed_cpuset="0x00010000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+                    <object type="PU" os_index="304" cpuset="0x00010000,,,,,,,,,0x0" complete_cpuset="0x00010000,,,,,,,,,0x0" online_cpuset="0x00010000,,,,,,,,,0x0" allowed_cpuset="0x00010000,,,,,,,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x00020000,,,,,,0x00020000,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000">
-                  <object type="PU" os_index="113" cpuset="0x00020000,,,0x0" complete_cpuset="0x00020000,,,0x0" online_cpuset="0x00020000,,,0x0" allowed_cpuset="0x00020000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
-                  <object type="PU" os_index="305" cpuset="0x00020000,,,,,,,,,0x0" complete_cpuset="0x00020000,,,,,,,,,0x0" online_cpuset="0x00020000,,,,,,,,,0x0" allowed_cpuset="0x00020000,,,,,,,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+            <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00020000,,,,,,0x00020000,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000">
+                    <object type="PU" os_index="113" cpuset="0x00020000,,,0x0" complete_cpuset="0x00020000,,,0x0" online_cpuset="0x00020000,,,0x0" allowed_cpuset="0x00020000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+                    <object type="PU" os_index="305" cpuset="0x00020000,,,,,,,,,0x0" complete_cpuset="0x00020000,,,,,,,,,0x0" online_cpuset="0x00020000,,,,,,,,,0x0" allowed_cpuset="0x00020000,,,,,,,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x00040000,,,,,,0x00040000,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000">
-                  <object type="PU" os_index="114" cpuset="0x00040000,,,0x0" complete_cpuset="0x00040000,,,0x0" online_cpuset="0x00040000,,,0x0" allowed_cpuset="0x00040000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
-                  <object type="PU" os_index="306" cpuset="0x00040000,,,,,,,,,0x0" complete_cpuset="0x00040000,,,,,,,,,0x0" online_cpuset="0x00040000,,,,,,,,,0x0" allowed_cpuset="0x00040000,,,,,,,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+            <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00040000,,,,,,0x00040000,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000">
+                    <object type="PU" os_index="114" cpuset="0x00040000,,,0x0" complete_cpuset="0x00040000,,,0x0" online_cpuset="0x00040000,,,0x0" allowed_cpuset="0x00040000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+                    <object type="PU" os_index="306" cpuset="0x00040000,,,,,,,,,0x0" complete_cpuset="0x00040000,,,,,,,,,0x0" online_cpuset="0x00040000,,,,,,,,,0x0" allowed_cpuset="0x00040000,,,,,,,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x00080000,,,,,,0x00080000,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000">
-                  <object type="PU" os_index="115" cpuset="0x00080000,,,0x0" complete_cpuset="0x00080000,,,0x0" online_cpuset="0x00080000,,,0x0" allowed_cpuset="0x00080000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
-                  <object type="PU" os_index="307" cpuset="0x00080000,,,,,,,,,0x0" complete_cpuset="0x00080000,,,,,,,,,0x0" online_cpuset="0x00080000,,,,,,,,,0x0" allowed_cpuset="0x00080000,,,,,,,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+            <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00080000,,,,,,0x00080000,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000">
+                    <object type="PU" os_index="115" cpuset="0x00080000,,,0x0" complete_cpuset="0x00080000,,,0x0" online_cpuset="0x00080000,,,0x0" allowed_cpuset="0x00080000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+                    <object type="PU" os_index="307" cpuset="0x00080000,,,,,,,,,0x0" complete_cpuset="0x00080000,,,,,,,,,0x0" online_cpuset="0x00080000,,,,,,,,,0x0" allowed_cpuset="0x00080000,,,,,,,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x00100000,,,,,,0x00100000,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000">
-                  <object type="PU" os_index="116" cpuset="0x00100000,,,0x0" complete_cpuset="0x00100000,,,0x0" online_cpuset="0x00100000,,,0x0" allowed_cpuset="0x00100000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
-                  <object type="PU" os_index="308" cpuset="0x00100000,,,,,,,,,0x0" complete_cpuset="0x00100000,,,,,,,,,0x0" online_cpuset="0x00100000,,,,,,,,,0x0" allowed_cpuset="0x00100000,,,,,,,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+            <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00100000,,,,,,0x00100000,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000">
+                    <object type="PU" os_index="116" cpuset="0x00100000,,,0x0" complete_cpuset="0x00100000,,,0x0" online_cpuset="0x00100000,,,0x0" allowed_cpuset="0x00100000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+                    <object type="PU" os_index="308" cpuset="0x00100000,,,,,,,,,0x0" complete_cpuset="0x00100000,,,,,,,,,0x0" online_cpuset="0x00100000,,,,,,,,,0x0" allowed_cpuset="0x00100000,,,,,,,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x00200000,,,,,,0x00200000,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000">
-                  <object type="PU" os_index="117" cpuset="0x00200000,,,0x0" complete_cpuset="0x00200000,,,0x0" online_cpuset="0x00200000,,,0x0" allowed_cpuset="0x00200000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
-                  <object type="PU" os_index="309" cpuset="0x00200000,,,,,,,,,0x0" complete_cpuset="0x00200000,,,,,,,,,0x0" online_cpuset="0x00200000,,,,,,,,,0x0" allowed_cpuset="0x00200000,,,,,,,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+            <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00200000,,,,,,0x00200000,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000">
+                    <object type="PU" os_index="117" cpuset="0x00200000,,,0x0" complete_cpuset="0x00200000,,,0x0" online_cpuset="0x00200000,,,0x0" allowed_cpuset="0x00200000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+                    <object type="PU" os_index="309" cpuset="0x00200000,,,,,,,,,0x0" complete_cpuset="0x00200000,,,,,,,,,0x0" online_cpuset="0x00200000,,,,,,,,,0x0" allowed_cpuset="0x00200000,,,,,,,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x00400000,,,,,,0x00400000,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000">
-                  <object type="PU" os_index="118" cpuset="0x00400000,,,0x0" complete_cpuset="0x00400000,,,0x0" online_cpuset="0x00400000,,,0x0" allowed_cpuset="0x00400000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
-                  <object type="PU" os_index="310" cpuset="0x00400000,,,,,,,,,0x0" complete_cpuset="0x00400000,,,,,,,,,0x0" online_cpuset="0x00400000,,,,,,,,,0x0" allowed_cpuset="0x00400000,,,,,,,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+            <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00400000,,,,,,0x00400000,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000">
+                    <object type="PU" os_index="118" cpuset="0x00400000,,,0x0" complete_cpuset="0x00400000,,,0x0" online_cpuset="0x00400000,,,0x0" allowed_cpuset="0x00400000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+                    <object type="PU" os_index="310" cpuset="0x00400000,,,,,,,,,0x0" complete_cpuset="0x00400000,,,,,,,,,0x0" online_cpuset="0x00400000,,,,,,,,,0x0" allowed_cpuset="0x00400000,,,,,,,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x00800000,,,,,,0x00800000,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000">
-                  <object type="PU" os_index="119" cpuset="0x00800000,,,0x0" complete_cpuset="0x00800000,,,0x0" online_cpuset="0x00800000,,,0x0" allowed_cpuset="0x00800000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
-                  <object type="PU" os_index="311" cpuset="0x00800000,,,,,,,,,0x0" complete_cpuset="0x00800000,,,,,,,,,0x0" online_cpuset="0x00800000,,,,,,,,,0x0" allowed_cpuset="0x00800000,,,,,,,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+            <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00800000,,,,,,0x00800000,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000">
+                    <object type="PU" os_index="119" cpuset="0x00800000,,,0x0" complete_cpuset="0x00800000,,,0x0" online_cpuset="0x00800000,,,0x0" allowed_cpuset="0x00800000,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+                    <object type="PU" os_index="311" cpuset="0x00800000,,,,,,,,,0x0" complete_cpuset="0x00800000,,,,,,,,,0x0" online_cpuset="0x00800000,,,,,,,,,0x0" allowed_cpuset="0x00800000,,,,,,,,,0x0" nodeset="0x00004000" complete_nodeset="0x00004000" allowed_nodeset="0x00004000"/>
+                  </object>
                 </object>
               </object>
             </object>
           </object>
         </object>
       </object>
-    </object>
-    <object type="NUMANode" os_index="15" cpuset="0xff000000,,,,,,0xff000000,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="15" cpuset="0xff000000,,,,,,0xff000000,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0xff000000,,,,,,0xff000000,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x01000000,,,,,,0x01000000,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000">
-                  <object type="PU" os_index="120" cpuset="0x01000000,,,0x0" complete_cpuset="0x01000000,,,0x0" online_cpuset="0x01000000,,,0x0" allowed_cpuset="0x01000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
-                  <object type="PU" os_index="312" cpuset="0x01000000,,,,,,,,,0x0" complete_cpuset="0x01000000,,,,,,,,,0x0" online_cpuset="0x01000000,,,,,,,,,0x0" allowed_cpuset="0x01000000,,,,,,,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+      <object type="NUMANode" os_index="15" cpuset="0xff000000,,,,,,0xff000000,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="15" cpuset="0xff000000,,,,,,0xff000000,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0xff000000,,,,,,0xff000000,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x01000000,,,,,,0x01000000,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000">
+                    <object type="PU" os_index="120" cpuset="0x01000000,,,0x0" complete_cpuset="0x01000000,,,0x0" online_cpuset="0x01000000,,,0x0" allowed_cpuset="0x01000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+                    <object type="PU" os_index="312" cpuset="0x01000000,,,,,,,,,0x0" complete_cpuset="0x01000000,,,,,,,,,0x0" online_cpuset="0x01000000,,,,,,,,,0x0" allowed_cpuset="0x01000000,,,,,,,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x02000000,,,,,,0x02000000,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000">
-                  <object type="PU" os_index="121" cpuset="0x02000000,,,0x0" complete_cpuset="0x02000000,,,0x0" online_cpuset="0x02000000,,,0x0" allowed_cpuset="0x02000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
-                  <object type="PU" os_index="313" cpuset="0x02000000,,,,,,,,,0x0" complete_cpuset="0x02000000,,,,,,,,,0x0" online_cpuset="0x02000000,,,,,,,,,0x0" allowed_cpuset="0x02000000,,,,,,,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+            <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x02000000,,,,,,0x02000000,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000">
+                    <object type="PU" os_index="121" cpuset="0x02000000,,,0x0" complete_cpuset="0x02000000,,,0x0" online_cpuset="0x02000000,,,0x0" allowed_cpuset="0x02000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+                    <object type="PU" os_index="313" cpuset="0x02000000,,,,,,,,,0x0" complete_cpuset="0x02000000,,,,,,,,,0x0" online_cpuset="0x02000000,,,,,,,,,0x0" allowed_cpuset="0x02000000,,,,,,,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x04000000,,,,,,0x04000000,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000">
-                  <object type="PU" os_index="122" cpuset="0x04000000,,,0x0" complete_cpuset="0x04000000,,,0x0" online_cpuset="0x04000000,,,0x0" allowed_cpuset="0x04000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
-                  <object type="PU" os_index="314" cpuset="0x04000000,,,,,,,,,0x0" complete_cpuset="0x04000000,,,,,,,,,0x0" online_cpuset="0x04000000,,,,,,,,,0x0" allowed_cpuset="0x04000000,,,,,,,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+            <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x04000000,,,,,,0x04000000,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000">
+                    <object type="PU" os_index="122" cpuset="0x04000000,,,0x0" complete_cpuset="0x04000000,,,0x0" online_cpuset="0x04000000,,,0x0" allowed_cpuset="0x04000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+                    <object type="PU" os_index="314" cpuset="0x04000000,,,,,,,,,0x0" complete_cpuset="0x04000000,,,,,,,,,0x0" online_cpuset="0x04000000,,,,,,,,,0x0" allowed_cpuset="0x04000000,,,,,,,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x08000000,,,,,,0x08000000,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000">
-                  <object type="PU" os_index="123" cpuset="0x08000000,,,0x0" complete_cpuset="0x08000000,,,0x0" online_cpuset="0x08000000,,,0x0" allowed_cpuset="0x08000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
-                  <object type="PU" os_index="315" cpuset="0x08000000,,,,,,,,,0x0" complete_cpuset="0x08000000,,,,,,,,,0x0" online_cpuset="0x08000000,,,,,,,,,0x0" allowed_cpuset="0x08000000,,,,,,,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+            <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x08000000,,,,,,0x08000000,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000">
+                    <object type="PU" os_index="123" cpuset="0x08000000,,,0x0" complete_cpuset="0x08000000,,,0x0" online_cpuset="0x08000000,,,0x0" allowed_cpuset="0x08000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+                    <object type="PU" os_index="315" cpuset="0x08000000,,,,,,,,,0x0" complete_cpuset="0x08000000,,,,,,,,,0x0" online_cpuset="0x08000000,,,,,,,,,0x0" allowed_cpuset="0x08000000,,,,,,,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x10000000,,,,,,0x10000000,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000">
-                  <object type="PU" os_index="124" cpuset="0x10000000,,,0x0" complete_cpuset="0x10000000,,,0x0" online_cpuset="0x10000000,,,0x0" allowed_cpuset="0x10000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
-                  <object type="PU" os_index="316" cpuset="0x10000000,,,,,,,,,0x0" complete_cpuset="0x10000000,,,,,,,,,0x0" online_cpuset="0x10000000,,,,,,,,,0x0" allowed_cpuset="0x10000000,,,,,,,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+            <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x10000000,,,,,,0x10000000,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000">
+                    <object type="PU" os_index="124" cpuset="0x10000000,,,0x0" complete_cpuset="0x10000000,,,0x0" online_cpuset="0x10000000,,,0x0" allowed_cpuset="0x10000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+                    <object type="PU" os_index="316" cpuset="0x10000000,,,,,,,,,0x0" complete_cpuset="0x10000000,,,,,,,,,0x0" online_cpuset="0x10000000,,,,,,,,,0x0" allowed_cpuset="0x10000000,,,,,,,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x20000000,,,,,,0x20000000,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000">
-                  <object type="PU" os_index="125" cpuset="0x20000000,,,0x0" complete_cpuset="0x20000000,,,0x0" online_cpuset="0x20000000,,,0x0" allowed_cpuset="0x20000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
-                  <object type="PU" os_index="317" cpuset="0x20000000,,,,,,,,,0x0" complete_cpuset="0x20000000,,,,,,,,,0x0" online_cpuset="0x20000000,,,,,,,,,0x0" allowed_cpuset="0x20000000,,,,,,,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+            <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x20000000,,,,,,0x20000000,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000">
+                    <object type="PU" os_index="125" cpuset="0x20000000,,,0x0" complete_cpuset="0x20000000,,,0x0" online_cpuset="0x20000000,,,0x0" allowed_cpuset="0x20000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+                    <object type="PU" os_index="317" cpuset="0x20000000,,,,,,,,,0x0" complete_cpuset="0x20000000,,,,,,,,,0x0" online_cpuset="0x20000000,,,,,,,,,0x0" allowed_cpuset="0x20000000,,,,,,,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x40000000,,,,,,0x40000000,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000">
-                  <object type="PU" os_index="126" cpuset="0x40000000,,,0x0" complete_cpuset="0x40000000,,,0x0" online_cpuset="0x40000000,,,0x0" allowed_cpuset="0x40000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
-                  <object type="PU" os_index="318" cpuset="0x40000000,,,,,,,,,0x0" complete_cpuset="0x40000000,,,,,,,,,0x0" online_cpuset="0x40000000,,,,,,,,,0x0" allowed_cpuset="0x40000000,,,,,,,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+            <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x40000000,,,,,,0x40000000,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000">
+                    <object type="PU" os_index="126" cpuset="0x40000000,,,0x0" complete_cpuset="0x40000000,,,0x0" online_cpuset="0x40000000,,,0x0" allowed_cpuset="0x40000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+                    <object type="PU" os_index="318" cpuset="0x40000000,,,,,,,,,0x0" complete_cpuset="0x40000000,,,,,,,,,0x0" online_cpuset="0x40000000,,,,,,,,,0x0" allowed_cpuset="0x40000000,,,,,,,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x80000000,,,,,,0x80000000,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000">
-                  <object type="PU" os_index="127" cpuset="0x80000000,,,0x0" complete_cpuset="0x80000000,,,0x0" online_cpuset="0x80000000,,,0x0" allowed_cpuset="0x80000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
-                  <object type="PU" os_index="319" cpuset="0x80000000,,,,,,,,,0x0" complete_cpuset="0x80000000,,,,,,,,,0x0" online_cpuset="0x80000000,,,,,,,,,0x0" allowed_cpuset="0x80000000,,,,,,,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+            <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x80000000,,,,,,0x80000000,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000">
+                    <object type="PU" os_index="127" cpuset="0x80000000,,,0x0" complete_cpuset="0x80000000,,,0x0" online_cpuset="0x80000000,,,0x0" allowed_cpuset="0x80000000,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+                    <object type="PU" os_index="319" cpuset="0x80000000,,,,,,,,,0x0" complete_cpuset="0x80000000,,,,,,,,,0x0" online_cpuset="0x80000000,,,,,,,,,0x0" allowed_cpuset="0x80000000,,,,,,,,,0x0" nodeset="0x00008000" complete_nodeset="0x00008000" allowed_nodeset="0x00008000"/>
+                  </object>
                 </object>
               </object>
             </object>
@@ -2168,177 +2184,179 @@
         </object>
       </object>
     </object>
-    <object type="NUMANode" os_index="16" cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="16" cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x00000001,,,,,,0x00000001,,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000">
-                  <object type="PU" os_index="128" cpuset="0x00000001,,,,0x0" complete_cpuset="0x00000001,,,,0x0" online_cpuset="0x00000001,,,,0x0" allowed_cpuset="0x00000001,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
-                  <object type="PU" os_index="320" cpuset="0x00000001,,,,,,,,,,0x0" complete_cpuset="0x00000001,,,,,,,,,,0x0" online_cpuset="0x00000001,,,,,,,,,,0x0" allowed_cpuset="0x00000001,,,,,,,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+    <object type="Group" cpuset="0x0000ffff,,,,,,0x0000ffff,,,,0x0" complete_cpuset="0x0000ffff,,,,,,0x0000ffff,,,,0x0" online_cpuset="0x0000ffff,,,,,,0x0000ffff,,,,0x0" allowed_cpuset="0x0000ffff,,,,,,0x0000ffff,,,,0x0" nodeset="0x00030000" complete_nodeset="0x00030000" allowed_nodeset="0x00030000" depth="0">
+      <object type="NUMANode" os_index="16" cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="16" cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00000001,,,,,,0x00000001,,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000">
+                    <object type="PU" os_index="128" cpuset="0x00000001,,,,0x0" complete_cpuset="0x00000001,,,,0x0" online_cpuset="0x00000001,,,,0x0" allowed_cpuset="0x00000001,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+                    <object type="PU" os_index="320" cpuset="0x00000001,,,,,,,,,,0x0" complete_cpuset="0x00000001,,,,,,,,,,0x0" online_cpuset="0x00000001,,,,,,,,,,0x0" allowed_cpuset="0x00000001,,,,,,,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x00000002,,,,,,0x00000002,,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000">
-                  <object type="PU" os_index="129" cpuset="0x00000002,,,,0x0" complete_cpuset="0x00000002,,,,0x0" online_cpuset="0x00000002,,,,0x0" allowed_cpuset="0x00000002,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
-                  <object type="PU" os_index="321" cpuset="0x00000002,,,,,,,,,,0x0" complete_cpuset="0x00000002,,,,,,,,,,0x0" online_cpuset="0x00000002,,,,,,,,,,0x0" allowed_cpuset="0x00000002,,,,,,,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+            <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00000002,,,,,,0x00000002,,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000">
+                    <object type="PU" os_index="129" cpuset="0x00000002,,,,0x0" complete_cpuset="0x00000002,,,,0x0" online_cpuset="0x00000002,,,,0x0" allowed_cpuset="0x00000002,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+                    <object type="PU" os_index="321" cpuset="0x00000002,,,,,,,,,,0x0" complete_cpuset="0x00000002,,,,,,,,,,0x0" online_cpuset="0x00000002,,,,,,,,,,0x0" allowed_cpuset="0x00000002,,,,,,,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x00000004,,,,,,0x00000004,,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000">
-                  <object type="PU" os_index="130" cpuset="0x00000004,,,,0x0" complete_cpuset="0x00000004,,,,0x0" online_cpuset="0x00000004,,,,0x0" allowed_cpuset="0x00000004,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
-                  <object type="PU" os_index="322" cpuset="0x00000004,,,,,,,,,,0x0" complete_cpuset="0x00000004,,,,,,,,,,0x0" online_cpuset="0x00000004,,,,,,,,,,0x0" allowed_cpuset="0x00000004,,,,,,,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+            <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00000004,,,,,,0x00000004,,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000">
+                    <object type="PU" os_index="130" cpuset="0x00000004,,,,0x0" complete_cpuset="0x00000004,,,,0x0" online_cpuset="0x00000004,,,,0x0" allowed_cpuset="0x00000004,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+                    <object type="PU" os_index="322" cpuset="0x00000004,,,,,,,,,,0x0" complete_cpuset="0x00000004,,,,,,,,,,0x0" online_cpuset="0x00000004,,,,,,,,,,0x0" allowed_cpuset="0x00000004,,,,,,,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x00000008,,,,,,0x00000008,,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000">
-                  <object type="PU" os_index="131" cpuset="0x00000008,,,,0x0" complete_cpuset="0x00000008,,,,0x0" online_cpuset="0x00000008,,,,0x0" allowed_cpuset="0x00000008,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
-                  <object type="PU" os_index="323" cpuset="0x00000008,,,,,,,,,,0x0" complete_cpuset="0x00000008,,,,,,,,,,0x0" online_cpuset="0x00000008,,,,,,,,,,0x0" allowed_cpuset="0x00000008,,,,,,,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+            <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00000008,,,,,,0x00000008,,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000">
+                    <object type="PU" os_index="131" cpuset="0x00000008,,,,0x0" complete_cpuset="0x00000008,,,,0x0" online_cpuset="0x00000008,,,,0x0" allowed_cpuset="0x00000008,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+                    <object type="PU" os_index="323" cpuset="0x00000008,,,,,,,,,,0x0" complete_cpuset="0x00000008,,,,,,,,,,0x0" online_cpuset="0x00000008,,,,,,,,,,0x0" allowed_cpuset="0x00000008,,,,,,,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x00000010,,,,,,0x00000010,,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000">
-                  <object type="PU" os_index="132" cpuset="0x00000010,,,,0x0" complete_cpuset="0x00000010,,,,0x0" online_cpuset="0x00000010,,,,0x0" allowed_cpuset="0x00000010,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
-                  <object type="PU" os_index="324" cpuset="0x00000010,,,,,,,,,,0x0" complete_cpuset="0x00000010,,,,,,,,,,0x0" online_cpuset="0x00000010,,,,,,,,,,0x0" allowed_cpuset="0x00000010,,,,,,,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+            <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00000010,,,,,,0x00000010,,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000">
+                    <object type="PU" os_index="132" cpuset="0x00000010,,,,0x0" complete_cpuset="0x00000010,,,,0x0" online_cpuset="0x00000010,,,,0x0" allowed_cpuset="0x00000010,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+                    <object type="PU" os_index="324" cpuset="0x00000010,,,,,,,,,,0x0" complete_cpuset="0x00000010,,,,,,,,,,0x0" online_cpuset="0x00000010,,,,,,,,,,0x0" allowed_cpuset="0x00000010,,,,,,,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x00000020,,,,,,0x00000020,,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000">
-                  <object type="PU" os_index="133" cpuset="0x00000020,,,,0x0" complete_cpuset="0x00000020,,,,0x0" online_cpuset="0x00000020,,,,0x0" allowed_cpuset="0x00000020,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
-                  <object type="PU" os_index="325" cpuset="0x00000020,,,,,,,,,,0x0" complete_cpuset="0x00000020,,,,,,,,,,0x0" online_cpuset="0x00000020,,,,,,,,,,0x0" allowed_cpuset="0x00000020,,,,,,,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+            <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00000020,,,,,,0x00000020,,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000">
+                    <object type="PU" os_index="133" cpuset="0x00000020,,,,0x0" complete_cpuset="0x00000020,,,,0x0" online_cpuset="0x00000020,,,,0x0" allowed_cpuset="0x00000020,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+                    <object type="PU" os_index="325" cpuset="0x00000020,,,,,,,,,,0x0" complete_cpuset="0x00000020,,,,,,,,,,0x0" online_cpuset="0x00000020,,,,,,,,,,0x0" allowed_cpuset="0x00000020,,,,,,,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x00000040,,,,,,0x00000040,,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000">
-                  <object type="PU" os_index="134" cpuset="0x00000040,,,,0x0" complete_cpuset="0x00000040,,,,0x0" online_cpuset="0x00000040,,,,0x0" allowed_cpuset="0x00000040,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
-                  <object type="PU" os_index="326" cpuset="0x00000040,,,,,,,,,,0x0" complete_cpuset="0x00000040,,,,,,,,,,0x0" online_cpuset="0x00000040,,,,,,,,,,0x0" allowed_cpuset="0x00000040,,,,,,,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+            <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00000040,,,,,,0x00000040,,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000">
+                    <object type="PU" os_index="134" cpuset="0x00000040,,,,0x0" complete_cpuset="0x00000040,,,,0x0" online_cpuset="0x00000040,,,,0x0" allowed_cpuset="0x00000040,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+                    <object type="PU" os_index="326" cpuset="0x00000040,,,,,,,,,,0x0" complete_cpuset="0x00000040,,,,,,,,,,0x0" online_cpuset="0x00000040,,,,,,,,,,0x0" allowed_cpuset="0x00000040,,,,,,,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x00000080,,,,,,0x00000080,,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000">
-                  <object type="PU" os_index="135" cpuset="0x00000080,,,,0x0" complete_cpuset="0x00000080,,,,0x0" online_cpuset="0x00000080,,,,0x0" allowed_cpuset="0x00000080,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
-                  <object type="PU" os_index="327" cpuset="0x00000080,,,,,,,,,,0x0" complete_cpuset="0x00000080,,,,,,,,,,0x0" online_cpuset="0x00000080,,,,,,,,,,0x0" allowed_cpuset="0x00000080,,,,,,,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+            <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00000080,,,,,,0x00000080,,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000">
+                    <object type="PU" os_index="135" cpuset="0x00000080,,,,0x0" complete_cpuset="0x00000080,,,,0x0" online_cpuset="0x00000080,,,,0x0" allowed_cpuset="0x00000080,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+                    <object type="PU" os_index="327" cpuset="0x00000080,,,,,,,,,,0x0" complete_cpuset="0x00000080,,,,,,,,,,0x0" online_cpuset="0x00000080,,,,,,,,,,0x0" allowed_cpuset="0x00000080,,,,,,,,,,0x0" nodeset="0x00010000" complete_nodeset="0x00010000" allowed_nodeset="0x00010000"/>
+                  </object>
                 </object>
               </object>
             </object>
           </object>
         </object>
       </object>
-    </object>
-    <object type="NUMANode" os_index="17" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="17" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x00000100,,,,,,0x00000100,,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000">
-                  <object type="PU" os_index="136" cpuset="0x00000100,,,,0x0" complete_cpuset="0x00000100,,,,0x0" online_cpuset="0x00000100,,,,0x0" allowed_cpuset="0x00000100,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
-                  <object type="PU" os_index="328" cpuset="0x00000100,,,,,,,,,,0x0" complete_cpuset="0x00000100,,,,,,,,,,0x0" online_cpuset="0x00000100,,,,,,,,,,0x0" allowed_cpuset="0x00000100,,,,,,,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+      <object type="NUMANode" os_index="17" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="17" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00000100,,,,,,0x00000100,,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000">
+                    <object type="PU" os_index="136" cpuset="0x00000100,,,,0x0" complete_cpuset="0x00000100,,,,0x0" online_cpuset="0x00000100,,,,0x0" allowed_cpuset="0x00000100,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+                    <object type="PU" os_index="328" cpuset="0x00000100,,,,,,,,,,0x0" complete_cpuset="0x00000100,,,,,,,,,,0x0" online_cpuset="0x00000100,,,,,,,,,,0x0" allowed_cpuset="0x00000100,,,,,,,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x00000200,,,,,,0x00000200,,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000">
-                  <object type="PU" os_index="137" cpuset="0x00000200,,,,0x0" complete_cpuset="0x00000200,,,,0x0" online_cpuset="0x00000200,,,,0x0" allowed_cpuset="0x00000200,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
-                  <object type="PU" os_index="329" cpuset="0x00000200,,,,,,,,,,0x0" complete_cpuset="0x00000200,,,,,,,,,,0x0" online_cpuset="0x00000200,,,,,,,,,,0x0" allowed_cpuset="0x00000200,,,,,,,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+            <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00000200,,,,,,0x00000200,,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000">
+                    <object type="PU" os_index="137" cpuset="0x00000200,,,,0x0" complete_cpuset="0x00000200,,,,0x0" online_cpuset="0x00000200,,,,0x0" allowed_cpuset="0x00000200,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+                    <object type="PU" os_index="329" cpuset="0x00000200,,,,,,,,,,0x0" complete_cpuset="0x00000200,,,,,,,,,,0x0" online_cpuset="0x00000200,,,,,,,,,,0x0" allowed_cpuset="0x00000200,,,,,,,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x00000400,,,,,,0x00000400,,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000">
-                  <object type="PU" os_index="138" cpuset="0x00000400,,,,0x0" complete_cpuset="0x00000400,,,,0x0" online_cpuset="0x00000400,,,,0x0" allowed_cpuset="0x00000400,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
-                  <object type="PU" os_index="330" cpuset="0x00000400,,,,,,,,,,0x0" complete_cpuset="0x00000400,,,,,,,,,,0x0" online_cpuset="0x00000400,,,,,,,,,,0x0" allowed_cpuset="0x00000400,,,,,,,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+            <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00000400,,,,,,0x00000400,,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000">
+                    <object type="PU" os_index="138" cpuset="0x00000400,,,,0x0" complete_cpuset="0x00000400,,,,0x0" online_cpuset="0x00000400,,,,0x0" allowed_cpuset="0x00000400,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+                    <object type="PU" os_index="330" cpuset="0x00000400,,,,,,,,,,0x0" complete_cpuset="0x00000400,,,,,,,,,,0x0" online_cpuset="0x00000400,,,,,,,,,,0x0" allowed_cpuset="0x00000400,,,,,,,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x00000800,,,,,,0x00000800,,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000">
-                  <object type="PU" os_index="139" cpuset="0x00000800,,,,0x0" complete_cpuset="0x00000800,,,,0x0" online_cpuset="0x00000800,,,,0x0" allowed_cpuset="0x00000800,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
-                  <object type="PU" os_index="331" cpuset="0x00000800,,,,,,,,,,0x0" complete_cpuset="0x00000800,,,,,,,,,,0x0" online_cpuset="0x00000800,,,,,,,,,,0x0" allowed_cpuset="0x00000800,,,,,,,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+            <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00000800,,,,,,0x00000800,,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000">
+                    <object type="PU" os_index="139" cpuset="0x00000800,,,,0x0" complete_cpuset="0x00000800,,,,0x0" online_cpuset="0x00000800,,,,0x0" allowed_cpuset="0x00000800,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+                    <object type="PU" os_index="331" cpuset="0x00000800,,,,,,,,,,0x0" complete_cpuset="0x00000800,,,,,,,,,,0x0" online_cpuset="0x00000800,,,,,,,,,,0x0" allowed_cpuset="0x00000800,,,,,,,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x00001000,,,,,,0x00001000,,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000">
-                  <object type="PU" os_index="140" cpuset="0x00001000,,,,0x0" complete_cpuset="0x00001000,,,,0x0" online_cpuset="0x00001000,,,,0x0" allowed_cpuset="0x00001000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
-                  <object type="PU" os_index="332" cpuset="0x00001000,,,,,,,,,,0x0" complete_cpuset="0x00001000,,,,,,,,,,0x0" online_cpuset="0x00001000,,,,,,,,,,0x0" allowed_cpuset="0x00001000,,,,,,,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+            <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00001000,,,,,,0x00001000,,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000">
+                    <object type="PU" os_index="140" cpuset="0x00001000,,,,0x0" complete_cpuset="0x00001000,,,,0x0" online_cpuset="0x00001000,,,,0x0" allowed_cpuset="0x00001000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+                    <object type="PU" os_index="332" cpuset="0x00001000,,,,,,,,,,0x0" complete_cpuset="0x00001000,,,,,,,,,,0x0" online_cpuset="0x00001000,,,,,,,,,,0x0" allowed_cpuset="0x00001000,,,,,,,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x00002000,,,,,,0x00002000,,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000">
-                  <object type="PU" os_index="141" cpuset="0x00002000,,,,0x0" complete_cpuset="0x00002000,,,,0x0" online_cpuset="0x00002000,,,,0x0" allowed_cpuset="0x00002000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
-                  <object type="PU" os_index="333" cpuset="0x00002000,,,,,,,,,,0x0" complete_cpuset="0x00002000,,,,,,,,,,0x0" online_cpuset="0x00002000,,,,,,,,,,0x0" allowed_cpuset="0x00002000,,,,,,,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+            <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00002000,,,,,,0x00002000,,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000">
+                    <object type="PU" os_index="141" cpuset="0x00002000,,,,0x0" complete_cpuset="0x00002000,,,,0x0" online_cpuset="0x00002000,,,,0x0" allowed_cpuset="0x00002000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+                    <object type="PU" os_index="333" cpuset="0x00002000,,,,,,,,,,0x0" complete_cpuset="0x00002000,,,,,,,,,,0x0" online_cpuset="0x00002000,,,,,,,,,,0x0" allowed_cpuset="0x00002000,,,,,,,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x00004000,,,,,,0x00004000,,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000">
-                  <object type="PU" os_index="142" cpuset="0x00004000,,,,0x0" complete_cpuset="0x00004000,,,,0x0" online_cpuset="0x00004000,,,,0x0" allowed_cpuset="0x00004000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
-                  <object type="PU" os_index="334" cpuset="0x00004000,,,,,,,,,,0x0" complete_cpuset="0x00004000,,,,,,,,,,0x0" online_cpuset="0x00004000,,,,,,,,,,0x0" allowed_cpuset="0x00004000,,,,,,,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+            <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00004000,,,,,,0x00004000,,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000">
+                    <object type="PU" os_index="142" cpuset="0x00004000,,,,0x0" complete_cpuset="0x00004000,,,,0x0" online_cpuset="0x00004000,,,,0x0" allowed_cpuset="0x00004000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+                    <object type="PU" os_index="334" cpuset="0x00004000,,,,,,,,,,0x0" complete_cpuset="0x00004000,,,,,,,,,,0x0" online_cpuset="0x00004000,,,,,,,,,,0x0" allowed_cpuset="0x00004000,,,,,,,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x00008000,,,,,,0x00008000,,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000">
-                  <object type="PU" os_index="143" cpuset="0x00008000,,,,0x0" complete_cpuset="0x00008000,,,,0x0" online_cpuset="0x00008000,,,,0x0" allowed_cpuset="0x00008000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
-                  <object type="PU" os_index="335" cpuset="0x00008000,,,,,,,,,,0x0" complete_cpuset="0x00008000,,,,,,,,,,0x0" online_cpuset="0x00008000,,,,,,,,,,0x0" allowed_cpuset="0x00008000,,,,,,,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+            <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00008000,,,,,,0x00008000,,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000">
+                    <object type="PU" os_index="143" cpuset="0x00008000,,,,0x0" complete_cpuset="0x00008000,,,,0x0" online_cpuset="0x00008000,,,,0x0" allowed_cpuset="0x00008000,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+                    <object type="PU" os_index="335" cpuset="0x00008000,,,,,,,,,,0x0" complete_cpuset="0x00008000,,,,,,,,,,0x0" online_cpuset="0x00008000,,,,,,,,,,0x0" allowed_cpuset="0x00008000,,,,,,,,,,0x0" nodeset="0x00020000" complete_nodeset="0x00020000" allowed_nodeset="0x00020000"/>
+                  </object>
                 </object>
               </object>
             </object>
@@ -2346,177 +2364,179 @@
         </object>
       </object>
     </object>
-    <object type="NUMANode" os_index="18" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="18" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x00010000,,,,,,0x00010000,,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000">
-                  <object type="PU" os_index="144" cpuset="0x00010000,,,,0x0" complete_cpuset="0x00010000,,,,0x0" online_cpuset="0x00010000,,,,0x0" allowed_cpuset="0x00010000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
-                  <object type="PU" os_index="336" cpuset="0x00010000,,,,,,,,,,0x0" complete_cpuset="0x00010000,,,,,,,,,,0x0" online_cpuset="0x00010000,,,,,,,,,,0x0" allowed_cpuset="0x00010000,,,,,,,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+    <object type="Group" cpuset="0xffff0000,,,,,,0xffff0000,,,,0x0" complete_cpuset="0xffff0000,,,,,,0xffff0000,,,,0x0" online_cpuset="0xffff0000,,,,,,0xffff0000,,,,0x0" allowed_cpuset="0xffff0000,,,,,,0xffff0000,,,,0x0" nodeset="0x000c0000" complete_nodeset="0x000c0000" allowed_nodeset="0x000c0000" depth="0">
+      <object type="NUMANode" os_index="18" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="18" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00010000,,,,,,0x00010000,,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000">
+                    <object type="PU" os_index="144" cpuset="0x00010000,,,,0x0" complete_cpuset="0x00010000,,,,0x0" online_cpuset="0x00010000,,,,0x0" allowed_cpuset="0x00010000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+                    <object type="PU" os_index="336" cpuset="0x00010000,,,,,,,,,,0x0" complete_cpuset="0x00010000,,,,,,,,,,0x0" online_cpuset="0x00010000,,,,,,,,,,0x0" allowed_cpuset="0x00010000,,,,,,,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x00020000,,,,,,0x00020000,,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000">
-                  <object type="PU" os_index="145" cpuset="0x00020000,,,,0x0" complete_cpuset="0x00020000,,,,0x0" online_cpuset="0x00020000,,,,0x0" allowed_cpuset="0x00020000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
-                  <object type="PU" os_index="337" cpuset="0x00020000,,,,,,,,,,0x0" complete_cpuset="0x00020000,,,,,,,,,,0x0" online_cpuset="0x00020000,,,,,,,,,,0x0" allowed_cpuset="0x00020000,,,,,,,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+            <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00020000,,,,,,0x00020000,,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000">
+                    <object type="PU" os_index="145" cpuset="0x00020000,,,,0x0" complete_cpuset="0x00020000,,,,0x0" online_cpuset="0x00020000,,,,0x0" allowed_cpuset="0x00020000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+                    <object type="PU" os_index="337" cpuset="0x00020000,,,,,,,,,,0x0" complete_cpuset="0x00020000,,,,,,,,,,0x0" online_cpuset="0x00020000,,,,,,,,,,0x0" allowed_cpuset="0x00020000,,,,,,,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x00040000,,,,,,0x00040000,,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000">
-                  <object type="PU" os_index="146" cpuset="0x00040000,,,,0x0" complete_cpuset="0x00040000,,,,0x0" online_cpuset="0x00040000,,,,0x0" allowed_cpuset="0x00040000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
-                  <object type="PU" os_index="338" cpuset="0x00040000,,,,,,,,,,0x0" complete_cpuset="0x00040000,,,,,,,,,,0x0" online_cpuset="0x00040000,,,,,,,,,,0x0" allowed_cpuset="0x00040000,,,,,,,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+            <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00040000,,,,,,0x00040000,,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000">
+                    <object type="PU" os_index="146" cpuset="0x00040000,,,,0x0" complete_cpuset="0x00040000,,,,0x0" online_cpuset="0x00040000,,,,0x0" allowed_cpuset="0x00040000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+                    <object type="PU" os_index="338" cpuset="0x00040000,,,,,,,,,,0x0" complete_cpuset="0x00040000,,,,,,,,,,0x0" online_cpuset="0x00040000,,,,,,,,,,0x0" allowed_cpuset="0x00040000,,,,,,,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x00080000,,,,,,0x00080000,,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000">
-                  <object type="PU" os_index="147" cpuset="0x00080000,,,,0x0" complete_cpuset="0x00080000,,,,0x0" online_cpuset="0x00080000,,,,0x0" allowed_cpuset="0x00080000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
-                  <object type="PU" os_index="339" cpuset="0x00080000,,,,,,,,,,0x0" complete_cpuset="0x00080000,,,,,,,,,,0x0" online_cpuset="0x00080000,,,,,,,,,,0x0" allowed_cpuset="0x00080000,,,,,,,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+            <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00080000,,,,,,0x00080000,,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000">
+                    <object type="PU" os_index="147" cpuset="0x00080000,,,,0x0" complete_cpuset="0x00080000,,,,0x0" online_cpuset="0x00080000,,,,0x0" allowed_cpuset="0x00080000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+                    <object type="PU" os_index="339" cpuset="0x00080000,,,,,,,,,,0x0" complete_cpuset="0x00080000,,,,,,,,,,0x0" online_cpuset="0x00080000,,,,,,,,,,0x0" allowed_cpuset="0x00080000,,,,,,,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x00100000,,,,,,0x00100000,,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000">
-                  <object type="PU" os_index="148" cpuset="0x00100000,,,,0x0" complete_cpuset="0x00100000,,,,0x0" online_cpuset="0x00100000,,,,0x0" allowed_cpuset="0x00100000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
-                  <object type="PU" os_index="340" cpuset="0x00100000,,,,,,,,,,0x0" complete_cpuset="0x00100000,,,,,,,,,,0x0" online_cpuset="0x00100000,,,,,,,,,,0x0" allowed_cpuset="0x00100000,,,,,,,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+            <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00100000,,,,,,0x00100000,,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000">
+                    <object type="PU" os_index="148" cpuset="0x00100000,,,,0x0" complete_cpuset="0x00100000,,,,0x0" online_cpuset="0x00100000,,,,0x0" allowed_cpuset="0x00100000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+                    <object type="PU" os_index="340" cpuset="0x00100000,,,,,,,,,,0x0" complete_cpuset="0x00100000,,,,,,,,,,0x0" online_cpuset="0x00100000,,,,,,,,,,0x0" allowed_cpuset="0x00100000,,,,,,,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x00200000,,,,,,0x00200000,,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000">
-                  <object type="PU" os_index="149" cpuset="0x00200000,,,,0x0" complete_cpuset="0x00200000,,,,0x0" online_cpuset="0x00200000,,,,0x0" allowed_cpuset="0x00200000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
-                  <object type="PU" os_index="341" cpuset="0x00200000,,,,,,,,,,0x0" complete_cpuset="0x00200000,,,,,,,,,,0x0" online_cpuset="0x00200000,,,,,,,,,,0x0" allowed_cpuset="0x00200000,,,,,,,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+            <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00200000,,,,,,0x00200000,,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000">
+                    <object type="PU" os_index="149" cpuset="0x00200000,,,,0x0" complete_cpuset="0x00200000,,,,0x0" online_cpuset="0x00200000,,,,0x0" allowed_cpuset="0x00200000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+                    <object type="PU" os_index="341" cpuset="0x00200000,,,,,,,,,,0x0" complete_cpuset="0x00200000,,,,,,,,,,0x0" online_cpuset="0x00200000,,,,,,,,,,0x0" allowed_cpuset="0x00200000,,,,,,,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x00400000,,,,,,0x00400000,,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000">
-                  <object type="PU" os_index="150" cpuset="0x00400000,,,,0x0" complete_cpuset="0x00400000,,,,0x0" online_cpuset="0x00400000,,,,0x0" allowed_cpuset="0x00400000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
-                  <object type="PU" os_index="342" cpuset="0x00400000,,,,,,,,,,0x0" complete_cpuset="0x00400000,,,,,,,,,,0x0" online_cpuset="0x00400000,,,,,,,,,,0x0" allowed_cpuset="0x00400000,,,,,,,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+            <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00400000,,,,,,0x00400000,,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000">
+                    <object type="PU" os_index="150" cpuset="0x00400000,,,,0x0" complete_cpuset="0x00400000,,,,0x0" online_cpuset="0x00400000,,,,0x0" allowed_cpuset="0x00400000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+                    <object type="PU" os_index="342" cpuset="0x00400000,,,,,,,,,,0x0" complete_cpuset="0x00400000,,,,,,,,,,0x0" online_cpuset="0x00400000,,,,,,,,,,0x0" allowed_cpuset="0x00400000,,,,,,,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x00800000,,,,,,0x00800000,,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000">
-                  <object type="PU" os_index="151" cpuset="0x00800000,,,,0x0" complete_cpuset="0x00800000,,,,0x0" online_cpuset="0x00800000,,,,0x0" allowed_cpuset="0x00800000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
-                  <object type="PU" os_index="343" cpuset="0x00800000,,,,,,,,,,0x0" complete_cpuset="0x00800000,,,,,,,,,,0x0" online_cpuset="0x00800000,,,,,,,,,,0x0" allowed_cpuset="0x00800000,,,,,,,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+            <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00800000,,,,,,0x00800000,,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000">
+                    <object type="PU" os_index="151" cpuset="0x00800000,,,,0x0" complete_cpuset="0x00800000,,,,0x0" online_cpuset="0x00800000,,,,0x0" allowed_cpuset="0x00800000,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+                    <object type="PU" os_index="343" cpuset="0x00800000,,,,,,,,,,0x0" complete_cpuset="0x00800000,,,,,,,,,,0x0" online_cpuset="0x00800000,,,,,,,,,,0x0" allowed_cpuset="0x00800000,,,,,,,,,,0x0" nodeset="0x00040000" complete_nodeset="0x00040000" allowed_nodeset="0x00040000"/>
+                  </object>
                 </object>
               </object>
             </object>
           </object>
         </object>
       </object>
-    </object>
-    <object type="NUMANode" os_index="19" cpuset="0xff000000,,,,,,0xff000000,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="19" cpuset="0xff000000,,,,,,0xff000000,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0xff000000,,,,,,0xff000000,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x01000000,,,,,,0x01000000,,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000">
-                  <object type="PU" os_index="152" cpuset="0x01000000,,,,0x0" complete_cpuset="0x01000000,,,,0x0" online_cpuset="0x01000000,,,,0x0" allowed_cpuset="0x01000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
-                  <object type="PU" os_index="344" cpuset="0x01000000,,,,,,,,,,0x0" complete_cpuset="0x01000000,,,,,,,,,,0x0" online_cpuset="0x01000000,,,,,,,,,,0x0" allowed_cpuset="0x01000000,,,,,,,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+      <object type="NUMANode" os_index="19" cpuset="0xff000000,,,,,,0xff000000,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="19" cpuset="0xff000000,,,,,,0xff000000,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0xff000000,,,,,,0xff000000,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x01000000,,,,,,0x01000000,,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000">
+                    <object type="PU" os_index="152" cpuset="0x01000000,,,,0x0" complete_cpuset="0x01000000,,,,0x0" online_cpuset="0x01000000,,,,0x0" allowed_cpuset="0x01000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+                    <object type="PU" os_index="344" cpuset="0x01000000,,,,,,,,,,0x0" complete_cpuset="0x01000000,,,,,,,,,,0x0" online_cpuset="0x01000000,,,,,,,,,,0x0" allowed_cpuset="0x01000000,,,,,,,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x02000000,,,,,,0x02000000,,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000">
-                  <object type="PU" os_index="153" cpuset="0x02000000,,,,0x0" complete_cpuset="0x02000000,,,,0x0" online_cpuset="0x02000000,,,,0x0" allowed_cpuset="0x02000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
-                  <object type="PU" os_index="345" cpuset="0x02000000,,,,,,,,,,0x0" complete_cpuset="0x02000000,,,,,,,,,,0x0" online_cpuset="0x02000000,,,,,,,,,,0x0" allowed_cpuset="0x02000000,,,,,,,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+            <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x02000000,,,,,,0x02000000,,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000">
+                    <object type="PU" os_index="153" cpuset="0x02000000,,,,0x0" complete_cpuset="0x02000000,,,,0x0" online_cpuset="0x02000000,,,,0x0" allowed_cpuset="0x02000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+                    <object type="PU" os_index="345" cpuset="0x02000000,,,,,,,,,,0x0" complete_cpuset="0x02000000,,,,,,,,,,0x0" online_cpuset="0x02000000,,,,,,,,,,0x0" allowed_cpuset="0x02000000,,,,,,,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x04000000,,,,,,0x04000000,,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000">
-                  <object type="PU" os_index="154" cpuset="0x04000000,,,,0x0" complete_cpuset="0x04000000,,,,0x0" online_cpuset="0x04000000,,,,0x0" allowed_cpuset="0x04000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
-                  <object type="PU" os_index="346" cpuset="0x04000000,,,,,,,,,,0x0" complete_cpuset="0x04000000,,,,,,,,,,0x0" online_cpuset="0x04000000,,,,,,,,,,0x0" allowed_cpuset="0x04000000,,,,,,,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+            <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x04000000,,,,,,0x04000000,,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000">
+                    <object type="PU" os_index="154" cpuset="0x04000000,,,,0x0" complete_cpuset="0x04000000,,,,0x0" online_cpuset="0x04000000,,,,0x0" allowed_cpuset="0x04000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+                    <object type="PU" os_index="346" cpuset="0x04000000,,,,,,,,,,0x0" complete_cpuset="0x04000000,,,,,,,,,,0x0" online_cpuset="0x04000000,,,,,,,,,,0x0" allowed_cpuset="0x04000000,,,,,,,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x08000000,,,,,,0x08000000,,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000">
-                  <object type="PU" os_index="155" cpuset="0x08000000,,,,0x0" complete_cpuset="0x08000000,,,,0x0" online_cpuset="0x08000000,,,,0x0" allowed_cpuset="0x08000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
-                  <object type="PU" os_index="347" cpuset="0x08000000,,,,,,,,,,0x0" complete_cpuset="0x08000000,,,,,,,,,,0x0" online_cpuset="0x08000000,,,,,,,,,,0x0" allowed_cpuset="0x08000000,,,,,,,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+            <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x08000000,,,,,,0x08000000,,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000">
+                    <object type="PU" os_index="155" cpuset="0x08000000,,,,0x0" complete_cpuset="0x08000000,,,,0x0" online_cpuset="0x08000000,,,,0x0" allowed_cpuset="0x08000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+                    <object type="PU" os_index="347" cpuset="0x08000000,,,,,,,,,,0x0" complete_cpuset="0x08000000,,,,,,,,,,0x0" online_cpuset="0x08000000,,,,,,,,,,0x0" allowed_cpuset="0x08000000,,,,,,,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x10000000,,,,,,0x10000000,,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000">
-                  <object type="PU" os_index="156" cpuset="0x10000000,,,,0x0" complete_cpuset="0x10000000,,,,0x0" online_cpuset="0x10000000,,,,0x0" allowed_cpuset="0x10000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
-                  <object type="PU" os_index="348" cpuset="0x10000000,,,,,,,,,,0x0" complete_cpuset="0x10000000,,,,,,,,,,0x0" online_cpuset="0x10000000,,,,,,,,,,0x0" allowed_cpuset="0x10000000,,,,,,,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+            <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x10000000,,,,,,0x10000000,,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000">
+                    <object type="PU" os_index="156" cpuset="0x10000000,,,,0x0" complete_cpuset="0x10000000,,,,0x0" online_cpuset="0x10000000,,,,0x0" allowed_cpuset="0x10000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+                    <object type="PU" os_index="348" cpuset="0x10000000,,,,,,,,,,0x0" complete_cpuset="0x10000000,,,,,,,,,,0x0" online_cpuset="0x10000000,,,,,,,,,,0x0" allowed_cpuset="0x10000000,,,,,,,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x20000000,,,,,,0x20000000,,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000">
-                  <object type="PU" os_index="157" cpuset="0x20000000,,,,0x0" complete_cpuset="0x20000000,,,,0x0" online_cpuset="0x20000000,,,,0x0" allowed_cpuset="0x20000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
-                  <object type="PU" os_index="349" cpuset="0x20000000,,,,,,,,,,0x0" complete_cpuset="0x20000000,,,,,,,,,,0x0" online_cpuset="0x20000000,,,,,,,,,,0x0" allowed_cpuset="0x20000000,,,,,,,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+            <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x20000000,,,,,,0x20000000,,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000">
+                    <object type="PU" os_index="157" cpuset="0x20000000,,,,0x0" complete_cpuset="0x20000000,,,,0x0" online_cpuset="0x20000000,,,,0x0" allowed_cpuset="0x20000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+                    <object type="PU" os_index="349" cpuset="0x20000000,,,,,,,,,,0x0" complete_cpuset="0x20000000,,,,,,,,,,0x0" online_cpuset="0x20000000,,,,,,,,,,0x0" allowed_cpuset="0x20000000,,,,,,,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x40000000,,,,,,0x40000000,,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000">
-                  <object type="PU" os_index="158" cpuset="0x40000000,,,,0x0" complete_cpuset="0x40000000,,,,0x0" online_cpuset="0x40000000,,,,0x0" allowed_cpuset="0x40000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
-                  <object type="PU" os_index="350" cpuset="0x40000000,,,,,,,,,,0x0" complete_cpuset="0x40000000,,,,,,,,,,0x0" online_cpuset="0x40000000,,,,,,,,,,0x0" allowed_cpuset="0x40000000,,,,,,,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+            <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x40000000,,,,,,0x40000000,,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000">
+                    <object type="PU" os_index="158" cpuset="0x40000000,,,,0x0" complete_cpuset="0x40000000,,,,0x0" online_cpuset="0x40000000,,,,0x0" allowed_cpuset="0x40000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+                    <object type="PU" os_index="350" cpuset="0x40000000,,,,,,,,,,0x0" complete_cpuset="0x40000000,,,,,,,,,,0x0" online_cpuset="0x40000000,,,,,,,,,,0x0" allowed_cpuset="0x40000000,,,,,,,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x80000000,,,,,,0x80000000,,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000">
-                  <object type="PU" os_index="159" cpuset="0x80000000,,,,0x0" complete_cpuset="0x80000000,,,,0x0" online_cpuset="0x80000000,,,,0x0" allowed_cpuset="0x80000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
-                  <object type="PU" os_index="351" cpuset="0x80000000,,,,,,,,,,0x0" complete_cpuset="0x80000000,,,,,,,,,,0x0" online_cpuset="0x80000000,,,,,,,,,,0x0" allowed_cpuset="0x80000000,,,,,,,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+            <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x80000000,,,,,,0x80000000,,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000">
+                    <object type="PU" os_index="159" cpuset="0x80000000,,,,0x0" complete_cpuset="0x80000000,,,,0x0" online_cpuset="0x80000000,,,,0x0" allowed_cpuset="0x80000000,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+                    <object type="PU" os_index="351" cpuset="0x80000000,,,,,,,,,,0x0" complete_cpuset="0x80000000,,,,,,,,,,0x0" online_cpuset="0x80000000,,,,,,,,,,0x0" allowed_cpuset="0x80000000,,,,,,,,,,0x0" nodeset="0x00080000" complete_nodeset="0x00080000" allowed_nodeset="0x00080000"/>
+                  </object>
                 </object>
               </object>
             </object>
@@ -2524,177 +2544,179 @@
         </object>
       </object>
     </object>
-    <object type="NUMANode" os_index="20" cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="20" cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000">
-                  <object type="PU" os_index="160" cpuset="0x00000001,,,,,0x0" complete_cpuset="0x00000001,,,,,0x0" online_cpuset="0x00000001,,,,,0x0" allowed_cpuset="0x00000001,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
-                  <object type="PU" os_index="352" cpuset="0x00000001,,,,,,,,,,,0x0" complete_cpuset="0x00000001,,,,,,,,,,,0x0" online_cpuset="0x00000001,,,,,,,,,,,0x0" allowed_cpuset="0x00000001,,,,,,,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+    <object type="Group" cpuset="0x0000ffff,,,,,,0x0000ffff,,,,,0x0" complete_cpuset="0x0000ffff,,,,,,0x0000ffff,,,,,0x0" online_cpuset="0x0000ffff,,,,,,0x0000ffff,,,,,0x0" allowed_cpuset="0x0000ffff,,,,,,0x0000ffff,,,,,0x0" nodeset="0x00300000" complete_nodeset="0x00300000" allowed_nodeset="0x00300000" depth="0">
+      <object type="NUMANode" os_index="20" cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="20" cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" complete_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" online_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" allowed_cpuset="0x000000ff,,,,,,0x000000ff,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" complete_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" online_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" allowed_cpuset="0x00000001,,,,,,0x00000001,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000">
+                    <object type="PU" os_index="160" cpuset="0x00000001,,,,,0x0" complete_cpuset="0x00000001,,,,,0x0" online_cpuset="0x00000001,,,,,0x0" allowed_cpuset="0x00000001,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+                    <object type="PU" os_index="352" cpuset="0x00000001,,,,,,,,,,,0x0" complete_cpuset="0x00000001,,,,,,,,,,,0x0" online_cpuset="0x00000001,,,,,,,,,,,0x0" allowed_cpuset="0x00000001,,,,,,,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000">
-                  <object type="PU" os_index="161" cpuset="0x00000002,,,,,0x0" complete_cpuset="0x00000002,,,,,0x0" online_cpuset="0x00000002,,,,,0x0" allowed_cpuset="0x00000002,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
-                  <object type="PU" os_index="353" cpuset="0x00000002,,,,,,,,,,,0x0" complete_cpuset="0x00000002,,,,,,,,,,,0x0" online_cpuset="0x00000002,,,,,,,,,,,0x0" allowed_cpuset="0x00000002,,,,,,,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+            <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" complete_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" online_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" allowed_cpuset="0x00000002,,,,,,0x00000002,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000">
+                    <object type="PU" os_index="161" cpuset="0x00000002,,,,,0x0" complete_cpuset="0x00000002,,,,,0x0" online_cpuset="0x00000002,,,,,0x0" allowed_cpuset="0x00000002,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+                    <object type="PU" os_index="353" cpuset="0x00000002,,,,,,,,,,,0x0" complete_cpuset="0x00000002,,,,,,,,,,,0x0" online_cpuset="0x00000002,,,,,,,,,,,0x0" allowed_cpuset="0x00000002,,,,,,,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000">
-                  <object type="PU" os_index="162" cpuset="0x00000004,,,,,0x0" complete_cpuset="0x00000004,,,,,0x0" online_cpuset="0x00000004,,,,,0x0" allowed_cpuset="0x00000004,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
-                  <object type="PU" os_index="354" cpuset="0x00000004,,,,,,,,,,,0x0" complete_cpuset="0x00000004,,,,,,,,,,,0x0" online_cpuset="0x00000004,,,,,,,,,,,0x0" allowed_cpuset="0x00000004,,,,,,,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+            <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" complete_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" online_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" allowed_cpuset="0x00000004,,,,,,0x00000004,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000">
+                    <object type="PU" os_index="162" cpuset="0x00000004,,,,,0x0" complete_cpuset="0x00000004,,,,,0x0" online_cpuset="0x00000004,,,,,0x0" allowed_cpuset="0x00000004,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+                    <object type="PU" os_index="354" cpuset="0x00000004,,,,,,,,,,,0x0" complete_cpuset="0x00000004,,,,,,,,,,,0x0" online_cpuset="0x00000004,,,,,,,,,,,0x0" allowed_cpuset="0x00000004,,,,,,,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000">
-                  <object type="PU" os_index="163" cpuset="0x00000008,,,,,0x0" complete_cpuset="0x00000008,,,,,0x0" online_cpuset="0x00000008,,,,,0x0" allowed_cpuset="0x00000008,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
-                  <object type="PU" os_index="355" cpuset="0x00000008,,,,,,,,,,,0x0" complete_cpuset="0x00000008,,,,,,,,,,,0x0" online_cpuset="0x00000008,,,,,,,,,,,0x0" allowed_cpuset="0x00000008,,,,,,,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+            <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" complete_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" online_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" allowed_cpuset="0x00000008,,,,,,0x00000008,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000">
+                    <object type="PU" os_index="163" cpuset="0x00000008,,,,,0x0" complete_cpuset="0x00000008,,,,,0x0" online_cpuset="0x00000008,,,,,0x0" allowed_cpuset="0x00000008,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+                    <object type="PU" os_index="355" cpuset="0x00000008,,,,,,,,,,,0x0" complete_cpuset="0x00000008,,,,,,,,,,,0x0" online_cpuset="0x00000008,,,,,,,,,,,0x0" allowed_cpuset="0x00000008,,,,,,,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000">
-                  <object type="PU" os_index="164" cpuset="0x00000010,,,,,0x0" complete_cpuset="0x00000010,,,,,0x0" online_cpuset="0x00000010,,,,,0x0" allowed_cpuset="0x00000010,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
-                  <object type="PU" os_index="356" cpuset="0x00000010,,,,,,,,,,,0x0" complete_cpuset="0x00000010,,,,,,,,,,,0x0" online_cpuset="0x00000010,,,,,,,,,,,0x0" allowed_cpuset="0x00000010,,,,,,,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+            <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" complete_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" online_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" allowed_cpuset="0x00000010,,,,,,0x00000010,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000">
+                    <object type="PU" os_index="164" cpuset="0x00000010,,,,,0x0" complete_cpuset="0x00000010,,,,,0x0" online_cpuset="0x00000010,,,,,0x0" allowed_cpuset="0x00000010,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+                    <object type="PU" os_index="356" cpuset="0x00000010,,,,,,,,,,,0x0" complete_cpuset="0x00000010,,,,,,,,,,,0x0" online_cpuset="0x00000010,,,,,,,,,,,0x0" allowed_cpuset="0x00000010,,,,,,,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000">
-                  <object type="PU" os_index="165" cpuset="0x00000020,,,,,0x0" complete_cpuset="0x00000020,,,,,0x0" online_cpuset="0x00000020,,,,,0x0" allowed_cpuset="0x00000020,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
-                  <object type="PU" os_index="357" cpuset="0x00000020,,,,,,,,,,,0x0" complete_cpuset="0x00000020,,,,,,,,,,,0x0" online_cpuset="0x00000020,,,,,,,,,,,0x0" allowed_cpuset="0x00000020,,,,,,,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+            <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" complete_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" online_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" allowed_cpuset="0x00000020,,,,,,0x00000020,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000">
+                    <object type="PU" os_index="165" cpuset="0x00000020,,,,,0x0" complete_cpuset="0x00000020,,,,,0x0" online_cpuset="0x00000020,,,,,0x0" allowed_cpuset="0x00000020,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+                    <object type="PU" os_index="357" cpuset="0x00000020,,,,,,,,,,,0x0" complete_cpuset="0x00000020,,,,,,,,,,,0x0" online_cpuset="0x00000020,,,,,,,,,,,0x0" allowed_cpuset="0x00000020,,,,,,,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000">
-                  <object type="PU" os_index="166" cpuset="0x00000040,,,,,0x0" complete_cpuset="0x00000040,,,,,0x0" online_cpuset="0x00000040,,,,,0x0" allowed_cpuset="0x00000040,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
-                  <object type="PU" os_index="358" cpuset="0x00000040,,,,,,,,,,,0x0" complete_cpuset="0x00000040,,,,,,,,,,,0x0" online_cpuset="0x00000040,,,,,,,,,,,0x0" allowed_cpuset="0x00000040,,,,,,,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+            <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" complete_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" online_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" allowed_cpuset="0x00000040,,,,,,0x00000040,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000">
+                    <object type="PU" os_index="166" cpuset="0x00000040,,,,,0x0" complete_cpuset="0x00000040,,,,,0x0" online_cpuset="0x00000040,,,,,0x0" allowed_cpuset="0x00000040,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+                    <object type="PU" os_index="358" cpuset="0x00000040,,,,,,,,,,,0x0" complete_cpuset="0x00000040,,,,,,,,,,,0x0" online_cpuset="0x00000040,,,,,,,,,,,0x0" allowed_cpuset="0x00000040,,,,,,,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000">
-                  <object type="PU" os_index="167" cpuset="0x00000080,,,,,0x0" complete_cpuset="0x00000080,,,,,0x0" online_cpuset="0x00000080,,,,,0x0" allowed_cpuset="0x00000080,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
-                  <object type="PU" os_index="359" cpuset="0x00000080,,,,,,,,,,,0x0" complete_cpuset="0x00000080,,,,,,,,,,,0x0" online_cpuset="0x00000080,,,,,,,,,,,0x0" allowed_cpuset="0x00000080,,,,,,,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+            <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" complete_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" online_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" allowed_cpuset="0x00000080,,,,,,0x00000080,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000">
+                    <object type="PU" os_index="167" cpuset="0x00000080,,,,,0x0" complete_cpuset="0x00000080,,,,,0x0" online_cpuset="0x00000080,,,,,0x0" allowed_cpuset="0x00000080,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+                    <object type="PU" os_index="359" cpuset="0x00000080,,,,,,,,,,,0x0" complete_cpuset="0x00000080,,,,,,,,,,,0x0" online_cpuset="0x00000080,,,,,,,,,,,0x0" allowed_cpuset="0x00000080,,,,,,,,,,,0x0" nodeset="0x00100000" complete_nodeset="0x00100000" allowed_nodeset="0x00100000"/>
+                  </object>
                 </object>
               </object>
             </object>
           </object>
         </object>
       </object>
-    </object>
-    <object type="NUMANode" os_index="21" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="21" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000">
-                  <object type="PU" os_index="168" cpuset="0x00000100,,,,,0x0" complete_cpuset="0x00000100,,,,,0x0" online_cpuset="0x00000100,,,,,0x0" allowed_cpuset="0x00000100,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
-                  <object type="PU" os_index="360" cpuset="0x00000100,,,,,,,,,,,0x0" complete_cpuset="0x00000100,,,,,,,,,,,0x0" online_cpuset="0x00000100,,,,,,,,,,,0x0" allowed_cpuset="0x00000100,,,,,,,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+      <object type="NUMANode" os_index="21" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="21" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" complete_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" online_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" allowed_cpuset="0x0000ff00,,,,,,0x0000ff00,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" complete_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" online_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" allowed_cpuset="0x00000100,,,,,,0x00000100,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000">
+                    <object type="PU" os_index="168" cpuset="0x00000100,,,,,0x0" complete_cpuset="0x00000100,,,,,0x0" online_cpuset="0x00000100,,,,,0x0" allowed_cpuset="0x00000100,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+                    <object type="PU" os_index="360" cpuset="0x00000100,,,,,,,,,,,0x0" complete_cpuset="0x00000100,,,,,,,,,,,0x0" online_cpuset="0x00000100,,,,,,,,,,,0x0" allowed_cpuset="0x00000100,,,,,,,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000">
-                  <object type="PU" os_index="169" cpuset="0x00000200,,,,,0x0" complete_cpuset="0x00000200,,,,,0x0" online_cpuset="0x00000200,,,,,0x0" allowed_cpuset="0x00000200,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
-                  <object type="PU" os_index="361" cpuset="0x00000200,,,,,,,,,,,0x0" complete_cpuset="0x00000200,,,,,,,,,,,0x0" online_cpuset="0x00000200,,,,,,,,,,,0x0" allowed_cpuset="0x00000200,,,,,,,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+            <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" complete_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" online_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" allowed_cpuset="0x00000200,,,,,,0x00000200,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000">
+                    <object type="PU" os_index="169" cpuset="0x00000200,,,,,0x0" complete_cpuset="0x00000200,,,,,0x0" online_cpuset="0x00000200,,,,,0x0" allowed_cpuset="0x00000200,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+                    <object type="PU" os_index="361" cpuset="0x00000200,,,,,,,,,,,0x0" complete_cpuset="0x00000200,,,,,,,,,,,0x0" online_cpuset="0x00000200,,,,,,,,,,,0x0" allowed_cpuset="0x00000200,,,,,,,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000">
-                  <object type="PU" os_index="170" cpuset="0x00000400,,,,,0x0" complete_cpuset="0x00000400,,,,,0x0" online_cpuset="0x00000400,,,,,0x0" allowed_cpuset="0x00000400,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
-                  <object type="PU" os_index="362" cpuset="0x00000400,,,,,,,,,,,0x0" complete_cpuset="0x00000400,,,,,,,,,,,0x0" online_cpuset="0x00000400,,,,,,,,,,,0x0" allowed_cpuset="0x00000400,,,,,,,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+            <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" complete_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" online_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" allowed_cpuset="0x00000400,,,,,,0x00000400,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000">
+                    <object type="PU" os_index="170" cpuset="0x00000400,,,,,0x0" complete_cpuset="0x00000400,,,,,0x0" online_cpuset="0x00000400,,,,,0x0" allowed_cpuset="0x00000400,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+                    <object type="PU" os_index="362" cpuset="0x00000400,,,,,,,,,,,0x0" complete_cpuset="0x00000400,,,,,,,,,,,0x0" online_cpuset="0x00000400,,,,,,,,,,,0x0" allowed_cpuset="0x00000400,,,,,,,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000">
-                  <object type="PU" os_index="171" cpuset="0x00000800,,,,,0x0" complete_cpuset="0x00000800,,,,,0x0" online_cpuset="0x00000800,,,,,0x0" allowed_cpuset="0x00000800,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
-                  <object type="PU" os_index="363" cpuset="0x00000800,,,,,,,,,,,0x0" complete_cpuset="0x00000800,,,,,,,,,,,0x0" online_cpuset="0x00000800,,,,,,,,,,,0x0" allowed_cpuset="0x00000800,,,,,,,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+            <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" complete_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" online_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" allowed_cpuset="0x00000800,,,,,,0x00000800,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000">
+                    <object type="PU" os_index="171" cpuset="0x00000800,,,,,0x0" complete_cpuset="0x00000800,,,,,0x0" online_cpuset="0x00000800,,,,,0x0" allowed_cpuset="0x00000800,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+                    <object type="PU" os_index="363" cpuset="0x00000800,,,,,,,,,,,0x0" complete_cpuset="0x00000800,,,,,,,,,,,0x0" online_cpuset="0x00000800,,,,,,,,,,,0x0" allowed_cpuset="0x00000800,,,,,,,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000">
-                  <object type="PU" os_index="172" cpuset="0x00001000,,,,,0x0" complete_cpuset="0x00001000,,,,,0x0" online_cpuset="0x00001000,,,,,0x0" allowed_cpuset="0x00001000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
-                  <object type="PU" os_index="364" cpuset="0x00001000,,,,,,,,,,,0x0" complete_cpuset="0x00001000,,,,,,,,,,,0x0" online_cpuset="0x00001000,,,,,,,,,,,0x0" allowed_cpuset="0x00001000,,,,,,,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+            <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" complete_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" online_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" allowed_cpuset="0x00001000,,,,,,0x00001000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000">
+                    <object type="PU" os_index="172" cpuset="0x00001000,,,,,0x0" complete_cpuset="0x00001000,,,,,0x0" online_cpuset="0x00001000,,,,,0x0" allowed_cpuset="0x00001000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+                    <object type="PU" os_index="364" cpuset="0x00001000,,,,,,,,,,,0x0" complete_cpuset="0x00001000,,,,,,,,,,,0x0" online_cpuset="0x00001000,,,,,,,,,,,0x0" allowed_cpuset="0x00001000,,,,,,,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000">
-                  <object type="PU" os_index="173" cpuset="0x00002000,,,,,0x0" complete_cpuset="0x00002000,,,,,0x0" online_cpuset="0x00002000,,,,,0x0" allowed_cpuset="0x00002000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
-                  <object type="PU" os_index="365" cpuset="0x00002000,,,,,,,,,,,0x0" complete_cpuset="0x00002000,,,,,,,,,,,0x0" online_cpuset="0x00002000,,,,,,,,,,,0x0" allowed_cpuset="0x00002000,,,,,,,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+            <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" complete_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" online_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" allowed_cpuset="0x00002000,,,,,,0x00002000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000">
+                    <object type="PU" os_index="173" cpuset="0x00002000,,,,,0x0" complete_cpuset="0x00002000,,,,,0x0" online_cpuset="0x00002000,,,,,0x0" allowed_cpuset="0x00002000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+                    <object type="PU" os_index="365" cpuset="0x00002000,,,,,,,,,,,0x0" complete_cpuset="0x00002000,,,,,,,,,,,0x0" online_cpuset="0x00002000,,,,,,,,,,,0x0" allowed_cpuset="0x00002000,,,,,,,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000">
-                  <object type="PU" os_index="174" cpuset="0x00004000,,,,,0x0" complete_cpuset="0x00004000,,,,,0x0" online_cpuset="0x00004000,,,,,0x0" allowed_cpuset="0x00004000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
-                  <object type="PU" os_index="366" cpuset="0x00004000,,,,,,,,,,,0x0" complete_cpuset="0x00004000,,,,,,,,,,,0x0" online_cpuset="0x00004000,,,,,,,,,,,0x0" allowed_cpuset="0x00004000,,,,,,,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+            <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" complete_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" online_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" allowed_cpuset="0x00004000,,,,,,0x00004000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000">
+                    <object type="PU" os_index="174" cpuset="0x00004000,,,,,0x0" complete_cpuset="0x00004000,,,,,0x0" online_cpuset="0x00004000,,,,,0x0" allowed_cpuset="0x00004000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+                    <object type="PU" os_index="366" cpuset="0x00004000,,,,,,,,,,,0x0" complete_cpuset="0x00004000,,,,,,,,,,,0x0" online_cpuset="0x00004000,,,,,,,,,,,0x0" allowed_cpuset="0x00004000,,,,,,,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000">
-                  <object type="PU" os_index="175" cpuset="0x00008000,,,,,0x0" complete_cpuset="0x00008000,,,,,0x0" online_cpuset="0x00008000,,,,,0x0" allowed_cpuset="0x00008000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
-                  <object type="PU" os_index="367" cpuset="0x00008000,,,,,,,,,,,0x0" complete_cpuset="0x00008000,,,,,,,,,,,0x0" online_cpuset="0x00008000,,,,,,,,,,,0x0" allowed_cpuset="0x00008000,,,,,,,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+            <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" complete_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" online_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" allowed_cpuset="0x00008000,,,,,,0x00008000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000">
+                    <object type="PU" os_index="175" cpuset="0x00008000,,,,,0x0" complete_cpuset="0x00008000,,,,,0x0" online_cpuset="0x00008000,,,,,0x0" allowed_cpuset="0x00008000,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+                    <object type="PU" os_index="367" cpuset="0x00008000,,,,,,,,,,,0x0" complete_cpuset="0x00008000,,,,,,,,,,,0x0" online_cpuset="0x00008000,,,,,,,,,,,0x0" allowed_cpuset="0x00008000,,,,,,,,,,,0x0" nodeset="0x00200000" complete_nodeset="0x00200000" allowed_nodeset="0x00200000"/>
+                  </object>
                 </object>
               </object>
             </object>
@@ -2702,177 +2724,179 @@
         </object>
       </object>
     </object>
-    <object type="NUMANode" os_index="22" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="22" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000">
-                  <object type="PU" os_index="176" cpuset="0x00010000,,,,,0x0" complete_cpuset="0x00010000,,,,,0x0" online_cpuset="0x00010000,,,,,0x0" allowed_cpuset="0x00010000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
-                  <object type="PU" os_index="368" cpuset="0x00010000,,,,,,,,,,,0x0" complete_cpuset="0x00010000,,,,,,,,,,,0x0" online_cpuset="0x00010000,,,,,,,,,,,0x0" allowed_cpuset="0x00010000,,,,,,,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+    <object type="Group" cpuset="0xffff0000,,,,,,0xffff0000,,,,,0x0" complete_cpuset="0xffff0000,,,,,,0xffff0000,,,,,0x0" online_cpuset="0xffff0000,,,,,,0xffff0000,,,,,0x0" allowed_cpuset="0xffff0000,,,,,,0xffff0000,,,,,0x0" nodeset="0x00c00000" complete_nodeset="0x00c00000" allowed_nodeset="0x00c00000" depth="0">
+      <object type="NUMANode" os_index="22" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="22" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" complete_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" online_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" allowed_cpuset="0x00ff0000,,,,,,0x00ff0000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" complete_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" online_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" allowed_cpuset="0x00010000,,,,,,0x00010000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000">
+                    <object type="PU" os_index="176" cpuset="0x00010000,,,,,0x0" complete_cpuset="0x00010000,,,,,0x0" online_cpuset="0x00010000,,,,,0x0" allowed_cpuset="0x00010000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+                    <object type="PU" os_index="368" cpuset="0x00010000,,,,,,,,,,,0x0" complete_cpuset="0x00010000,,,,,,,,,,,0x0" online_cpuset="0x00010000,,,,,,,,,,,0x0" allowed_cpuset="0x00010000,,,,,,,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000">
-                  <object type="PU" os_index="177" cpuset="0x00020000,,,,,0x0" complete_cpuset="0x00020000,,,,,0x0" online_cpuset="0x00020000,,,,,0x0" allowed_cpuset="0x00020000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
-                  <object type="PU" os_index="369" cpuset="0x00020000,,,,,,,,,,,0x0" complete_cpuset="0x00020000,,,,,,,,,,,0x0" online_cpuset="0x00020000,,,,,,,,,,,0x0" allowed_cpuset="0x00020000,,,,,,,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+            <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" complete_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" online_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" allowed_cpuset="0x00020000,,,,,,0x00020000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000">
+                    <object type="PU" os_index="177" cpuset="0x00020000,,,,,0x0" complete_cpuset="0x00020000,,,,,0x0" online_cpuset="0x00020000,,,,,0x0" allowed_cpuset="0x00020000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+                    <object type="PU" os_index="369" cpuset="0x00020000,,,,,,,,,,,0x0" complete_cpuset="0x00020000,,,,,,,,,,,0x0" online_cpuset="0x00020000,,,,,,,,,,,0x0" allowed_cpuset="0x00020000,,,,,,,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000">
-                  <object type="PU" os_index="178" cpuset="0x00040000,,,,,0x0" complete_cpuset="0x00040000,,,,,0x0" online_cpuset="0x00040000,,,,,0x0" allowed_cpuset="0x00040000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
-                  <object type="PU" os_index="370" cpuset="0x00040000,,,,,,,,,,,0x0" complete_cpuset="0x00040000,,,,,,,,,,,0x0" online_cpuset="0x00040000,,,,,,,,,,,0x0" allowed_cpuset="0x00040000,,,,,,,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+            <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" complete_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" online_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" allowed_cpuset="0x00040000,,,,,,0x00040000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000">
+                    <object type="PU" os_index="178" cpuset="0x00040000,,,,,0x0" complete_cpuset="0x00040000,,,,,0x0" online_cpuset="0x00040000,,,,,0x0" allowed_cpuset="0x00040000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+                    <object type="PU" os_index="370" cpuset="0x00040000,,,,,,,,,,,0x0" complete_cpuset="0x00040000,,,,,,,,,,,0x0" online_cpuset="0x00040000,,,,,,,,,,,0x0" allowed_cpuset="0x00040000,,,,,,,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000">
-                  <object type="PU" os_index="179" cpuset="0x00080000,,,,,0x0" complete_cpuset="0x00080000,,,,,0x0" online_cpuset="0x00080000,,,,,0x0" allowed_cpuset="0x00080000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
-                  <object type="PU" os_index="371" cpuset="0x00080000,,,,,,,,,,,0x0" complete_cpuset="0x00080000,,,,,,,,,,,0x0" online_cpuset="0x00080000,,,,,,,,,,,0x0" allowed_cpuset="0x00080000,,,,,,,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+            <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" complete_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" online_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" allowed_cpuset="0x00080000,,,,,,0x00080000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000">
+                    <object type="PU" os_index="179" cpuset="0x00080000,,,,,0x0" complete_cpuset="0x00080000,,,,,0x0" online_cpuset="0x00080000,,,,,0x0" allowed_cpuset="0x00080000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+                    <object type="PU" os_index="371" cpuset="0x00080000,,,,,,,,,,,0x0" complete_cpuset="0x00080000,,,,,,,,,,,0x0" online_cpuset="0x00080000,,,,,,,,,,,0x0" allowed_cpuset="0x00080000,,,,,,,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000">
-                  <object type="PU" os_index="180" cpuset="0x00100000,,,,,0x0" complete_cpuset="0x00100000,,,,,0x0" online_cpuset="0x00100000,,,,,0x0" allowed_cpuset="0x00100000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
-                  <object type="PU" os_index="372" cpuset="0x00100000,,,,,,,,,,,0x0" complete_cpuset="0x00100000,,,,,,,,,,,0x0" online_cpuset="0x00100000,,,,,,,,,,,0x0" allowed_cpuset="0x00100000,,,,,,,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+            <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" complete_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" online_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" allowed_cpuset="0x00100000,,,,,,0x00100000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000">
+                    <object type="PU" os_index="180" cpuset="0x00100000,,,,,0x0" complete_cpuset="0x00100000,,,,,0x0" online_cpuset="0x00100000,,,,,0x0" allowed_cpuset="0x00100000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+                    <object type="PU" os_index="372" cpuset="0x00100000,,,,,,,,,,,0x0" complete_cpuset="0x00100000,,,,,,,,,,,0x0" online_cpuset="0x00100000,,,,,,,,,,,0x0" allowed_cpuset="0x00100000,,,,,,,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000">
-                  <object type="PU" os_index="181" cpuset="0x00200000,,,,,0x0" complete_cpuset="0x00200000,,,,,0x0" online_cpuset="0x00200000,,,,,0x0" allowed_cpuset="0x00200000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
-                  <object type="PU" os_index="373" cpuset="0x00200000,,,,,,,,,,,0x0" complete_cpuset="0x00200000,,,,,,,,,,,0x0" online_cpuset="0x00200000,,,,,,,,,,,0x0" allowed_cpuset="0x00200000,,,,,,,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+            <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" complete_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" online_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" allowed_cpuset="0x00200000,,,,,,0x00200000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000">
+                    <object type="PU" os_index="181" cpuset="0x00200000,,,,,0x0" complete_cpuset="0x00200000,,,,,0x0" online_cpuset="0x00200000,,,,,0x0" allowed_cpuset="0x00200000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+                    <object type="PU" os_index="373" cpuset="0x00200000,,,,,,,,,,,0x0" complete_cpuset="0x00200000,,,,,,,,,,,0x0" online_cpuset="0x00200000,,,,,,,,,,,0x0" allowed_cpuset="0x00200000,,,,,,,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000">
-                  <object type="PU" os_index="182" cpuset="0x00400000,,,,,0x0" complete_cpuset="0x00400000,,,,,0x0" online_cpuset="0x00400000,,,,,0x0" allowed_cpuset="0x00400000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
-                  <object type="PU" os_index="374" cpuset="0x00400000,,,,,,,,,,,0x0" complete_cpuset="0x00400000,,,,,,,,,,,0x0" online_cpuset="0x00400000,,,,,,,,,,,0x0" allowed_cpuset="0x00400000,,,,,,,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+            <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" complete_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" online_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" allowed_cpuset="0x00400000,,,,,,0x00400000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000">
+                    <object type="PU" os_index="182" cpuset="0x00400000,,,,,0x0" complete_cpuset="0x00400000,,,,,0x0" online_cpuset="0x00400000,,,,,0x0" allowed_cpuset="0x00400000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+                    <object type="PU" os_index="374" cpuset="0x00400000,,,,,,,,,,,0x0" complete_cpuset="0x00400000,,,,,,,,,,,0x0" online_cpuset="0x00400000,,,,,,,,,,,0x0" allowed_cpuset="0x00400000,,,,,,,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000">
-                  <object type="PU" os_index="183" cpuset="0x00800000,,,,,0x0" complete_cpuset="0x00800000,,,,,0x0" online_cpuset="0x00800000,,,,,0x0" allowed_cpuset="0x00800000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
-                  <object type="PU" os_index="375" cpuset="0x00800000,,,,,,,,,,,0x0" complete_cpuset="0x00800000,,,,,,,,,,,0x0" online_cpuset="0x00800000,,,,,,,,,,,0x0" allowed_cpuset="0x00800000,,,,,,,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+            <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" complete_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" online_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" allowed_cpuset="0x00800000,,,,,,0x00800000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000">
+                    <object type="PU" os_index="183" cpuset="0x00800000,,,,,0x0" complete_cpuset="0x00800000,,,,,0x0" online_cpuset="0x00800000,,,,,0x0" allowed_cpuset="0x00800000,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+                    <object type="PU" os_index="375" cpuset="0x00800000,,,,,,,,,,,0x0" complete_cpuset="0x00800000,,,,,,,,,,,0x0" online_cpuset="0x00800000,,,,,,,,,,,0x0" allowed_cpuset="0x00800000,,,,,,,,,,,0x0" nodeset="0x00400000" complete_nodeset="0x00400000" allowed_nodeset="0x00400000"/>
+                  </object>
                 </object>
               </object>
             </object>
           </object>
         </object>
       </object>
-    </object>
-    <object type="NUMANode" os_index="23" cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" local_memory="33269219328">
-      <page_type size="4096" count="8122368"/>
-      <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="23" cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000">
-        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
-        <object type="Cache" cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
-          <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="0" cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000">
-                  <object type="PU" os_index="184" cpuset="0x01000000,,,,,0x0" complete_cpuset="0x01000000,,,,,0x0" online_cpuset="0x01000000,,,,,0x0" allowed_cpuset="0x01000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
-                  <object type="PU" os_index="376" cpuset="0x01000000,,,,,,,,,,,0x0" complete_cpuset="0x01000000,,,,,,,,,,,0x0" online_cpuset="0x01000000,,,,,,,,,,,0x0" allowed_cpuset="0x01000000,,,,,,,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+      <object type="NUMANode" os_index="23" cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="23" cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000">
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <object type="Cache" cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" complete_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" online_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" allowed_cpuset="0xff000000,,,,,,0xff000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" complete_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" online_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" allowed_cpuset="0x01000000,,,,,,0x01000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000">
+                    <object type="PU" os_index="184" cpuset="0x01000000,,,,,0x0" complete_cpuset="0x01000000,,,,,0x0" online_cpuset="0x01000000,,,,,0x0" allowed_cpuset="0x01000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+                    <object type="PU" os_index="376" cpuset="0x01000000,,,,,,,,,,,0x0" complete_cpuset="0x01000000,,,,,,,,,,,0x0" online_cpuset="0x01000000,,,,,,,,,,,0x0" allowed_cpuset="0x01000000,,,,,,,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="1" cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000">
-                  <object type="PU" os_index="185" cpuset="0x02000000,,,,,0x0" complete_cpuset="0x02000000,,,,,0x0" online_cpuset="0x02000000,,,,,0x0" allowed_cpuset="0x02000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
-                  <object type="PU" os_index="377" cpuset="0x02000000,,,,,,,,,,,0x0" complete_cpuset="0x02000000,,,,,,,,,,,0x0" online_cpuset="0x02000000,,,,,,,,,,,0x0" allowed_cpuset="0x02000000,,,,,,,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+            <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" complete_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" online_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" allowed_cpuset="0x02000000,,,,,,0x02000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000">
+                    <object type="PU" os_index="185" cpuset="0x02000000,,,,,0x0" complete_cpuset="0x02000000,,,,,0x0" online_cpuset="0x02000000,,,,,0x0" allowed_cpuset="0x02000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+                    <object type="PU" os_index="377" cpuset="0x02000000,,,,,,,,,,,0x0" complete_cpuset="0x02000000,,,,,,,,,,,0x0" online_cpuset="0x02000000,,,,,,,,,,,0x0" allowed_cpuset="0x02000000,,,,,,,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="2" cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000">
-                  <object type="PU" os_index="186" cpuset="0x04000000,,,,,0x0" complete_cpuset="0x04000000,,,,,0x0" online_cpuset="0x04000000,,,,,0x0" allowed_cpuset="0x04000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
-                  <object type="PU" os_index="378" cpuset="0x04000000,,,,,,,,,,,0x0" complete_cpuset="0x04000000,,,,,,,,,,,0x0" online_cpuset="0x04000000,,,,,,,,,,,0x0" allowed_cpuset="0x04000000,,,,,,,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+            <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" complete_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" online_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" allowed_cpuset="0x04000000,,,,,,0x04000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000">
+                    <object type="PU" os_index="186" cpuset="0x04000000,,,,,0x0" complete_cpuset="0x04000000,,,,,0x0" online_cpuset="0x04000000,,,,,0x0" allowed_cpuset="0x04000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+                    <object type="PU" os_index="378" cpuset="0x04000000,,,,,,,,,,,0x0" complete_cpuset="0x04000000,,,,,,,,,,,0x0" online_cpuset="0x04000000,,,,,,,,,,,0x0" allowed_cpuset="0x04000000,,,,,,,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="3" cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000">
-                  <object type="PU" os_index="187" cpuset="0x08000000,,,,,0x0" complete_cpuset="0x08000000,,,,,0x0" online_cpuset="0x08000000,,,,,0x0" allowed_cpuset="0x08000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
-                  <object type="PU" os_index="379" cpuset="0x08000000,,,,,,,,,,,0x0" complete_cpuset="0x08000000,,,,,,,,,,,0x0" online_cpuset="0x08000000,,,,,,,,,,,0x0" allowed_cpuset="0x08000000,,,,,,,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+            <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" complete_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" online_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" allowed_cpuset="0x08000000,,,,,,0x08000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000">
+                    <object type="PU" os_index="187" cpuset="0x08000000,,,,,0x0" complete_cpuset="0x08000000,,,,,0x0" online_cpuset="0x08000000,,,,,0x0" allowed_cpuset="0x08000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+                    <object type="PU" os_index="379" cpuset="0x08000000,,,,,,,,,,,0x0" complete_cpuset="0x08000000,,,,,,,,,,,0x0" online_cpuset="0x08000000,,,,,,,,,,,0x0" allowed_cpuset="0x08000000,,,,,,,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="4" cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000">
-                  <object type="PU" os_index="188" cpuset="0x10000000,,,,,0x0" complete_cpuset="0x10000000,,,,,0x0" online_cpuset="0x10000000,,,,,0x0" allowed_cpuset="0x10000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
-                  <object type="PU" os_index="380" cpuset="0x10000000,,,,,,,,,,,0x0" complete_cpuset="0x10000000,,,,,,,,,,,0x0" online_cpuset="0x10000000,,,,,,,,,,,0x0" allowed_cpuset="0x10000000,,,,,,,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+            <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" complete_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" online_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" allowed_cpuset="0x10000000,,,,,,0x10000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000">
+                    <object type="PU" os_index="188" cpuset="0x10000000,,,,,0x0" complete_cpuset="0x10000000,,,,,0x0" online_cpuset="0x10000000,,,,,0x0" allowed_cpuset="0x10000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+                    <object type="PU" os_index="380" cpuset="0x10000000,,,,,,,,,,,0x0" complete_cpuset="0x10000000,,,,,,,,,,,0x0" online_cpuset="0x10000000,,,,,,,,,,,0x0" allowed_cpuset="0x10000000,,,,,,,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="5" cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000">
-                  <object type="PU" os_index="189" cpuset="0x20000000,,,,,0x0" complete_cpuset="0x20000000,,,,,0x0" online_cpuset="0x20000000,,,,,0x0" allowed_cpuset="0x20000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
-                  <object type="PU" os_index="381" cpuset="0x20000000,,,,,,,,,,,0x0" complete_cpuset="0x20000000,,,,,,,,,,,0x0" online_cpuset="0x20000000,,,,,,,,,,,0x0" allowed_cpuset="0x20000000,,,,,,,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+            <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" complete_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" online_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" allowed_cpuset="0x20000000,,,,,,0x20000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000">
+                    <object type="PU" os_index="189" cpuset="0x20000000,,,,,0x0" complete_cpuset="0x20000000,,,,,0x0" online_cpuset="0x20000000,,,,,0x0" allowed_cpuset="0x20000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+                    <object type="PU" os_index="381" cpuset="0x20000000,,,,,,,,,,,0x0" complete_cpuset="0x20000000,,,,,,,,,,,0x0" online_cpuset="0x20000000,,,,,,,,,,,0x0" allowed_cpuset="0x20000000,,,,,,,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="6" cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000">
-                  <object type="PU" os_index="190" cpuset="0x40000000,,,,,0x0" complete_cpuset="0x40000000,,,,,0x0" online_cpuset="0x40000000,,,,,0x0" allowed_cpuset="0x40000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
-                  <object type="PU" os_index="382" cpuset="0x40000000,,,,,,,,,,,0x0" complete_cpuset="0x40000000,,,,,,,,,,,0x0" online_cpuset="0x40000000,,,,,,,,,,,0x0" allowed_cpuset="0x40000000,,,,,,,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+            <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" complete_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" online_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" allowed_cpuset="0x40000000,,,,,,0x40000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000">
+                    <object type="PU" os_index="190" cpuset="0x40000000,,,,,0x0" complete_cpuset="0x40000000,,,,,0x0" online_cpuset="0x40000000,,,,,0x0" allowed_cpuset="0x40000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+                    <object type="PU" os_index="382" cpuset="0x40000000,,,,,,,,,,,0x0" complete_cpuset="0x40000000,,,,,,,,,,,0x0" online_cpuset="0x40000000,,,,,,,,,,,0x0" allowed_cpuset="0x40000000,,,,,,,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+                  </object>
                 </object>
               </object>
             </object>
-          </object>
-          <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-            <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-              <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
-                <object type="Core" os_index="7" cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000">
-                  <object type="PU" os_index="191" cpuset="0x80000000,,,,,0x0" complete_cpuset="0x80000000,,,,,0x0" online_cpuset="0x80000000,,,,,0x0" allowed_cpuset="0x80000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
-                  <object type="PU" os_index="383" cpuset="0x80000000,,,,,,,,,,,0x0" complete_cpuset="0x80000000,,,,,,,,,,,0x0" online_cpuset="0x80000000,,,,,,,,,,,0x0" allowed_cpuset="0x80000000,,,,,,,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+            <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" complete_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" online_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" allowed_cpuset="0x80000000,,,,,,0x80000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000">
+                    <object type="PU" os_index="191" cpuset="0x80000000,,,,,0x0" complete_cpuset="0x80000000,,,,,0x0" online_cpuset="0x80000000,,,,,0x0" allowed_cpuset="0x80000000,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+                    <object type="PU" os_index="383" cpuset="0x80000000,,,,,,,,,,,0x0" complete_cpuset="0x80000000,,,,,,,,,,,0x0" online_cpuset="0x80000000,,,,,,,,,,,0x0" allowed_cpuset="0x80000000,,,,,,,,,,,0x0" nodeset="0x00800000" complete_nodeset="0x00800000" allowed_nodeset="0x00800000"/>
+                  </object>
                 </object>
               </object>
             </object>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/24em64t-2n6c2t-pci.xml b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/24em64t-2n6c2t-pci.xml
index f301970..99212ce 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/24em64t-2n6c2t-pci.xml
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/24em64t-2n6c2t-pci.xml
@@ -33,7 +33,7 @@
     <object type="NUMANode" os_index="0" cpuset="0x00555555" complete_cpuset="0x00555555" online_cpuset="0x00555555" allowed_cpuset="0x00555555" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="19316633600">
       <page_type size="4096" count="4715975"/>
       <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="0" cpuset="0x00555555" complete_cpuset="0x00555555" online_cpuset="0x00555555" allowed_cpuset="0x00555555" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+      <object type="Package" os_index="0" cpuset="0x00555555" complete_cpuset="0x00555555" online_cpuset="0x00555555" allowed_cpuset="0x00555555" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
         <object type="Cache" cpuset="0x00555555" complete_cpuset="0x00555555" online_cpuset="0x00555555" allowed_cpuset="0x00555555" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="12582912" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x00001001" complete_cpuset="0x00001001" online_cpuset="0x00001001" allowed_cpuset="0x00001001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
             <object type="Cache" cpuset="0x00001001" complete_cpuset="0x00001001" online_cpuset="0x00001001" allowed_cpuset="0x00001001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
@@ -86,7 +86,7 @@
         </object>
       </object>
       <object type="Bridge" os_index="0" bridge_type="0-1" depth="0" bridge_pci="0000:[00-0f]">
-        <object type="Bridge" os_index="16" name="Intel Corporation X58 I/O Hub PCI Express Root Port 1" bridge_type="1-1" depth="0" bridge_pci="0000:[04-04]" pci_busid="0000:00:01.0" pci_type="0604 [8086:3408] [0000:0000] 13" pci_link_speed="0.400000">
+        <object type="Bridge" os_index="16" name="Intel Corporation X58 I/O Hub PCI Express Root Port 1" bridge_type="1-1" depth="1" bridge_pci="0000:[04-04]" pci_busid="0000:00:01.0" pci_type="0604 [8086:3408] [0000:0000] 13" pci_link_speed="0.400000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="X58 I/O Hub PCI Express Root Port 1"/>
           <object type="PCIDev" os_index="16384" name="Intel Corporation 82576 Gigabit Network Connection" pci_busid="0000:04:00.0" pci_type="0200 [8086:10c9] [003c:003f] 01" pci_link_speed="0.200000">
@@ -104,7 +104,7 @@
             </object>
           </object>
         </object>
-        <object type="Bridge" os_index="80" name="Intel Corporation X58 I/O Hub PCI Express Root Port 5" bridge_type="1-1" depth="0" bridge_pci="0000:[05-05]" pci_busid="0000:00:05.0" pci_type="0604 [8086:340c] [0000:0000] 13" pci_link_speed="2.000000">
+        <object type="Bridge" os_index="80" name="Intel Corporation X58 I/O Hub PCI Express Root Port 5" bridge_type="1-1" depth="1" bridge_pci="0000:[05-05]" pci_busid="0000:00:05.0" pci_type="0604 [8086:340c] [0000:0000] 13" pci_link_speed="2.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="X58 I/O Hub PCI Express Root Port 5"/>
           <object type="PCIDev" os_index="20480" pci_busid="0000:05:00.0" pci_type="0c06 [15b3:6746] [003c:0049] b0" pci_link_speed="2.000000">
@@ -118,14 +118,14 @@
             <object type="OSDev" name="mlx4_0" osdev_type="3"/>
           </object>
         </object>
-        <object type="Bridge" os_index="112" name="Intel Corporation X58 I/O Hub PCI Express Root Port 7" bridge_type="1-1" depth="0" bridge_pci="0000:[06-08]" pci_busid="0000:00:07.0" pci_type="0604 [8086:340e] [0000:0000] 13" pci_link_speed="4.000000">
+        <object type="Bridge" os_index="112" name="Intel Corporation X58 I/O Hub PCI Express Root Port 7" bridge_type="1-1" depth="1" bridge_pci="0000:[06-08]" pci_busid="0000:00:07.0" pci_type="0604 [8086:340e] [0000:0000] 13" pci_link_speed="4.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="X58 I/O Hub PCI Express Root Port 7"/>
           <object type="PCIDev" os_index="24576" pci_busid="0000:06:00.0" pci_type="0302 [10de:06d2] [00de:0030] a3" pci_link_speed="4.000000">
             <info name="PCIVendor" value="nVidia Corporation"/>
           </object>
         </object>
-        <object type="Bridge" os_index="480" name="Intel Corporation 82801 PCI Bridge" bridge_type="1-1" depth="0" bridge_pci="0000:[01-01]" pci_busid="0000:00:1e.0" pci_type="0604 [8086:244e] [0000:0000] 90" pci_link_speed="0.200000">
+        <object type="Bridge" os_index="480" name="Intel Corporation 82801 PCI Bridge" bridge_type="1-1" depth="1" bridge_pci="0000:[01-01]" pci_busid="0000:00:1e.0" pci_type="0604 [8086:244e] [0000:0000] 90" pci_link_speed="0.200000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="82801 PCI Bridge"/>
           <object type="PCIDev" os_index="4144" name="ATI Technologies Inc ES1000" pci_busid="0000:01:03.0" pci_type="0300 [1002:515e] [003c:00fb] 02" pci_link_speed="0.200000">
@@ -147,7 +147,7 @@
     <object type="NUMANode" os_index="1" cpuset="0x00aaaaaa" complete_cpuset="0x00aaaaaa" online_cpuset="0x00aaaaaa" allowed_cpuset="0x00aaaaaa" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="19327348736">
       <page_type size="4096" count="4718591"/>
       <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="1" cpuset="0x00aaaaaa" complete_cpuset="0x00aaaaaa" online_cpuset="0x00aaaaaa" allowed_cpuset="0x00aaaaaa" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+      <object type="Package" os_index="1" cpuset="0x00aaaaaa" complete_cpuset="0x00aaaaaa" online_cpuset="0x00aaaaaa" allowed_cpuset="0x00aaaaaa" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <object type="Cache" cpuset="0x00aaaaaa" complete_cpuset="0x00aaaaaa" online_cpuset="0x00aaaaaa" allowed_cpuset="0x00aaaaaa" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="12582912" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x00002002" complete_cpuset="0x00002002" online_cpuset="0x00002002" allowed_cpuset="0x00002002" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
             <object type="Cache" cpuset="0x00002002" complete_cpuset="0x00002002" online_cpuset="0x00002002" allowed_cpuset="0x00002002" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
@@ -200,14 +200,14 @@
         </object>
       </object>
       <object type="Bridge" os_index="1" bridge_type="0-1" depth="0" bridge_pci="0000:[10-1f]">
-        <object type="Bridge" os_index="65584" name="Intel Corporation X58 I/O Hub PCI Express Root Port 3" bridge_type="1-1" depth="0" bridge_pci="0000:[14-16]" pci_busid="0000:10:03.0" pci_type="0604 [8086:340a] [0000:0000] 13" pci_link_speed="4.000000">
+        <object type="Bridge" os_index="65584" name="Intel Corporation X58 I/O Hub PCI Express Root Port 3" bridge_type="1-1" depth="1" bridge_pci="0000:[14-16]" pci_busid="0000:10:03.0" pci_type="0604 [8086:340a] [0000:0000] 13" pci_link_speed="4.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="X58 I/O Hub PCI Express Root Port 3"/>
           <object type="PCIDev" os_index="81920" pci_busid="0000:14:00.0" pci_type="0302 [10de:06d2] [00de:0030] a3" pci_link_speed="4.000000">
             <info name="PCIVendor" value="nVidia Corporation"/>
           </object>
         </object>
-        <object type="Bridge" os_index="65648" name="Intel Corporation X58 I/O Hub PCI Express Root Port 7" bridge_type="1-1" depth="0" bridge_pci="0000:[11-13]" pci_busid="0000:10:07.0" pci_type="0604 [8086:340e] [0000:0000] 13" pci_link_speed="4.000000">
+        <object type="Bridge" os_index="65648" name="Intel Corporation X58 I/O Hub PCI Express Root Port 7" bridge_type="1-1" depth="1" bridge_pci="0000:[11-13]" pci_busid="0000:10:07.0" pci_type="0604 [8086:340e] [0000:0000] 13" pci_link_speed="4.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="X58 I/O Hub PCI Express Root Port 7"/>
           <object type="PCIDev" os_index="69632" pci_busid="0000:11:00.0" pci_type="0302 [10de:06d2] [00de:0030] a3" pci_link_speed="4.000000">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/32em64t-2n8c2t-pci-noio.xml b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/32em64t-2n8c2t-pci-noio.xml
index 974eb1d..683b7f6 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/32em64t-2n8c2t-pci-noio.xml
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/32em64t-2n8c2t-pci-noio.xml
@@ -33,7 +33,7 @@
     <object type="NUMANode" os_index="0" cpuset="0x00ff00ff" complete_cpuset="0x00ff00ff" online_cpuset="0x00ff00ff" allowed_cpuset="0x00ff00ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="34330173440">
       <page_type size="4096" count="8381390"/>
       <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="0" cpuset="0x00ff00ff" complete_cpuset="0x00ff00ff" online_cpuset="0x00ff00ff" allowed_cpuset="0x00ff00ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+      <object type="Package" os_index="0" cpuset="0x00ff00ff" complete_cpuset="0x00ff00ff" online_cpuset="0x00ff00ff" allowed_cpuset="0x00ff00ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
         <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz"/>
         <info name="CPUType" value="x86_64"/>
         <object type="Cache" cpuset="0x00ff00ff" complete_cpuset="0x00ff00ff" online_cpuset="0x00ff00ff" allowed_cpuset="0x00ff00ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
@@ -107,7 +107,7 @@
     <object type="NUMANode" os_index="1" cpuset="0xff00ff00" complete_cpuset="0xff00ff00" online_cpuset="0xff00ff00" allowed_cpuset="0xff00ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="34359738368">
       <page_type size="4096" count="8388608"/>
       <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="1" cpuset="0xff00ff00" complete_cpuset="0xff00ff00" online_cpuset="0xff00ff00" allowed_cpuset="0xff00ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+      <object type="Package" os_index="1" cpuset="0xff00ff00" complete_cpuset="0xff00ff00" online_cpuset="0xff00ff00" allowed_cpuset="0xff00ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz"/>
         <info name="CPUType" value="x86_64"/>
         <object type="Cache" cpuset="0xff00ff00" complete_cpuset="0xff00ff00" online_cpuset="0xff00ff00" allowed_cpuset="0xff00ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/32em64t-2n8c2t-pci-normalio.xml b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/32em64t-2n8c2t-pci-normalio.xml
index a97ec6a..8c82c15 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/32em64t-2n8c2t-pci-normalio.xml
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/32em64t-2n8c2t-pci-normalio.xml
@@ -33,7 +33,7 @@
     <object type="NUMANode" os_index="0" cpuset="0x00ff00ff" complete_cpuset="0x00ff00ff" online_cpuset="0x00ff00ff" allowed_cpuset="0x00ff00ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="34330173440">
       <page_type size="4096" count="8381390"/>
       <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="0" cpuset="0x00ff00ff" complete_cpuset="0x00ff00ff" online_cpuset="0x00ff00ff" allowed_cpuset="0x00ff00ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+      <object type="Package" os_index="0" cpuset="0x00ff00ff" complete_cpuset="0x00ff00ff" online_cpuset="0x00ff00ff" allowed_cpuset="0x00ff00ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
         <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz"/>
         <info name="CPUType" value="x86_64"/>
         <object type="Cache" cpuset="0x00ff00ff" complete_cpuset="0x00ff00ff" online_cpuset="0x00ff00ff" allowed_cpuset="0x00ff00ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
@@ -104,7 +104,7 @@
         </object>
       </object>
       <object type="Bridge" os_index="0" bridge_type="0-1" depth="0" bridge_pci="0000:[00-05]">
-        <object type="Bridge" os_index="48" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="0" bridge_pci="0000:[03-03]" pci_busid="0000:00:03.0" pci_type="0604 [8086:3c08] [000f:0000] 07" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="48" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0000:[03-03]" pci_busid="0000:00:03.0" pci_type="0604 [8086:3c08] [000f:0000] 07" pci_link_speed="0.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode"/>
           <object type="PCIDev" os_index="12288" name="NVIDIA Corporation Tesla M2075 Dual-Slot Computing Processor Module" pci_busid="0000:03:00.0" pci_type="0302 [10de:1094] [00de:0088] a1" pci_link_speed="0.000000">
@@ -112,7 +112,7 @@
             <info name="PCIDevice" value="Tesla M2075 Dual-Slot Computing Processor Module"/>
           </object>
         </object>
-        <object type="Bridge" os_index="272" name="Intel Corporation C600/X79 series chipset PCI Express Virtual Root Port" bridge_type="1-1" depth="0" bridge_pci="0000:[04-04]" pci_busid="0000:00:11.0" pci_type="0604 [8086:1d3e] [000f:0000] 06" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="272" name="Intel Corporation C600/X79 series chipset PCI Express Virtual Root Port" bridge_type="1-1" depth="1" bridge_pci="0000:[04-04]" pci_busid="0000:00:11.0" pci_type="0604 [8086:1d3e] [000f:0000] 06" pci_link_speed="0.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="C600/X79 series chipset PCI Express Virtual Root Port"/>
           <object type="PCIDev" os_index="16384" name="Intel Corporation C602 chipset 4-Port SATA Storage Control Unit" pci_busid="0000:04:00.0" pci_type="0107 [8086:1d6b] [00d9:0062] 06" pci_link_speed="0.000000">
@@ -120,7 +120,7 @@
             <info name="PCIDevice" value="C602 chipset 4-Port SATA Storage Control Unit"/>
           </object>
         </object>
-        <object type="Bridge" os_index="480" name="Intel Corporation 82801 PCI Bridge" bridge_type="1-1" depth="0" bridge_pci="0000:[05-05]" pci_busid="0000:00:1e.0" pci_type="0604 [8086:244e] [0000:0000] a6" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="480" name="Intel Corporation 82801 PCI Bridge" bridge_type="1-1" depth="1" bridge_pci="0000:[05-05]" pci_busid="0000:00:1e.0" pci_type="0604 [8086:244e] [0000:0000] a6" pci_link_speed="0.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="82801 PCI Bridge"/>
           <object type="PCIDev" os_index="20528" name="Matrox Electronics Systems Ltd. MGA G200eW WPCM450" pci_busid="0000:05:03.0" pci_type="0300 [102b:0532] [00d9:0062] 0a" pci_link_speed="0.000000">
@@ -138,7 +138,7 @@
     <object type="NUMANode" os_index="1" cpuset="0xff00ff00" complete_cpuset="0xff00ff00" online_cpuset="0xff00ff00" allowed_cpuset="0xff00ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="34359738368">
       <page_type size="4096" count="8388608"/>
       <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="1" cpuset="0xff00ff00" complete_cpuset="0xff00ff00" online_cpuset="0xff00ff00" allowed_cpuset="0xff00ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+      <object type="Package" os_index="1" cpuset="0xff00ff00" complete_cpuset="0xff00ff00" online_cpuset="0xff00ff00" allowed_cpuset="0xff00ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz"/>
         <info name="CPUType" value="x86_64"/>
         <object type="Cache" cpuset="0xff00ff00" complete_cpuset="0xff00ff00" online_cpuset="0xff00ff00" allowed_cpuset="0xff00ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
@@ -209,7 +209,7 @@
         </object>
       </object>
       <object type="Bridge" os_index="2" bridge_type="0-1" depth="0" bridge_pci="0000:[80-84]">
-        <object type="Bridge" os_index="524304" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 1a" bridge_type="1-1" depth="0" bridge_pci="0000:[81-82]" pci_busid="0000:80:01.0" pci_type="0604 [8086:3c02] [0000:0000] 07" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="524304" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 1a" bridge_type="1-1" depth="1" bridge_pci="0000:[81-82]" pci_busid="0000:80:01.0" pci_type="0604 [8086:3c02] [0000:0000] 07" pci_link_speed="0.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="Xeon E5/Core i7 IIO PCI Express Root Port 1a"/>
           <object type="PCIDev" os_index="528384" name="Intel Corporation I350 Gigabit Network Connection" pci_busid="0000:81:00.0" pci_type="0200 [8086:1521] [00d9:0021] 01" pci_link_speed="0.000000">
@@ -227,7 +227,7 @@
             </object>
           </object>
         </object>
-        <object type="Bridge" os_index="524320" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 2a" bridge_type="1-1" depth="0" bridge_pci="0000:[83-83]" pci_busid="0000:80:02.0" pci_type="0604 [8086:3c04] [001f:0000] 07" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="524320" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 2a" bridge_type="1-1" depth="1" bridge_pci="0000:[83-83]" pci_busid="0000:80:02.0" pci_type="0604 [8086:3c04] [001f:0000] 07" pci_link_speed="0.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="Xeon E5/Core i7 IIO PCI Express Root Port 2a"/>
           <object type="PCIDev" os_index="536576" name="NVIDIA Corporation Tesla M2075 Dual-Slot Computing Processor Module" pci_busid="0000:83:00.0" pci_type="0302 [10de:1094] [00de:0088] a1" pci_link_speed="0.000000">
@@ -235,7 +235,7 @@
             <info name="PCIDevice" value="Tesla M2075 Dual-Slot Computing Processor Module"/>
           </object>
         </object>
-        <object type="Bridge" os_index="524336" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="0" bridge_pci="0000:[84-84]" pci_busid="0000:80:03.0" pci_type="0604 [8086:3c08] [001f:0000] 07" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="524336" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0000:[84-84]" pci_busid="0000:80:03.0" pci_type="0604 [8086:3c08] [001f:0000] 07" pci_link_speed="0.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode"/>
           <object type="PCIDev" os_index="540672" name="NVIDIA Corporation Tesla M2075 Dual-Slot Computing Processor Module" pci_busid="0000:84:00.0" pci_type="0302 [10de:1094] [00de:0088] a1" pci_link_speed="0.000000">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/32em64t-2n8c2t-pci-wholeio.xml b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/32em64t-2n8c2t-pci-wholeio.xml
index 119cb78..047b637 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/32em64t-2n8c2t-pci-wholeio.xml
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/32em64t-2n8c2t-pci-wholeio.xml
@@ -33,7 +33,7 @@
     <object type="NUMANode" os_index="0" cpuset="0x00ff00ff" complete_cpuset="0x00ff00ff" online_cpuset="0x00ff00ff" allowed_cpuset="0x00ff00ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="34330173440">
       <page_type size="4096" count="8381390"/>
       <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="0" cpuset="0x00ff00ff" complete_cpuset="0x00ff00ff" online_cpuset="0x00ff00ff" allowed_cpuset="0x00ff00ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+      <object type="Package" os_index="0" cpuset="0x00ff00ff" complete_cpuset="0x00ff00ff" online_cpuset="0x00ff00ff" allowed_cpuset="0x00ff00ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
         <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz"/>
         <info name="CPUType" value="x86_64"/>
         <object type="Cache" cpuset="0x00ff00ff" complete_cpuset="0x00ff00ff" online_cpuset="0x00ff00ff" allowed_cpuset="0x00ff00ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
@@ -108,15 +108,15 @@
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="Xeon E5/Core i7 DMI2"/>
         </object>
-        <object type="Bridge" os_index="16" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 1a" bridge_type="1-1" depth="0" bridge_pci="0000:[01-01]" pci_busid="0000:00:01.0" pci_type="0604 [8086:3c02] [0000:0000] 07" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="16" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 1a" bridge_type="1-1" depth="1" bridge_pci="0000:[01-01]" pci_busid="0000:00:01.0" pci_type="0604 [8086:3c02] [0000:0000] 07" pci_link_speed="0.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="Xeon E5/Core i7 IIO PCI Express Root Port 1a"/>
         </object>
-        <object type="Bridge" os_index="32" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 2a" bridge_type="1-1" depth="0" bridge_pci="0000:[02-02]" pci_busid="0000:00:02.0" pci_type="0604 [8086:3c04] [0000:0000] 07" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="32" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 2a" bridge_type="1-1" depth="1" bridge_pci="0000:[02-02]" pci_busid="0000:00:02.0" pci_type="0604 [8086:3c04] [0000:0000] 07" pci_link_speed="0.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="Xeon E5/Core i7 IIO PCI Express Root Port 2a"/>
         </object>
-        <object type="Bridge" os_index="48" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="0" bridge_pci="0000:[03-03]" pci_busid="0000:00:03.0" pci_type="0604 [8086:3c08] [000f:0000] 07" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="48" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0000:[03-03]" pci_busid="0000:00:03.0" pci_type="0604 [8086:3c08] [000f:0000] 07" pci_link_speed="0.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode"/>
           <object type="PCIDev" os_index="12288" name="NVIDIA Corporation Tesla M2075 Dual-Slot Computing Processor Module" pci_busid="0000:03:00.0" pci_type="0302 [10de:1094] [00de:0088] a1" pci_link_speed="0.000000">
@@ -176,7 +176,7 @@
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="Xeon E5/Core i7 I/O APIC"/>
         </object>
-        <object type="Bridge" os_index="272" name="Intel Corporation C600/X79 series chipset PCI Express Virtual Root Port" bridge_type="1-1" depth="0" bridge_pci="0000:[04-04]" pci_busid="0000:00:11.0" pci_type="0604 [8086:1d3e] [000f:0000] 06" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="272" name="Intel Corporation C600/X79 series chipset PCI Express Virtual Root Port" bridge_type="1-1" depth="1" bridge_pci="0000:[04-04]" pci_busid="0000:00:11.0" pci_type="0604 [8086:1d3e] [000f:0000] 06" pci_link_speed="0.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="C600/X79 series chipset PCI Express Virtual Root Port"/>
           <object type="PCIDev" os_index="16384" name="Intel Corporation C602 chipset 4-Port SATA Storage Control Unit" pci_busid="0000:04:00.0" pci_type="0107 [8086:1d6b] [00d9:0062] 06" pci_link_speed="0.000000">
@@ -200,7 +200,7 @@
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="C600/X79 series chipset USB2 Enhanced Host Controller #1"/>
         </object>
-        <object type="Bridge" os_index="480" name="Intel Corporation 82801 PCI Bridge" bridge_type="1-1" depth="0" bridge_pci="0000:[05-05]" pci_busid="0000:00:1e.0" pci_type="0604 [8086:244e] [0000:0000] a6" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="480" name="Intel Corporation 82801 PCI Bridge" bridge_type="1-1" depth="1" bridge_pci="0000:[05-05]" pci_busid="0000:00:1e.0" pci_type="0604 [8086:244e] [0000:0000] a6" pci_link_speed="0.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="82801 PCI Bridge"/>
           <object type="PCIDev" os_index="20528" name="Matrox Electronics Systems Ltd. MGA G200eW WPCM450" pci_busid="0000:05:03.0" pci_type="0300 [102b:0532] [00d9:0062] 0a" pci_link_speed="0.000000">
@@ -230,7 +230,7 @@
     <object type="NUMANode" os_index="1" cpuset="0xff00ff00" complete_cpuset="0xff00ff00" online_cpuset="0xff00ff00" allowed_cpuset="0xff00ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="34359738368">
       <page_type size="4096" count="8388608"/>
       <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="1" cpuset="0xff00ff00" complete_cpuset="0xff00ff00" online_cpuset="0xff00ff00" allowed_cpuset="0xff00ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+      <object type="Package" os_index="1" cpuset="0xff00ff00" complete_cpuset="0xff00ff00" online_cpuset="0xff00ff00" allowed_cpuset="0xff00ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz"/>
         <info name="CPUType" value="x86_64"/>
         <object type="Cache" cpuset="0xff00ff00" complete_cpuset="0xff00ff00" online_cpuset="0xff00ff00" allowed_cpuset="0xff00ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
@@ -301,7 +301,7 @@
         </object>
       </object>
       <object type="Bridge" os_index="2" bridge_type="0-1" depth="0" bridge_pci="0000:[80-84]">
-        <object type="Bridge" os_index="524304" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 1a" bridge_type="1-1" depth="0" bridge_pci="0000:[81-82]" pci_busid="0000:80:01.0" pci_type="0604 [8086:3c02] [0000:0000] 07" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="524304" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 1a" bridge_type="1-1" depth="1" bridge_pci="0000:[81-82]" pci_busid="0000:80:01.0" pci_type="0604 [8086:3c02] [0000:0000] 07" pci_link_speed="0.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="Xeon E5/Core i7 IIO PCI Express Root Port 1a"/>
           <object type="PCIDev" os_index="528384" name="Intel Corporation I350 Gigabit Network Connection" pci_busid="0000:81:00.0" pci_type="0200 [8086:1521] [00d9:0021] 01" pci_link_speed="0.000000">
@@ -319,7 +319,7 @@
             </object>
           </object>
         </object>
-        <object type="Bridge" os_index="524320" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 2a" bridge_type="1-1" depth="0" bridge_pci="0000:[83-83]" pci_busid="0000:80:02.0" pci_type="0604 [8086:3c04] [001f:0000] 07" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="524320" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 2a" bridge_type="1-1" depth="1" bridge_pci="0000:[83-83]" pci_busid="0000:80:02.0" pci_type="0604 [8086:3c04] [001f:0000] 07" pci_link_speed="0.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="Xeon E5/Core i7 IIO PCI Express Root Port 2a"/>
           <object type="PCIDev" os_index="536576" name="NVIDIA Corporation Tesla M2075 Dual-Slot Computing Processor Module" pci_busid="0000:83:00.0" pci_type="0302 [10de:1094] [00de:0088] a1" pci_link_speed="0.000000">
@@ -327,7 +327,7 @@
             <info name="PCIDevice" value="Tesla M2075 Dual-Slot Computing Processor Module"/>
           </object>
         </object>
-        <object type="Bridge" os_index="524336" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="0" bridge_pci="0000:[84-84]" pci_busid="0000:80:03.0" pci_type="0604 [8086:3c08] [001f:0000] 07" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="524336" name="Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0000:[84-84]" pci_busid="0000:80:03.0" pci_type="0604 [8086:3c08] [001f:0000] 07" pci_link_speed="0.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode"/>
           <object type="PCIDev" os_index="540672" name="NVIDIA Corporation Tesla M2075 Dual-Slot Computing Processor Module" pci_busid="0000:84:00.0" pci_type="0302 [10de:1094] [00de:0088] a1" pci_link_speed="0.000000">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.console.env b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.console.env
new file mode 100644
index 0000000..b029487
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.console.env
@@ -0,0 +1,5 @@
+# make sure we use default numeric formats
+# we really want to check the distance matrix here (in case it gets truncated or so)
+LANG=C
+LC_ALL=C
+export LANG LC_ALL
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.console.options b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.console.options
new file mode 100644
index 0000000..fb7bd2e
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.console.options
@@ -0,0 +1 @@
+--of console -v --whole-system
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.console.output b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.console.output
new file mode 100644
index 0000000..159cfef
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.console.output
@@ -0,0 +1,398 @@
+Machine (P#0 total=259890340KB DMIProductName=UV2000 DMIProductVersion=SGI DMIBoardVendor="Intel Corp." DMIBoardName=ROMLEY DMIBoardVersion=E63448-400 DMIBoardAssetTag="Base Board Asset Tag" DMIChassisVendor="Intel Corporation" DMIChassisType=23 DMIChassisVersion=0.1 DMIChassisAssetTag="Chassis Asset Tag" DMIBIOSVendor="Silicon Graphics International Corp." DMIBIOSVersion="SGI UV 2000/3000 series BIOS" DMIBIOSDate=01/15/2013 DMISysVendor=SGI Backend=Linux LinuxCgroup=/boot OSName=Linux OSRelease=3.0.80-0.7-default OSVersion="#1 SMP Tue Jun 25 18:32:49 UTC 2013 (25740f8)" HostName=condor Architecture=x86_64 hwlocVersion=2.0.0a1-git ProcessName=lstopo-no-graphics)
+  Group0 L#0 (total=64953508KB)
+    NUMANode L#0 (P#0 local=32464036KB total=32464036KB)
+      Package L#0 (P#0 CPUVendor=GenuineIntel CPUFamilyNumber=6 CPUModelNumber=45 CPUModel="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz" CPUStepping=7)
+        L3Cache L#0 (size=20480KB linesize=64 ways=20)
+          L2Cache L#0 (size=256KB linesize=64 ways=8)
+            L1dCache L#0 (size=32KB linesize=64 ways=8)
+              L1iCache L#0 (size=32KB linesize=64 ways=8)
+                Core L#0 (P#0)
+                  PU L#0 (P#0)
+          L2Cache L#1 (size=256KB linesize=64 ways=8)
+            L1dCache L#1 (size=32KB linesize=64 ways=8)
+              L1iCache L#1 (size=32KB linesize=64 ways=8)
+                Core L#1 (P#1)
+                  PU L#1 (P#1)
+          L2Cache L#2 (size=256KB linesize=64 ways=8)
+            L1dCache L#2 (size=32KB linesize=64 ways=8)
+              L1iCache L#2 (size=32KB linesize=64 ways=8)
+                Core L#2 (P#2)
+                  PU L#2 (P#2)
+          L2Cache L#3 (size=256KB linesize=64 ways=8)
+            L1dCache L#3 (size=32KB linesize=64 ways=8)
+              L1iCache L#3 (size=32KB linesize=64 ways=8)
+                Core L#3 (P#3)
+                  PU L#3 (P#3)
+          L2Cache L#4 (size=256KB linesize=64 ways=8)
+            L1dCache L#4 (size=32KB linesize=64 ways=8)
+              L1iCache L#4 (size=32KB linesize=64 ways=8)
+                Core L#4 (P#4)
+                  PU L#4 (P#4)
+          L2Cache L#5 (size=256KB linesize=64 ways=8)
+            L1dCache L#5 (size=32KB linesize=64 ways=8)
+              L1iCache L#5 (size=32KB linesize=64 ways=8)
+                Core L#5 (P#5)
+                  PU L#5 (P#5)
+          L2Cache L#6 (size=256KB linesize=64 ways=8)
+            L1dCache L#6 (size=32KB linesize=64 ways=8)
+              L1iCache L#6 (size=32KB linesize=64 ways=8)
+                Core L#6 (P#6)
+                  PU L#6 (P#6)
+          L2Cache L#7 (size=256KB linesize=64 ways=8)
+            L1dCache L#7 (size=32KB linesize=64 ways=8)
+              L1iCache L#7 (size=32KB linesize=64 ways=8)
+                Core L#7 (P#7)
+                  PU L#7 (P#7)
+      Bridge Host->PCI L#0 (P#0 buses=0000:[00-0a])
+        Bridge PCI->PCI (P#48 busid=0000:00:03.0 id=8086:3c08 class=0604(PCI_B) buses=0000:[01-02] PCIVendor="Intel Corporation" PCIDevice="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode") "Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"
+          PCI 8086:1521 (P#4096 busid=0000:01:00.0 class=0200(Ether) PCIVendor="Intel Corporation" PCIDevice="I350 Gigabit Network Connection") "Intel Corporation I350 Gigabit Network Connection"
+            Network L#0 (Address=08:00:69:16:d0:b9) "eth0"
+          PCI 8086:1521 (P#4097 busid=0000:01:00.1 class=0200(Ether) PCIVendor="Intel Corporation" PCIDevice="I350 Gigabit Network Connection") "Intel Corporation I350 Gigabit Network Connection"
+            Network L#1 (Address=08:00:69:16:d0:ba) "eth1"
+        Bridge PCI->PCI (P#448 busid=0000:00:1c.0 id=8086:1d1e class=0604(PCI_B) buses=0000:[05-09] PCIVendor="Intel Corporation" PCIDevice="Patsburg PCI Express Root Port 8") "Intel Corporation Patsburg PCI Express Root Port 8"
+          Bridge PCI->PCI (P#20480 busid=0000:05:00.0 id=1912:0013 class=0604(PCI_B) buses=0000:[06-09] PCIVendor="Renesas Technology Corp." PCIDevice="SH7757 PCIe Switch [PS]") "Renesas Technology Corp. SH7757 PCIe Switch [PS]"
+            Bridge PCI->PCI (P#24576 busid=0000:06:00.0 id=1912:0013 class=0604(PCI_B) buses=0000:[07-08] PCIVendor="Renesas Technology Corp." PCIDevice="SH7757 PCIe Switch [PS]") "Renesas Technology Corp. SH7757 PCIe Switch [PS]"
+              Bridge PCI->PCI (P#28672 busid=0000:07:00.0 id=1912:0012 class=0604(PCI_B) buses=0000:[08-08] PCIVendor="Renesas Technology Corp." PCIDevice="SH7757 PCIe-PCI Bridge [PPB]") "Renesas Technology Corp. SH7757 PCIe-PCI Bridge [PPB]"
+                PCI 102b:0534 (P#32768 busid=0000:08:00.0 class=0300(VGA) PCIVendor="Matrox Graphics, Inc." PCIDevice=G200eR2) "Matrox Graphics, Inc. G200eR2"
+        PCI 8086:1d02 (P#498 busid=0000:00:1f.2 class=0106(SATA) PCIVendor="Intel Corporation" PCIDevice="Patsburg 6-Port SATA AHCI Controller") "Intel Corporation Patsburg 6-Port SATA AHCI Controller"
+    NUMANode L#1 (P#1 local=32489472KB total=32489472KB)
+      Package L#1 (P#1 CPUVendor=GenuineIntel CPUFamilyNumber=6 CPUModelNumber=45 CPUModel="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz" CPUStepping=7)
+        L3Cache L#1 (size=20480KB linesize=64 ways=20)
+          L2Cache L#8 (size=256KB linesize=64 ways=8)
+            L1dCache L#8 (size=32KB linesize=64 ways=8)
+              L1iCache L#8 (size=32KB linesize=64 ways=8)
+                Core L#8 (P#0)
+                  PU L#8 (P#8)
+          L2Cache L#9 (size=256KB linesize=64 ways=8)
+            L1dCache L#9 (size=32KB linesize=64 ways=8)
+              L1iCache L#9 (size=32KB linesize=64 ways=8)
+                Core L#9 (P#1)
+                  PU L#9 (P#9)
+          L2Cache L#10 (size=256KB linesize=64 ways=8)
+            L1dCache L#10 (size=32KB linesize=64 ways=8)
+              L1iCache L#10 (size=32KB linesize=64 ways=8)
+                Core L#10 (P#2)
+                  PU L#10 (P#10)
+          L2Cache L#11 (size=256KB linesize=64 ways=8)
+            L1dCache L#11 (size=32KB linesize=64 ways=8)
+              L1iCache L#11 (size=32KB linesize=64 ways=8)
+                Core L#11 (P#3)
+                  PU L#11 (P#11)
+          L2Cache L#12 (size=256KB linesize=64 ways=8)
+            L1dCache L#12 (size=32KB linesize=64 ways=8)
+              L1iCache L#12 (size=32KB linesize=64 ways=8)
+                Core L#12 (P#4)
+                  PU L#12 (P#12)
+          L2Cache L#13 (size=256KB linesize=64 ways=8)
+            L1dCache L#13 (size=32KB linesize=64 ways=8)
+              L1iCache L#13 (size=32KB linesize=64 ways=8)
+                Core L#13 (P#5)
+                  PU L#13 (P#13)
+          L2Cache L#14 (size=256KB linesize=64 ways=8)
+            L1dCache L#14 (size=32KB linesize=64 ways=8)
+              L1iCache L#14 (size=32KB linesize=64 ways=8)
+                Core L#14 (P#6)
+                  PU L#14 (P#14)
+          L2Cache L#15 (size=256KB linesize=64 ways=8)
+            L1dCache L#15 (size=32KB linesize=64 ways=8)
+              L1iCache L#15 (size=32KB linesize=64 ways=8)
+                Core L#15 (P#7)
+                  PU L#15 (P#15)
+      Bridge Host->PCI L#6 (P#1 buses=0001:[00-02])
+        Bridge PCI->PCI (P#1048624 busid=0001:00:03.0 id=8086:3c08 class=0604(PCI_B) buses=0001:[02-02] PCIVendor="Intel Corporation" PCIDevice="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode") "Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"
+          PCI 1000:0079 (P#1056768 busid=0001:02:00.0 class=0104(RAID) PCIVendor="LSI Logic / Symbios Logic" PCIDevice="MegaRAID SAS 2108 [Liberator]") "LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator]"
+            Block L#2 (LinuxDeviceID=8:0) "sda"
+  Group0 L#1 (total=64978944KB)
+    NUMANode L#2 (P#2 local=32489472KB total=32489472KB)
+      Package L#2 (P#2 CPUVendor=GenuineIntel CPUFamilyNumber=6 CPUModelNumber=45 CPUModel="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz" CPUStepping=7)
+        L3Cache L#2 (size=20480KB linesize=64 ways=20)
+          L2Cache L#16 (size=256KB linesize=64 ways=8)
+            L1dCache L#16 (size=32KB linesize=64 ways=8)
+              L1iCache L#16 (size=32KB linesize=64 ways=8)
+                Core L#16 (P#0)
+                  PU L#16 (P#16) (forbidden)
+          L2Cache L#17 (size=256KB linesize=64 ways=8)
+            L1dCache L#17 (size=32KB linesize=64 ways=8)
+              L1iCache L#17 (size=32KB linesize=64 ways=8)
+                Core L#17 (P#1)
+                  PU L#17 (P#17) (forbidden)
+          L2Cache L#18 (size=256KB linesize=64 ways=8)
+            L1dCache L#18 (size=32KB linesize=64 ways=8)
+              L1iCache L#18 (size=32KB linesize=64 ways=8)
+                Core L#18 (P#2)
+                  PU L#18 (P#18) (forbidden)
+          L2Cache L#19 (size=256KB linesize=64 ways=8)
+            L1dCache L#19 (size=32KB linesize=64 ways=8)
+              L1iCache L#19 (size=32KB linesize=64 ways=8)
+                Core L#19 (P#3)
+                  PU L#19 (P#19) (forbidden)
+          L2Cache L#20 (size=256KB linesize=64 ways=8)
+            L1dCache L#20 (size=32KB linesize=64 ways=8)
+              L1iCache L#20 (size=32KB linesize=64 ways=8)
+                Core L#20 (P#4)
+                  PU L#20 (P#20) (forbidden)
+          L2Cache L#21 (size=256KB linesize=64 ways=8)
+            L1dCache L#21 (size=32KB linesize=64 ways=8)
+              L1iCache L#21 (size=32KB linesize=64 ways=8)
+                Core L#21 (P#5)
+                  PU L#21 (P#21) (forbidden)
+          L2Cache L#22 (size=256KB linesize=64 ways=8)
+            L1dCache L#22 (size=32KB linesize=64 ways=8)
+              L1iCache L#22 (size=32KB linesize=64 ways=8)
+                Core L#22 (P#6)
+                  PU L#22 (P#22) (forbidden)
+          L2Cache L#23 (size=256KB linesize=64 ways=8)
+            L1dCache L#23 (size=32KB linesize=64 ways=8)
+              L1iCache L#23 (size=32KB linesize=64 ways=8)
+                Core L#23 (P#7)
+                  PU L#23 (P#23) (forbidden)
+    NUMANode L#3 (P#3 local=32489472KB total=32489472KB)
+      Package L#3 (P#3 CPUVendor=GenuineIntel CPUFamilyNumber=6 CPUModelNumber=45 CPUModel="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz" CPUStepping=7)
+        L3Cache L#3 (size=20480KB linesize=64 ways=20)
+          L2Cache L#24 (size=256KB linesize=64 ways=8)
+            L1dCache L#24 (size=32KB linesize=64 ways=8)
+              L1iCache L#24 (size=32KB linesize=64 ways=8)
+                Core L#24 (P#0)
+                  PU L#24 (P#24) (forbidden)
+          L2Cache L#25 (size=256KB linesize=64 ways=8)
+            L1dCache L#25 (size=32KB linesize=64 ways=8)
+              L1iCache L#25 (size=32KB linesize=64 ways=8)
+                Core L#25 (P#1)
+                  PU L#25 (P#25) (forbidden)
+          L2Cache L#26 (size=256KB linesize=64 ways=8)
+            L1dCache L#26 (size=32KB linesize=64 ways=8)
+              L1iCache L#26 (size=32KB linesize=64 ways=8)
+                Core L#26 (P#2)
+                  PU L#26 (P#26) (forbidden)
+          L2Cache L#27 (size=256KB linesize=64 ways=8)
+            L1dCache L#27 (size=32KB linesize=64 ways=8)
+              L1iCache L#27 (size=32KB linesize=64 ways=8)
+                Core L#27 (P#3)
+                  PU L#27 (P#27) (forbidden)
+          L2Cache L#28 (size=256KB linesize=64 ways=8)
+            L1dCache L#28 (size=32KB linesize=64 ways=8)
+              L1iCache L#28 (size=32KB linesize=64 ways=8)
+                Core L#28 (P#4)
+                  PU L#28 (P#28) (forbidden)
+          L2Cache L#29 (size=256KB linesize=64 ways=8)
+            L1dCache L#29 (size=32KB linesize=64 ways=8)
+              L1iCache L#29 (size=32KB linesize=64 ways=8)
+                Core L#29 (P#5)
+                  PU L#29 (P#29) (forbidden)
+          L2Cache L#30 (size=256KB linesize=64 ways=8)
+            L1dCache L#30 (size=32KB linesize=64 ways=8)
+              L1iCache L#30 (size=32KB linesize=64 ways=8)
+                Core L#30 (P#6)
+                  PU L#30 (P#30) (forbidden)
+          L2Cache L#31 (size=256KB linesize=64 ways=8)
+            L1dCache L#31 (size=32KB linesize=64 ways=8)
+              L1iCache L#31 (size=32KB linesize=64 ways=8)
+                Core L#31 (P#7)
+                  PU L#31 (P#31) (forbidden)
+  NUMANode L#4 (P#4 local=32489472KB total=32489472KB)
+    Package L#4 (P#4 CPUVendor=GenuineIntel CPUFamilyNumber=6 CPUModelNumber=45 CPUModel="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz" CPUStepping=7)
+      L3Cache L#4 (size=20480KB linesize=64 ways=20)
+        L2Cache L#32 (size=256KB linesize=64 ways=8)
+          L1dCache L#32 (size=32KB linesize=64 ways=8)
+            L1iCache L#32 (size=32KB linesize=64 ways=8)
+              Core L#32 (P#0)
+                PU L#32 (P#32) (forbidden)
+        L2Cache L#33 (size=256KB linesize=64 ways=8)
+          L1dCache L#33 (size=32KB linesize=64 ways=8)
+            L1iCache L#33 (size=32KB linesize=64 ways=8)
+              Core L#33 (P#1)
+                PU L#33 (P#33) (forbidden)
+        L2Cache L#34 (size=256KB linesize=64 ways=8)
+          L1dCache L#34 (size=32KB linesize=64 ways=8)
+            L1iCache L#34 (size=32KB linesize=64 ways=8)
+              Core L#34 (P#2)
+                PU L#34 (P#34) (forbidden)
+        L2Cache L#35 (size=256KB linesize=64 ways=8)
+          L1dCache L#35 (size=32KB linesize=64 ways=8)
+            L1iCache L#35 (size=32KB linesize=64 ways=8)
+              Core L#35 (P#3)
+                PU L#35 (P#35) (forbidden)
+        L2Cache L#36 (size=256KB linesize=64 ways=8)
+          L1dCache L#36 (size=32KB linesize=64 ways=8)
+            L1iCache L#36 (size=32KB linesize=64 ways=8)
+              Core L#36 (P#4)
+                PU L#36 (P#36) (forbidden)
+        L2Cache L#37 (size=256KB linesize=64 ways=8)
+          L1dCache L#37 (size=32KB linesize=64 ways=8)
+            L1iCache L#37 (size=32KB linesize=64 ways=8)
+              Core L#37 (P#5)
+                PU L#37 (P#37) (forbidden)
+        L2Cache L#38 (size=256KB linesize=64 ways=8)
+          L1dCache L#38 (size=32KB linesize=64 ways=8)
+            L1iCache L#38 (size=32KB linesize=64 ways=8)
+              Core L#38 (P#6)
+                PU L#38 (P#38) (forbidden)
+        L2Cache L#39 (size=256KB linesize=64 ways=8)
+          L1dCache L#39 (size=32KB linesize=64 ways=8)
+            L1iCache L#39 (size=32KB linesize=64 ways=8)
+              Core L#39 (P#7)
+                PU L#39 (P#39) (forbidden)
+    Bridge Host->PCI L#8 (P#2 buses=0002:[00-01])
+      Bridge PCI->PCI (P#2097200 busid=0002:00:03.0 id=8086:3c08 class=0604(PCI_B) buses=0002:[01-01] PCIVendor="Intel Corporation" PCIDevice="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode") "Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"
+        PCI 10de:11ba (P#2101248 busid=0002:01:00.0 class=0300(VGA) PCIVendor="nVidia Corporation") "nVidia Corporation"
+  Group0 L#2 (total=64978944KB)
+    NUMANode L#5 (P#5 local=32489472KB total=32489472KB)
+      Package L#5 (P#6 CPUVendor=GenuineIntel CPUFamilyNumber=6 CPUModelNumber=45 CPUModel="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz" CPUStepping=7)
+        L3Cache L#5 (size=20480KB linesize=64 ways=20)
+          L2Cache L#40 (size=256KB linesize=64 ways=8)
+            L1dCache L#40 (size=32KB linesize=64 ways=8)
+              L1iCache L#40 (size=32KB linesize=64 ways=8)
+                Core L#40 (P#0)
+                  PU L#40 (P#40) (forbidden)
+          L2Cache L#41 (size=256KB linesize=64 ways=8)
+            L1dCache L#41 (size=32KB linesize=64 ways=8)
+              L1iCache L#41 (size=32KB linesize=64 ways=8)
+                Core L#41 (P#1)
+                  PU L#41 (P#41) (forbidden)
+          L2Cache L#42 (size=256KB linesize=64 ways=8)
+            L1dCache L#42 (size=32KB linesize=64 ways=8)
+              L1iCache L#42 (size=32KB linesize=64 ways=8)
+                Core L#42 (P#2)
+                  PU L#42 (P#42) (forbidden)
+          L2Cache L#43 (size=256KB linesize=64 ways=8)
+            L1dCache L#43 (size=32KB linesize=64 ways=8)
+              L1iCache L#43 (size=32KB linesize=64 ways=8)
+                Core L#43 (P#3)
+                  PU L#43 (P#43) (forbidden)
+          L2Cache L#44 (size=256KB linesize=64 ways=8)
+            L1dCache L#44 (size=32KB linesize=64 ways=8)
+              L1iCache L#44 (size=32KB linesize=64 ways=8)
+                Core L#44 (P#4)
+                  PU L#44 (P#44) (forbidden)
+          L2Cache L#45 (size=256KB linesize=64 ways=8)
+            L1dCache L#45 (size=32KB linesize=64 ways=8)
+              L1iCache L#45 (size=32KB linesize=64 ways=8)
+                Core L#45 (P#5)
+                  PU L#45 (P#45) (forbidden)
+          L2Cache L#46 (size=256KB linesize=64 ways=8)
+            L1dCache L#46 (size=32KB linesize=64 ways=8)
+              L1iCache L#46 (size=32KB linesize=64 ways=8)
+                Core L#46 (P#6)
+                  PU L#46 (P#46) (forbidden)
+          L2Cache L#47 (size=256KB linesize=64 ways=8)
+            L1dCache L#47 (size=32KB linesize=64 ways=8)
+              L1iCache L#47 (size=32KB linesize=64 ways=8)
+                Core L#47 (P#7)
+                  PU L#47 (P#47) (forbidden)
+      Bridge Host->PCI L#10 (P#3 buses=0003:[00-02])
+        Bridge PCI->PCI (P#3145776 busid=0003:00:03.0 id=8086:3c08 class=0604(PCI_B) buses=0003:[01-02] PCIVendor="Intel Corporation" PCIDevice="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode") "Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"
+          PCI 1000:0072 (P#3149824 busid=0003:01:00.0 class=0107(SAS) PCIVendor="LSI Logic / Symbios Logic" PCIDevice="SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon]") "LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon]"
+    NUMANode L#6 (P#6 local=32489472KB total=32489472KB)
+      Package L#6 (P#7 CPUVendor=GenuineIntel CPUFamilyNumber=6 CPUModelNumber=45 CPUModel="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz" CPUStepping=7)
+        L3Cache L#6 (size=20480KB linesize=64 ways=20)
+          L2Cache L#48 (size=256KB linesize=64 ways=8)
+            L1dCache L#48 (size=32KB linesize=64 ways=8)
+              L1iCache L#48 (size=32KB linesize=64 ways=8)
+                Core L#48 (P#0)
+                  PU L#48 (P#48) (forbidden)
+          L2Cache L#49 (size=256KB linesize=64 ways=8)
+            L1dCache L#49 (size=32KB linesize=64 ways=8)
+              L1iCache L#49 (size=32KB linesize=64 ways=8)
+                Core L#49 (P#1)
+                  PU L#49 (P#49) (forbidden)
+          L2Cache L#50 (size=256KB linesize=64 ways=8)
+            L1dCache L#50 (size=32KB linesize=64 ways=8)
+              L1iCache L#50 (size=32KB linesize=64 ways=8)
+                Core L#50 (P#2)
+                  PU L#50 (P#50) (forbidden)
+          L2Cache L#51 (size=256KB linesize=64 ways=8)
+            L1dCache L#51 (size=32KB linesize=64 ways=8)
+              L1iCache L#51 (size=32KB linesize=64 ways=8)
+                Core L#51 (P#3)
+                  PU L#51 (P#51) (forbidden)
+          L2Cache L#52 (size=256KB linesize=64 ways=8)
+            L1dCache L#52 (size=32KB linesize=64 ways=8)
+              L1iCache L#52 (size=32KB linesize=64 ways=8)
+                Core L#52 (P#4)
+                  PU L#52 (P#52) (forbidden)
+          L2Cache L#53 (size=256KB linesize=64 ways=8)
+            L1dCache L#53 (size=32KB linesize=64 ways=8)
+              L1iCache L#53 (size=32KB linesize=64 ways=8)
+                Core L#53 (P#5)
+                  PU L#53 (P#53) (forbidden)
+          L2Cache L#54 (size=256KB linesize=64 ways=8)
+            L1dCache L#54 (size=32KB linesize=64 ways=8)
+              L1iCache L#54 (size=32KB linesize=64 ways=8)
+                Core L#54 (P#6)
+                  PU L#54 (P#54) (forbidden)
+          L2Cache L#55 (size=256KB linesize=64 ways=8)
+            L1dCache L#55 (size=32KB linesize=64 ways=8)
+              L1iCache L#55 (size=32KB linesize=64 ways=8)
+                Core L#55 (P#7)
+                  PU L#55 (P#55) (forbidden)
+  NUMANode L#7 (P#7 local=32489472KB total=32489472KB)
+    Package L#7 (P#8 CPUVendor=GenuineIntel CPUFamilyNumber=6 CPUModelNumber=45 CPUModel="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz" CPUStepping=7)
+      L3Cache L#7 (size=20480KB linesize=64 ways=20)
+        L2Cache L#56 (size=256KB linesize=64 ways=8)
+          L1dCache L#56 (size=32KB linesize=64 ways=8)
+            L1iCache L#56 (size=32KB linesize=64 ways=8)
+              Core L#56 (P#0)
+                PU L#56 (P#56) (forbidden)
+        L2Cache L#57 (size=256KB linesize=64 ways=8)
+          L1dCache L#57 (size=32KB linesize=64 ways=8)
+            L1iCache L#57 (size=32KB linesize=64 ways=8)
+              Core L#57 (P#1)
+                PU L#57 (P#57) (forbidden)
+        L2Cache L#58 (size=256KB linesize=64 ways=8)
+          L1dCache L#58 (size=32KB linesize=64 ways=8)
+            L1iCache L#58 (size=32KB linesize=64 ways=8)
+              Core L#58 (P#2)
+                PU L#58 (P#58) (forbidden)
+        L2Cache L#59 (size=256KB linesize=64 ways=8)
+          L1dCache L#59 (size=32KB linesize=64 ways=8)
+            L1iCache L#59 (size=32KB linesize=64 ways=8)
+              Core L#59 (P#3)
+                PU L#59 (P#59) (forbidden)
+        L2Cache L#60 (size=256KB linesize=64 ways=8)
+          L1dCache L#60 (size=32KB linesize=64 ways=8)
+            L1iCache L#60 (size=32KB linesize=64 ways=8)
+              Core L#60 (P#4)
+                PU L#60 (P#60) (forbidden)
+        L2Cache L#61 (size=256KB linesize=64 ways=8)
+          L1dCache L#61 (size=32KB linesize=64 ways=8)
+            L1iCache L#61 (size=32KB linesize=64 ways=8)
+              Core L#61 (P#5)
+                PU L#61 (P#61) (forbidden)
+        L2Cache L#62 (size=256KB linesize=64 ways=8)
+          L1dCache L#62 (size=32KB linesize=64 ways=8)
+            L1iCache L#62 (size=32KB linesize=64 ways=8)
+              Core L#62 (P#6)
+                PU L#62 (P#62) (forbidden)
+        L2Cache L#63 (size=256KB linesize=64 ways=8)
+          L1dCache L#63 (size=32KB linesize=64 ways=8)
+            L1iCache L#63 (size=32KB linesize=64 ways=8)
+              Core L#63 (P#7)
+                PU L#63 (P#63) (forbidden)
+    Bridge Host->PCI L#12 (P#4 buses=0004:[00-01])
+      Bridge PCI->PCI (P#4194352 busid=0004:00:03.0 id=8086:3c08 class=0604(PCI_B) buses=0004:[01-01] PCIVendor="Intel Corporation" PCIDevice="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode") "Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"
+        PCI 10de:11ba (P#4198400 busid=0004:01:00.0 class=0300(VGA) PCIVendor="nVidia Corporation") "nVidia Corporation"
+depth 0:	1 Machine (type #1)
+ depth 1:	3 Group0 (type #7)
+  depth 2:	8 NUMANode (type #2)
+   depth 3:	8 Package (type #3)
+    depth 4:	8 L3Cache (type #4)
+     depth 5:	64 L2Cache (type #4)
+      depth 6:	64 L1dCache (type #4)
+       depth 7:	64 L1iCache (type #4)
+        depth 8:	64 Core (type #5)
+         depth 9:	64 PU (type #6)
+Special depth -3:	14 Bridge (type #9)
+Special depth -4:	8 PCI Device (type #10)
+Special depth -5:	3 OS Device (type #11)
+relative latency matrix between NUMANodes (depth 2) by logical indexes:
+  index     0     1     2     3     4     5     6     7
+      0 1.000 5.000 6.500 6.500 6.500 6.500 6.500 6.500
+      1 5.000 1.000 6.500 6.500 6.500 6.500 6.500 6.500
+      2 6.500 6.500 1.000 5.000 6.500 6.500 6.500 7.900
+      3 6.500 6.500 5.000 1.000 6.500 6.500 6.500 7.900
+      4 6.500 6.500 6.500 6.500 1.000 6.500 6.500 6.500
+      5 6.500 6.500 6.500 6.500 6.500 1.000 5.000 7.900
+      6 6.500 6.500 6.500 6.500 6.500 5.000 1.000 7.900
+      7 6.500 6.500 7.900 7.900 6.500 7.900 7.900 1.000
+48 processors online but not allowed: 0xffffffff,0xffff0000
+Topology not from this system
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.console.source b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.console.source
new file mode 100644
index 0000000..5a9f769
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.console.source
@@ -0,0 +1 @@
+64intel64-3g2n+2n-irregulargroups+pci.xml
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.options b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.options
new file mode 100644
index 0000000..8f4d545
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.options
@@ -0,0 +1 @@
+--whole-system
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.xml b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.xml
new file mode 100644
index 0000000..90f6b7c
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.xml
@@ -0,0 +1,868 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topology SYSTEM "hwloc.dtd">
+<topology>
+  <object type="Machine" os_index="0" cpuset="0xffffffff,0xffffffff" complete_cpuset="0xffffffff,0xffffffff" online_cpuset="0xffffffff,0xffffffff" allowed_cpuset="0x0000ffff" nodeset="0x000000ff" complete_nodeset="0x000000ff" allowed_nodeset="0x00000003">
+    <page_type size="4096" count="0"/>
+    <page_type size="2097152" count="0"/>
+    <info name="DMIProductName" value="UV2000"/>
+    <info name="DMIProductVersion" value="SGI"/>
+    <info name="DMIBoardVendor" value="Intel Corp."/>
+    <info name="DMIBoardName" value="ROMLEY"/>
+    <info name="DMIBoardVersion" value="E63448-400"/>
+    <info name="DMIBoardAssetTag" value="Base Board Asset Tag"/>
+    <info name="DMIChassisVendor" value="Intel Corporation"/>
+    <info name="DMIChassisType" value="23"/>
+    <info name="DMIChassisVersion" value="0.1"/>
+    <info name="DMIChassisAssetTag" value="Chassis Asset Tag"/>
+    <info name="DMIBIOSVendor" value="Silicon Graphics International Corp."/>
+    <info name="DMIBIOSVersion" value="SGI UV 2000/3000 series BIOS"/>
+    <info name="DMIBIOSDate" value="01/15/2013"/>
+    <info name="DMISysVendor" value="SGI"/>
+    <info name="Backend" value="Linux"/>
+    <info name="LinuxCgroup" value="/boot"/>
+    <info name="OSName" value="Linux"/>
+    <info name="OSRelease" value="3.0.80-0.7-default"/>
+    <info name="OSVersion" value="#1 SMP Tue Jun 25 18:32:49 UTC 2013 (25740f8)"/>
+    <info name="HostName" value="condor"/>
+    <info name="Architecture" value="x86_64"/>
+    <info name="hwlocVersion" value="2.0.0a1-git"/>
+    <info name="ProcessName" value="lstopo-no-graphics"/>
+    <distances nbobjs="8" relative_depth="2" latency_base="10.000000">
+      <latency value="1.000000"/>
+      <latency value="5.000000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="5.000000"/>
+      <latency value="1.000000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="1.000000"/>
+      <latency value="5.000000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="7.900000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="5.000000"/>
+      <latency value="1.000000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="7.900000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="1.000000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="1.000000"/>
+      <latency value="5.000000"/>
+      <latency value="7.900000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="5.000000"/>
+      <latency value="1.000000"/>
+      <latency value="7.900000"/>
+      <latency value="6.500000"/>
+      <latency value="6.500000"/>
+      <latency value="7.900000"/>
+      <latency value="7.900000"/>
+      <latency value="6.500000"/>
+      <latency value="7.900000"/>
+      <latency value="7.900000"/>
+      <latency value="1.000000"/>
+    </distances>
+    <object type="Group" cpuset="0x0000ffff" complete_cpuset="0x0000ffff" online_cpuset="0x0000ffff" allowed_cpuset="0x0000ffff" nodeset="0x00000003" complete_nodeset="0x00000003" allowed_nodeset="0x00000003" depth="0">
+      <object type="NUMANode" os_index="0" cpuset="0x000000ff" complete_cpuset="0x000000ff" online_cpuset="0x000000ff" allowed_cpuset="0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="33243172864">
+        <page_type size="4096" count="8116009"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="0" cpuset="0x000000ff" complete_cpuset="0x000000ff" online_cpuset="0x000000ff" allowed_cpuset="0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+          <info name="CPUVendor" value="GenuineIntel"/>
+          <info name="CPUFamilyNumber" value="6"/>
+          <info name="CPUModelNumber" value="45"/>
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <info name="CPUStepping" value="7"/>
+          <object type="Cache" cpuset="0x000000ff" complete_cpuset="0x000000ff" online_cpuset="0x000000ff" allowed_cpuset="0x000000ff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+                    <object type="PU" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+                    <object type="PU" os_index="1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+                    <object type="PU" os_index="2" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+                    <object type="PU" os_index="3" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00000010" complete_cpuset="0x00000010" online_cpuset="0x00000010" allowed_cpuset="0x00000010" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000010" complete_cpuset="0x00000010" online_cpuset="0x00000010" allowed_cpuset="0x00000010" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000010" complete_cpuset="0x00000010" online_cpuset="0x00000010" allowed_cpuset="0x00000010" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00000010" complete_cpuset="0x00000010" online_cpuset="0x00000010" allowed_cpuset="0x00000010" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+                    <object type="PU" os_index="4" cpuset="0x00000010" complete_cpuset="0x00000010" online_cpuset="0x00000010" allowed_cpuset="0x00000010" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00000020" complete_cpuset="0x00000020" online_cpuset="0x00000020" allowed_cpuset="0x00000020" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000020" complete_cpuset="0x00000020" online_cpuset="0x00000020" allowed_cpuset="0x00000020" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000020" complete_cpuset="0x00000020" online_cpuset="0x00000020" allowed_cpuset="0x00000020" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00000020" complete_cpuset="0x00000020" online_cpuset="0x00000020" allowed_cpuset="0x00000020" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+                    <object type="PU" os_index="5" cpuset="0x00000020" complete_cpuset="0x00000020" online_cpuset="0x00000020" allowed_cpuset="0x00000020" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+                    <object type="PU" os_index="6" cpuset="0x00000040" complete_cpuset="0x00000040" online_cpuset="0x00000040" allowed_cpuset="0x00000040" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00000080" complete_cpuset="0x00000080" online_cpuset="0x00000080" allowed_cpuset="0x00000080" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000080" complete_cpuset="0x00000080" online_cpuset="0x00000080" allowed_cpuset="0x00000080" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000080" complete_cpuset="0x00000080" online_cpuset="0x00000080" allowed_cpuset="0x00000080" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00000080" complete_cpuset="0x00000080" online_cpuset="0x00000080" allowed_cpuset="0x00000080" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+                    <object type="PU" os_index="7" cpuset="0x00000080" complete_cpuset="0x00000080" online_cpuset="0x00000080" allowed_cpuset="0x00000080" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+          </object>
+        </object>
+        <object type="Bridge" os_index="0" bridge_type="0-1" depth="0" bridge_pci="0000:[00-0a]">
+          <object type="Bridge" os_index="48" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0000:[01-02]" pci_busid="0000:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
+            <info name="PCIVendor" value="Intel Corporation"/>
+            <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
+            <object type="PCIDev" os_index="4096" name="Intel Corporation I350 Gigabit Network Connection" pci_busid="0000:01:00.0" pci_type="0200 [8086:1521] [10a9:802a] 01" pci_link_speed="0.000000">
+              <info name="PCIVendor" value="Intel Corporation"/>
+              <info name="PCIDevice" value="I350 Gigabit Network Connection"/>
+              <object type="OSDev" name="eth0" osdev_type="2">
+                <info name="Address" value="08:00:69:16:d0:b9"/>
+              </object>
+            </object>
+            <object type="PCIDev" os_index="4097" name="Intel Corporation I350 Gigabit Network Connection" pci_busid="0000:01:00.1" pci_type="0200 [8086:1521] [10a9:802a] 01" pci_link_speed="0.000000">
+              <info name="PCIVendor" value="Intel Corporation"/>
+              <info name="PCIDevice" value="I350 Gigabit Network Connection"/>
+              <object type="OSDev" name="eth1" osdev_type="2">
+                <info name="Address" value="08:00:69:16:d0:ba"/>
+              </object>
+            </object>
+          </object>
+          <object type="Bridge" os_index="448" name="Intel Corporation Patsburg PCI Express Root Port 8" bridge_type="1-1" depth="1" bridge_pci="0000:[05-09]" pci_busid="0000:00:1c.0" pci_type="0604 [8086:1d1e] [0000:0000] b6" pci_link_speed="0.000000">
+            <info name="PCIVendor" value="Intel Corporation"/>
+            <info name="PCIDevice" value="Patsburg PCI Express Root Port 8"/>
+            <object type="Bridge" os_index="20480" name="Renesas Technology Corp. SH7757 PCIe Switch [PS]" bridge_type="1-1" depth="2" bridge_pci="0000:[06-09]" pci_busid="0000:05:00.0" pci_type="0604 [1912:0013] [0000:0000] 00" pci_link_speed="0.000000">
+              <info name="PCIVendor" value="Renesas Technology Corp."/>
+              <info name="PCIDevice" value="SH7757 PCIe Switch [PS]"/>
+              <object type="Bridge" os_index="24576" name="Renesas Technology Corp. SH7757 PCIe Switch [PS]" bridge_type="1-1" depth="3" bridge_pci="0000:[07-08]" pci_busid="0000:06:00.0" pci_type="0604 [1912:0013] [0000:0000] 00" pci_link_speed="0.000000">
+                <info name="PCIVendor" value="Renesas Technology Corp."/>
+                <info name="PCIDevice" value="SH7757 PCIe Switch [PS]"/>
+                <object type="Bridge" os_index="28672" name="Renesas Technology Corp. SH7757 PCIe-PCI Bridge [PPB]" bridge_type="1-1" depth="4" bridge_pci="0000:[08-08]" pci_busid="0000:07:00.0" pci_type="0604 [1912:0012] [0000:0000] 00" pci_link_speed="0.000000">
+                  <info name="PCIVendor" value="Renesas Technology Corp."/>
+                  <info name="PCIDevice" value="SH7757 PCIe-PCI Bridge [PPB]"/>
+                  <object type="PCIDev" os_index="32768" name="Matrox Graphics, Inc. G200eR2" pci_busid="0000:08:00.0" pci_type="0300 [102b:0534] [0000:0000] 00" pci_link_speed="0.000000">
+                    <info name="PCIVendor" value="Matrox Graphics, Inc."/>
+                    <info name="PCIDevice" value="G200eR2"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+          </object>
+          <object type="PCIDev" os_index="498" name="Intel Corporation Patsburg 6-Port SATA AHCI Controller" pci_busid="0000:00:1f.2" pci_type="0106 [8086:1d02] [10a9:7270] 06" pci_link_speed="0.000000">
+            <info name="PCIVendor" value="Intel Corporation"/>
+            <info name="PCIDevice" value="Patsburg 6-Port SATA AHCI Controller"/>
+          </object>
+        </object>
+      </object>
+      <object type="NUMANode" os_index="1" cpuset="0x0000ff00" complete_cpuset="0x0000ff00" online_cpuset="0x0000ff00" allowed_cpuset="0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="1" cpuset="0x0000ff00" complete_cpuset="0x0000ff00" online_cpuset="0x0000ff00" allowed_cpuset="0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+          <info name="CPUVendor" value="GenuineIntel"/>
+          <info name="CPUFamilyNumber" value="6"/>
+          <info name="CPUModelNumber" value="45"/>
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <info name="CPUStepping" value="7"/>
+          <object type="Cache" cpuset="0x0000ff00" complete_cpuset="0x0000ff00" online_cpuset="0x0000ff00" allowed_cpuset="0x0000ff00" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00000100" complete_cpuset="0x00000100" online_cpuset="0x00000100" allowed_cpuset="0x00000100" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000100" complete_cpuset="0x00000100" online_cpuset="0x00000100" allowed_cpuset="0x00000100" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000100" complete_cpuset="0x00000100" online_cpuset="0x00000100" allowed_cpuset="0x00000100" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00000100" complete_cpuset="0x00000100" online_cpuset="0x00000100" allowed_cpuset="0x00000100" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+                    <object type="PU" os_index="8" cpuset="0x00000100" complete_cpuset="0x00000100" online_cpuset="0x00000100" allowed_cpuset="0x00000100" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00000200" complete_cpuset="0x00000200" online_cpuset="0x00000200" allowed_cpuset="0x00000200" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000200" complete_cpuset="0x00000200" online_cpuset="0x00000200" allowed_cpuset="0x00000200" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000200" complete_cpuset="0x00000200" online_cpuset="0x00000200" allowed_cpuset="0x00000200" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00000200" complete_cpuset="0x00000200" online_cpuset="0x00000200" allowed_cpuset="0x00000200" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+                    <object type="PU" os_index="9" cpuset="0x00000200" complete_cpuset="0x00000200" online_cpuset="0x00000200" allowed_cpuset="0x00000200" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00000400" complete_cpuset="0x00000400" online_cpuset="0x00000400" allowed_cpuset="0x00000400" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000400" complete_cpuset="0x00000400" online_cpuset="0x00000400" allowed_cpuset="0x00000400" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000400" complete_cpuset="0x00000400" online_cpuset="0x00000400" allowed_cpuset="0x00000400" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00000400" complete_cpuset="0x00000400" online_cpuset="0x00000400" allowed_cpuset="0x00000400" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+                    <object type="PU" os_index="10" cpuset="0x00000400" complete_cpuset="0x00000400" online_cpuset="0x00000400" allowed_cpuset="0x00000400" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00000800" complete_cpuset="0x00000800" online_cpuset="0x00000800" allowed_cpuset="0x00000800" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000800" complete_cpuset="0x00000800" online_cpuset="0x00000800" allowed_cpuset="0x00000800" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000800" complete_cpuset="0x00000800" online_cpuset="0x00000800" allowed_cpuset="0x00000800" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00000800" complete_cpuset="0x00000800" online_cpuset="0x00000800" allowed_cpuset="0x00000800" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+                    <object type="PU" os_index="11" cpuset="0x00000800" complete_cpuset="0x00000800" online_cpuset="0x00000800" allowed_cpuset="0x00000800" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+                    <object type="PU" os_index="12" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+                    <object type="PU" os_index="13" cpuset="0x00002000" complete_cpuset="0x00002000" online_cpuset="0x00002000" allowed_cpuset="0x00002000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+                    <object type="PU" os_index="14" cpuset="0x00004000" complete_cpuset="0x00004000" online_cpuset="0x00004000" allowed_cpuset="0x00004000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+                    <object type="PU" os_index="15" cpuset="0x00008000" complete_cpuset="0x00008000" online_cpuset="0x00008000" allowed_cpuset="0x00008000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+          </object>
+        </object>
+        <object type="Bridge" os_index="1" bridge_type="0-1" depth="0" bridge_pci="0001:[00-02]">
+          <object type="Bridge" os_index="1048624" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0001:[02-02]" pci_busid="0001:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
+            <info name="PCIVendor" value="Intel Corporation"/>
+            <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
+            <object type="PCIDev" os_index="1056768" name="LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator]" pci_busid="0001:02:00.0" pci_type="0104 [1000:0079] [1000:9280] 05" pci_link_speed="0.000000">
+              <info name="PCIVendor" value="LSI Logic / Symbios Logic"/>
+              <info name="PCIDevice" value="MegaRAID SAS 2108 [Liberator]"/>
+              <object type="OSDev" name="sda" osdev_type="0">
+                <info name="LinuxDeviceID" value="8:0"/>
+              </object>
+            </object>
+          </object>
+        </object>
+      </object>
+    </object>
+    <object type="Group" cpuset="0xffff0000" complete_cpuset="0xffff0000" online_cpuset="0xffff0000" allowed_cpuset="0x0" nodeset="0x0000000c" complete_nodeset="0x0000000c" allowed_nodeset="0x0" depth="0">
+      <object type="NUMANode" os_index="2" cpuset="0x00ff0000" complete_cpuset="0x00ff0000" online_cpuset="0x00ff0000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="2" cpuset="0x00ff0000" complete_cpuset="0x00ff0000" online_cpuset="0x00ff0000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0">
+          <info name="CPUVendor" value="GenuineIntel"/>
+          <info name="CPUFamilyNumber" value="6"/>
+          <info name="CPUModelNumber" value="45"/>
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <info name="CPUStepping" value="7"/>
+          <object type="Cache" cpuset="0x00ff0000" complete_cpuset="0x00ff0000" online_cpuset="0x00ff0000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00010000" complete_cpuset="0x00010000" online_cpuset="0x00010000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00010000" complete_cpuset="0x00010000" online_cpuset="0x00010000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00010000" complete_cpuset="0x00010000" online_cpuset="0x00010000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00010000" complete_cpuset="0x00010000" online_cpuset="0x00010000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0">
+                    <object type="PU" os_index="16" cpuset="0x00010000" complete_cpuset="0x00010000" online_cpuset="0x00010000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00020000" complete_cpuset="0x00020000" online_cpuset="0x00020000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00020000" complete_cpuset="0x00020000" online_cpuset="0x00020000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00020000" complete_cpuset="0x00020000" online_cpuset="0x00020000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00020000" complete_cpuset="0x00020000" online_cpuset="0x00020000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0">
+                    <object type="PU" os_index="17" cpuset="0x00020000" complete_cpuset="0x00020000" online_cpuset="0x00020000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00040000" complete_cpuset="0x00040000" online_cpuset="0x00040000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00040000" complete_cpuset="0x00040000" online_cpuset="0x00040000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00040000" complete_cpuset="0x00040000" online_cpuset="0x00040000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00040000" complete_cpuset="0x00040000" online_cpuset="0x00040000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0">
+                    <object type="PU" os_index="18" cpuset="0x00040000" complete_cpuset="0x00040000" online_cpuset="0x00040000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00080000" complete_cpuset="0x00080000" online_cpuset="0x00080000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00080000" complete_cpuset="0x00080000" online_cpuset="0x00080000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00080000" complete_cpuset="0x00080000" online_cpuset="0x00080000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00080000" complete_cpuset="0x00080000" online_cpuset="0x00080000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0">
+                    <object type="PU" os_index="19" cpuset="0x00080000" complete_cpuset="0x00080000" online_cpuset="0x00080000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00100000" complete_cpuset="0x00100000" online_cpuset="0x00100000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00100000" complete_cpuset="0x00100000" online_cpuset="0x00100000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00100000" complete_cpuset="0x00100000" online_cpuset="0x00100000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00100000" complete_cpuset="0x00100000" online_cpuset="0x00100000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0">
+                    <object type="PU" os_index="20" cpuset="0x00100000" complete_cpuset="0x00100000" online_cpuset="0x00100000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00200000" complete_cpuset="0x00200000" online_cpuset="0x00200000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00200000" complete_cpuset="0x00200000" online_cpuset="0x00200000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00200000" complete_cpuset="0x00200000" online_cpuset="0x00200000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00200000" complete_cpuset="0x00200000" online_cpuset="0x00200000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0">
+                    <object type="PU" os_index="21" cpuset="0x00200000" complete_cpuset="0x00200000" online_cpuset="0x00200000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00400000" complete_cpuset="0x00400000" online_cpuset="0x00400000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00400000" complete_cpuset="0x00400000" online_cpuset="0x00400000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00400000" complete_cpuset="0x00400000" online_cpuset="0x00400000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00400000" complete_cpuset="0x00400000" online_cpuset="0x00400000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0">
+                    <object type="PU" os_index="22" cpuset="0x00400000" complete_cpuset="0x00400000" online_cpuset="0x00400000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00800000" complete_cpuset="0x00800000" online_cpuset="0x00800000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00800000" complete_cpuset="0x00800000" online_cpuset="0x00800000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00800000" complete_cpuset="0x00800000" online_cpuset="0x00800000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00800000" complete_cpuset="0x00800000" online_cpuset="0x00800000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0">
+                    <object type="PU" os_index="23" cpuset="0x00800000" complete_cpuset="0x00800000" online_cpuset="0x00800000" allowed_cpuset="0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+          </object>
+        </object>
+      </object>
+      <object type="NUMANode" os_index="3" cpuset="0xff000000" complete_cpuset="0xff000000" online_cpuset="0xff000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="3" cpuset="0xff000000" complete_cpuset="0xff000000" online_cpuset="0xff000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0">
+          <info name="CPUVendor" value="GenuineIntel"/>
+          <info name="CPUFamilyNumber" value="6"/>
+          <info name="CPUModelNumber" value="45"/>
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <info name="CPUStepping" value="7"/>
+          <object type="Cache" cpuset="0xff000000" complete_cpuset="0xff000000" online_cpuset="0xff000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x01000000" complete_cpuset="0x01000000" online_cpuset="0x01000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x01000000" complete_cpuset="0x01000000" online_cpuset="0x01000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x01000000" complete_cpuset="0x01000000" online_cpuset="0x01000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x01000000" complete_cpuset="0x01000000" online_cpuset="0x01000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0">
+                    <object type="PU" os_index="24" cpuset="0x01000000" complete_cpuset="0x01000000" online_cpuset="0x01000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x02000000" complete_cpuset="0x02000000" online_cpuset="0x02000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x02000000" complete_cpuset="0x02000000" online_cpuset="0x02000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x02000000" complete_cpuset="0x02000000" online_cpuset="0x02000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x02000000" complete_cpuset="0x02000000" online_cpuset="0x02000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0">
+                    <object type="PU" os_index="25" cpuset="0x02000000" complete_cpuset="0x02000000" online_cpuset="0x02000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x04000000" complete_cpuset="0x04000000" online_cpuset="0x04000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x04000000" complete_cpuset="0x04000000" online_cpuset="0x04000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x04000000" complete_cpuset="0x04000000" online_cpuset="0x04000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x04000000" complete_cpuset="0x04000000" online_cpuset="0x04000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0">
+                    <object type="PU" os_index="26" cpuset="0x04000000" complete_cpuset="0x04000000" online_cpuset="0x04000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x08000000" complete_cpuset="0x08000000" online_cpuset="0x08000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x08000000" complete_cpuset="0x08000000" online_cpuset="0x08000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x08000000" complete_cpuset="0x08000000" online_cpuset="0x08000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x08000000" complete_cpuset="0x08000000" online_cpuset="0x08000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0">
+                    <object type="PU" os_index="27" cpuset="0x08000000" complete_cpuset="0x08000000" online_cpuset="0x08000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x10000000" complete_cpuset="0x10000000" online_cpuset="0x10000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x10000000" complete_cpuset="0x10000000" online_cpuset="0x10000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x10000000" complete_cpuset="0x10000000" online_cpuset="0x10000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x10000000" complete_cpuset="0x10000000" online_cpuset="0x10000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0">
+                    <object type="PU" os_index="28" cpuset="0x10000000" complete_cpuset="0x10000000" online_cpuset="0x10000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x20000000" complete_cpuset="0x20000000" online_cpuset="0x20000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x20000000" complete_cpuset="0x20000000" online_cpuset="0x20000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x20000000" complete_cpuset="0x20000000" online_cpuset="0x20000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x20000000" complete_cpuset="0x20000000" online_cpuset="0x20000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0">
+                    <object type="PU" os_index="29" cpuset="0x20000000" complete_cpuset="0x20000000" online_cpuset="0x20000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x40000000" complete_cpuset="0x40000000" online_cpuset="0x40000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x40000000" complete_cpuset="0x40000000" online_cpuset="0x40000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x40000000" complete_cpuset="0x40000000" online_cpuset="0x40000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x40000000" complete_cpuset="0x40000000" online_cpuset="0x40000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0">
+                    <object type="PU" os_index="30" cpuset="0x40000000" complete_cpuset="0x40000000" online_cpuset="0x40000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x80000000" complete_cpuset="0x80000000" online_cpuset="0x80000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x80000000" complete_cpuset="0x80000000" online_cpuset="0x80000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x80000000" complete_cpuset="0x80000000" online_cpuset="0x80000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x80000000" complete_cpuset="0x80000000" online_cpuset="0x80000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0">
+                    <object type="PU" os_index="31" cpuset="0x80000000" complete_cpuset="0x80000000" online_cpuset="0x80000000" allowed_cpuset="0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+          </object>
+        </object>
+      </object>
+    </object>
+    <object type="NUMANode" os_index="4" cpuset="0x000000ff,0x0" complete_cpuset="0x000000ff,0x0" online_cpuset="0x000000ff,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" local_memory="33269219328">
+      <page_type size="4096" count="8122368"/>
+      <page_type size="2097152" count="0"/>
+      <object type="Package" os_index="4" cpuset="0x000000ff,0x0" complete_cpuset="0x000000ff,0x0" online_cpuset="0x000000ff,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0">
+        <info name="CPUVendor" value="GenuineIntel"/>
+        <info name="CPUFamilyNumber" value="6"/>
+        <info name="CPUModelNumber" value="45"/>
+        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+        <info name="CPUStepping" value="7"/>
+        <object type="Cache" cpuset="0x000000ff,0x0" complete_cpuset="0x000000ff,0x0" online_cpuset="0x000000ff,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+          <object type="Cache" cpuset="0x00000001,0x0" complete_cpuset="0x00000001,0x0" online_cpuset="0x00000001,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+            <object type="Cache" cpuset="0x00000001,0x0" complete_cpuset="0x00000001,0x0" online_cpuset="0x00000001,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+              <object type="Cache" cpuset="0x00000001,0x0" complete_cpuset="0x00000001,0x0" online_cpuset="0x00000001,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                <object type="Core" os_index="0" cpuset="0x00000001,0x0" complete_cpuset="0x00000001,0x0" online_cpuset="0x00000001,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0">
+                  <object type="PU" os_index="32" cpuset="0x00000001,0x0" complete_cpuset="0x00000001,0x0" online_cpuset="0x00000001,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0"/>
+                </object>
+              </object>
+            </object>
+          </object>
+          <object type="Cache" cpuset="0x00000002,0x0" complete_cpuset="0x00000002,0x0" online_cpuset="0x00000002,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+            <object type="Cache" cpuset="0x00000002,0x0" complete_cpuset="0x00000002,0x0" online_cpuset="0x00000002,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+              <object type="Cache" cpuset="0x00000002,0x0" complete_cpuset="0x00000002,0x0" online_cpuset="0x00000002,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                <object type="Core" os_index="1" cpuset="0x00000002,0x0" complete_cpuset="0x00000002,0x0" online_cpuset="0x00000002,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0">
+                  <object type="PU" os_index="33" cpuset="0x00000002,0x0" complete_cpuset="0x00000002,0x0" online_cpuset="0x00000002,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0"/>
+                </object>
+              </object>
+            </object>
+          </object>
+          <object type="Cache" cpuset="0x00000004,0x0" complete_cpuset="0x00000004,0x0" online_cpuset="0x00000004,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+            <object type="Cache" cpuset="0x00000004,0x0" complete_cpuset="0x00000004,0x0" online_cpuset="0x00000004,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+              <object type="Cache" cpuset="0x00000004,0x0" complete_cpuset="0x00000004,0x0" online_cpuset="0x00000004,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                <object type="Core" os_index="2" cpuset="0x00000004,0x0" complete_cpuset="0x00000004,0x0" online_cpuset="0x00000004,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0">
+                  <object type="PU" os_index="34" cpuset="0x00000004,0x0" complete_cpuset="0x00000004,0x0" online_cpuset="0x00000004,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0"/>
+                </object>
+              </object>
+            </object>
+          </object>
+          <object type="Cache" cpuset="0x00000008,0x0" complete_cpuset="0x00000008,0x0" online_cpuset="0x00000008,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+            <object type="Cache" cpuset="0x00000008,0x0" complete_cpuset="0x00000008,0x0" online_cpuset="0x00000008,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+              <object type="Cache" cpuset="0x00000008,0x0" complete_cpuset="0x00000008,0x0" online_cpuset="0x00000008,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                <object type="Core" os_index="3" cpuset="0x00000008,0x0" complete_cpuset="0x00000008,0x0" online_cpuset="0x00000008,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0">
+                  <object type="PU" os_index="35" cpuset="0x00000008,0x0" complete_cpuset="0x00000008,0x0" online_cpuset="0x00000008,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0"/>
+                </object>
+              </object>
+            </object>
+          </object>
+          <object type="Cache" cpuset="0x00000010,0x0" complete_cpuset="0x00000010,0x0" online_cpuset="0x00000010,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+            <object type="Cache" cpuset="0x00000010,0x0" complete_cpuset="0x00000010,0x0" online_cpuset="0x00000010,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+              <object type="Cache" cpuset="0x00000010,0x0" complete_cpuset="0x00000010,0x0" online_cpuset="0x00000010,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                <object type="Core" os_index="4" cpuset="0x00000010,0x0" complete_cpuset="0x00000010,0x0" online_cpuset="0x00000010,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0">
+                  <object type="PU" os_index="36" cpuset="0x00000010,0x0" complete_cpuset="0x00000010,0x0" online_cpuset="0x00000010,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0"/>
+                </object>
+              </object>
+            </object>
+          </object>
+          <object type="Cache" cpuset="0x00000020,0x0" complete_cpuset="0x00000020,0x0" online_cpuset="0x00000020,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+            <object type="Cache" cpuset="0x00000020,0x0" complete_cpuset="0x00000020,0x0" online_cpuset="0x00000020,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+              <object type="Cache" cpuset="0x00000020,0x0" complete_cpuset="0x00000020,0x0" online_cpuset="0x00000020,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                <object type="Core" os_index="5" cpuset="0x00000020,0x0" complete_cpuset="0x00000020,0x0" online_cpuset="0x00000020,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0">
+                  <object type="PU" os_index="37" cpuset="0x00000020,0x0" complete_cpuset="0x00000020,0x0" online_cpuset="0x00000020,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0"/>
+                </object>
+              </object>
+            </object>
+          </object>
+          <object type="Cache" cpuset="0x00000040,0x0" complete_cpuset="0x00000040,0x0" online_cpuset="0x00000040,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+            <object type="Cache" cpuset="0x00000040,0x0" complete_cpuset="0x00000040,0x0" online_cpuset="0x00000040,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+              <object type="Cache" cpuset="0x00000040,0x0" complete_cpuset="0x00000040,0x0" online_cpuset="0x00000040,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                <object type="Core" os_index="6" cpuset="0x00000040,0x0" complete_cpuset="0x00000040,0x0" online_cpuset="0x00000040,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0">
+                  <object type="PU" os_index="38" cpuset="0x00000040,0x0" complete_cpuset="0x00000040,0x0" online_cpuset="0x00000040,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0"/>
+                </object>
+              </object>
+            </object>
+          </object>
+          <object type="Cache" cpuset="0x00000080,0x0" complete_cpuset="0x00000080,0x0" online_cpuset="0x00000080,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+            <object type="Cache" cpuset="0x00000080,0x0" complete_cpuset="0x00000080,0x0" online_cpuset="0x00000080,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+              <object type="Cache" cpuset="0x00000080,0x0" complete_cpuset="0x00000080,0x0" online_cpuset="0x00000080,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                <object type="Core" os_index="7" cpuset="0x00000080,0x0" complete_cpuset="0x00000080,0x0" online_cpuset="0x00000080,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0">
+                  <object type="PU" os_index="39" cpuset="0x00000080,0x0" complete_cpuset="0x00000080,0x0" online_cpuset="0x00000080,0x0" allowed_cpuset="0x0" nodeset="0x00000010" complete_nodeset="0x00000010" allowed_nodeset="0x0"/>
+                </object>
+              </object>
+            </object>
+          </object>
+        </object>
+      </object>
+      <object type="Bridge" os_index="2" bridge_type="0-1" depth="0" bridge_pci="0002:[00-01]">
+        <object type="Bridge" os_index="2097200" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0002:[01-01]" pci_busid="0002:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
+          <info name="PCIVendor" value="Intel Corporation"/>
+          <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
+          <object type="PCIDev" os_index="2101248" name="nVidia Corporation" pci_busid="0002:01:00.0" pci_type="0300 [10de:11ba] [10de:0965] a1" pci_link_speed="0.000000">
+            <info name="PCIVendor" value="nVidia Corporation"/>
+          </object>
+        </object>
+      </object>
+    </object>
+    <object type="Group" cpuset="0x00ffff00,0x0" complete_cpuset="0x00ffff00,0x0" online_cpuset="0x00ffff00,0x0" allowed_cpuset="0x0" nodeset="0x00000060" complete_nodeset="0x00000060" allowed_nodeset="0x0" depth="0">
+      <object type="NUMANode" os_index="5" cpuset="0x0000ff00,0x0" complete_cpuset="0x0000ff00,0x0" online_cpuset="0x0000ff00,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="6" cpuset="0x0000ff00,0x0" complete_cpuset="0x0000ff00,0x0" online_cpuset="0x0000ff00,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0">
+          <info name="CPUVendor" value="GenuineIntel"/>
+          <info name="CPUFamilyNumber" value="6"/>
+          <info name="CPUModelNumber" value="45"/>
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <info name="CPUStepping" value="7"/>
+          <object type="Cache" cpuset="0x0000ff00,0x0" complete_cpuset="0x0000ff00,0x0" online_cpuset="0x0000ff00,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00000100,0x0" complete_cpuset="0x00000100,0x0" online_cpuset="0x00000100,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000100,0x0" complete_cpuset="0x00000100,0x0" online_cpuset="0x00000100,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000100,0x0" complete_cpuset="0x00000100,0x0" online_cpuset="0x00000100,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00000100,0x0" complete_cpuset="0x00000100,0x0" online_cpuset="0x00000100,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0">
+                    <object type="PU" os_index="40" cpuset="0x00000100,0x0" complete_cpuset="0x00000100,0x0" online_cpuset="0x00000100,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00000200,0x0" complete_cpuset="0x00000200,0x0" online_cpuset="0x00000200,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000200,0x0" complete_cpuset="0x00000200,0x0" online_cpuset="0x00000200,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000200,0x0" complete_cpuset="0x00000200,0x0" online_cpuset="0x00000200,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00000200,0x0" complete_cpuset="0x00000200,0x0" online_cpuset="0x00000200,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0">
+                    <object type="PU" os_index="41" cpuset="0x00000200,0x0" complete_cpuset="0x00000200,0x0" online_cpuset="0x00000200,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00000400,0x0" complete_cpuset="0x00000400,0x0" online_cpuset="0x00000400,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000400,0x0" complete_cpuset="0x00000400,0x0" online_cpuset="0x00000400,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000400,0x0" complete_cpuset="0x00000400,0x0" online_cpuset="0x00000400,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00000400,0x0" complete_cpuset="0x00000400,0x0" online_cpuset="0x00000400,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0">
+                    <object type="PU" os_index="42" cpuset="0x00000400,0x0" complete_cpuset="0x00000400,0x0" online_cpuset="0x00000400,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00000800,0x0" complete_cpuset="0x00000800,0x0" online_cpuset="0x00000800,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00000800,0x0" complete_cpuset="0x00000800,0x0" online_cpuset="0x00000800,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00000800,0x0" complete_cpuset="0x00000800,0x0" online_cpuset="0x00000800,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00000800,0x0" complete_cpuset="0x00000800,0x0" online_cpuset="0x00000800,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0">
+                    <object type="PU" os_index="43" cpuset="0x00000800,0x0" complete_cpuset="0x00000800,0x0" online_cpuset="0x00000800,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00001000,0x0" complete_cpuset="0x00001000,0x0" online_cpuset="0x00001000,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00001000,0x0" complete_cpuset="0x00001000,0x0" online_cpuset="0x00001000,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00001000,0x0" complete_cpuset="0x00001000,0x0" online_cpuset="0x00001000,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00001000,0x0" complete_cpuset="0x00001000,0x0" online_cpuset="0x00001000,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0">
+                    <object type="PU" os_index="44" cpuset="0x00001000,0x0" complete_cpuset="0x00001000,0x0" online_cpuset="0x00001000,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00002000,0x0" complete_cpuset="0x00002000,0x0" online_cpuset="0x00002000,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00002000,0x0" complete_cpuset="0x00002000,0x0" online_cpuset="0x00002000,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00002000,0x0" complete_cpuset="0x00002000,0x0" online_cpuset="0x00002000,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00002000,0x0" complete_cpuset="0x00002000,0x0" online_cpuset="0x00002000,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0">
+                    <object type="PU" os_index="45" cpuset="0x00002000,0x0" complete_cpuset="0x00002000,0x0" online_cpuset="0x00002000,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00004000,0x0" complete_cpuset="0x00004000,0x0" online_cpuset="0x00004000,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00004000,0x0" complete_cpuset="0x00004000,0x0" online_cpuset="0x00004000,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00004000,0x0" complete_cpuset="0x00004000,0x0" online_cpuset="0x00004000,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00004000,0x0" complete_cpuset="0x00004000,0x0" online_cpuset="0x00004000,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0">
+                    <object type="PU" os_index="46" cpuset="0x00004000,0x0" complete_cpuset="0x00004000,0x0" online_cpuset="0x00004000,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00008000,0x0" complete_cpuset="0x00008000,0x0" online_cpuset="0x00008000,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00008000,0x0" complete_cpuset="0x00008000,0x0" online_cpuset="0x00008000,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00008000,0x0" complete_cpuset="0x00008000,0x0" online_cpuset="0x00008000,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00008000,0x0" complete_cpuset="0x00008000,0x0" online_cpuset="0x00008000,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0">
+                    <object type="PU" os_index="47" cpuset="0x00008000,0x0" complete_cpuset="0x00008000,0x0" online_cpuset="0x00008000,0x0" allowed_cpuset="0x0" nodeset="0x00000020" complete_nodeset="0x00000020" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+          </object>
+        </object>
+        <object type="Bridge" os_index="3" bridge_type="0-1" depth="0" bridge_pci="0003:[00-02]">
+          <object type="Bridge" os_index="3145776" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0003:[01-02]" pci_busid="0003:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
+            <info name="PCIVendor" value="Intel Corporation"/>
+            <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
+            <object type="PCIDev" os_index="3149824" name="LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon]" pci_busid="0003:01:00.0" pci_type="0107 [1000:0072] [1000:3080] 03" pci_link_speed="0.000000">
+              <info name="PCIVendor" value="LSI Logic / Symbios Logic"/>
+              <info name="PCIDevice" value="SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon]"/>
+            </object>
+          </object>
+        </object>
+      </object>
+      <object type="NUMANode" os_index="6" cpuset="0x00ff0000,0x0" complete_cpuset="0x00ff0000,0x0" online_cpuset="0x00ff0000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" local_memory="33269219328">
+        <page_type size="4096" count="8122368"/>
+        <page_type size="2097152" count="0"/>
+        <object type="Package" os_index="7" cpuset="0x00ff0000,0x0" complete_cpuset="0x00ff0000,0x0" online_cpuset="0x00ff0000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0">
+          <info name="CPUVendor" value="GenuineIntel"/>
+          <info name="CPUFamilyNumber" value="6"/>
+          <info name="CPUModelNumber" value="45"/>
+          <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+          <info name="CPUStepping" value="7"/>
+          <object type="Cache" cpuset="0x00ff0000,0x0" complete_cpuset="0x00ff0000,0x0" online_cpuset="0x00ff0000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+            <object type="Cache" cpuset="0x00010000,0x0" complete_cpuset="0x00010000,0x0" online_cpuset="0x00010000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00010000,0x0" complete_cpuset="0x00010000,0x0" online_cpuset="0x00010000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00010000,0x0" complete_cpuset="0x00010000,0x0" online_cpuset="0x00010000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="0" cpuset="0x00010000,0x0" complete_cpuset="0x00010000,0x0" online_cpuset="0x00010000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0">
+                    <object type="PU" os_index="48" cpuset="0x00010000,0x0" complete_cpuset="0x00010000,0x0" online_cpuset="0x00010000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00020000,0x0" complete_cpuset="0x00020000,0x0" online_cpuset="0x00020000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00020000,0x0" complete_cpuset="0x00020000,0x0" online_cpuset="0x00020000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00020000,0x0" complete_cpuset="0x00020000,0x0" online_cpuset="0x00020000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="1" cpuset="0x00020000,0x0" complete_cpuset="0x00020000,0x0" online_cpuset="0x00020000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0">
+                    <object type="PU" os_index="49" cpuset="0x00020000,0x0" complete_cpuset="0x00020000,0x0" online_cpuset="0x00020000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00040000,0x0" complete_cpuset="0x00040000,0x0" online_cpuset="0x00040000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00040000,0x0" complete_cpuset="0x00040000,0x0" online_cpuset="0x00040000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00040000,0x0" complete_cpuset="0x00040000,0x0" online_cpuset="0x00040000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="2" cpuset="0x00040000,0x0" complete_cpuset="0x00040000,0x0" online_cpuset="0x00040000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0">
+                    <object type="PU" os_index="50" cpuset="0x00040000,0x0" complete_cpuset="0x00040000,0x0" online_cpuset="0x00040000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00080000,0x0" complete_cpuset="0x00080000,0x0" online_cpuset="0x00080000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00080000,0x0" complete_cpuset="0x00080000,0x0" online_cpuset="0x00080000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00080000,0x0" complete_cpuset="0x00080000,0x0" online_cpuset="0x00080000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="3" cpuset="0x00080000,0x0" complete_cpuset="0x00080000,0x0" online_cpuset="0x00080000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0">
+                    <object type="PU" os_index="51" cpuset="0x00080000,0x0" complete_cpuset="0x00080000,0x0" online_cpuset="0x00080000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00100000,0x0" complete_cpuset="0x00100000,0x0" online_cpuset="0x00100000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00100000,0x0" complete_cpuset="0x00100000,0x0" online_cpuset="0x00100000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00100000,0x0" complete_cpuset="0x00100000,0x0" online_cpuset="0x00100000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="4" cpuset="0x00100000,0x0" complete_cpuset="0x00100000,0x0" online_cpuset="0x00100000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0">
+                    <object type="PU" os_index="52" cpuset="0x00100000,0x0" complete_cpuset="0x00100000,0x0" online_cpuset="0x00100000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00200000,0x0" complete_cpuset="0x00200000,0x0" online_cpuset="0x00200000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00200000,0x0" complete_cpuset="0x00200000,0x0" online_cpuset="0x00200000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00200000,0x0" complete_cpuset="0x00200000,0x0" online_cpuset="0x00200000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="5" cpuset="0x00200000,0x0" complete_cpuset="0x00200000,0x0" online_cpuset="0x00200000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0">
+                    <object type="PU" os_index="53" cpuset="0x00200000,0x0" complete_cpuset="0x00200000,0x0" online_cpuset="0x00200000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00400000,0x0" complete_cpuset="0x00400000,0x0" online_cpuset="0x00400000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00400000,0x0" complete_cpuset="0x00400000,0x0" online_cpuset="0x00400000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00400000,0x0" complete_cpuset="0x00400000,0x0" online_cpuset="0x00400000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="6" cpuset="0x00400000,0x0" complete_cpuset="0x00400000,0x0" online_cpuset="0x00400000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0">
+                    <object type="PU" os_index="54" cpuset="0x00400000,0x0" complete_cpuset="0x00400000,0x0" online_cpuset="0x00400000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+            <object type="Cache" cpuset="0x00800000,0x0" complete_cpuset="0x00800000,0x0" online_cpuset="0x00800000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+              <object type="Cache" cpuset="0x00800000,0x0" complete_cpuset="0x00800000,0x0" online_cpuset="0x00800000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+                <object type="Cache" cpuset="0x00800000,0x0" complete_cpuset="0x00800000,0x0" online_cpuset="0x00800000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                  <object type="Core" os_index="7" cpuset="0x00800000,0x0" complete_cpuset="0x00800000,0x0" online_cpuset="0x00800000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0">
+                    <object type="PU" os_index="55" cpuset="0x00800000,0x0" complete_cpuset="0x00800000,0x0" online_cpuset="0x00800000,0x0" allowed_cpuset="0x0" nodeset="0x00000040" complete_nodeset="0x00000040" allowed_nodeset="0x0"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+          </object>
+        </object>
+      </object>
+    </object>
+    <object type="NUMANode" os_index="7" cpuset="0xff000000,0x0" complete_cpuset="0xff000000,0x0" online_cpuset="0xff000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" local_memory="33269219328">
+      <page_type size="4096" count="8122368"/>
+      <page_type size="2097152" count="0"/>
+      <object type="Package" os_index="8" cpuset="0xff000000,0x0" complete_cpuset="0xff000000,0x0" online_cpuset="0xff000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0">
+        <info name="CPUVendor" value="GenuineIntel"/>
+        <info name="CPUFamilyNumber" value="6"/>
+        <info name="CPUModelNumber" value="45"/>
+        <info name="CPUModel" value="Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz"/>
+        <info name="CPUStepping" value="7"/>
+        <object type="Cache" cpuset="0xff000000,0x0" complete_cpuset="0xff000000,0x0" online_cpuset="0xff000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="20971520" depth="3" cache_linesize="64" cache_associativity="20" cache_type="0">
+          <object type="Cache" cpuset="0x01000000,0x0" complete_cpuset="0x01000000,0x0" online_cpuset="0x01000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+            <object type="Cache" cpuset="0x01000000,0x0" complete_cpuset="0x01000000,0x0" online_cpuset="0x01000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+              <object type="Cache" cpuset="0x01000000,0x0" complete_cpuset="0x01000000,0x0" online_cpuset="0x01000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                <object type="Core" os_index="0" cpuset="0x01000000,0x0" complete_cpuset="0x01000000,0x0" online_cpuset="0x01000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0">
+                  <object type="PU" os_index="56" cpuset="0x01000000,0x0" complete_cpuset="0x01000000,0x0" online_cpuset="0x01000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0"/>
+                </object>
+              </object>
+            </object>
+          </object>
+          <object type="Cache" cpuset="0x02000000,0x0" complete_cpuset="0x02000000,0x0" online_cpuset="0x02000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+            <object type="Cache" cpuset="0x02000000,0x0" complete_cpuset="0x02000000,0x0" online_cpuset="0x02000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+              <object type="Cache" cpuset="0x02000000,0x0" complete_cpuset="0x02000000,0x0" online_cpuset="0x02000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                <object type="Core" os_index="1" cpuset="0x02000000,0x0" complete_cpuset="0x02000000,0x0" online_cpuset="0x02000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0">
+                  <object type="PU" os_index="57" cpuset="0x02000000,0x0" complete_cpuset="0x02000000,0x0" online_cpuset="0x02000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0"/>
+                </object>
+              </object>
+            </object>
+          </object>
+          <object type="Cache" cpuset="0x04000000,0x0" complete_cpuset="0x04000000,0x0" online_cpuset="0x04000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+            <object type="Cache" cpuset="0x04000000,0x0" complete_cpuset="0x04000000,0x0" online_cpuset="0x04000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+              <object type="Cache" cpuset="0x04000000,0x0" complete_cpuset="0x04000000,0x0" online_cpuset="0x04000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                <object type="Core" os_index="2" cpuset="0x04000000,0x0" complete_cpuset="0x04000000,0x0" online_cpuset="0x04000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0">
+                  <object type="PU" os_index="58" cpuset="0x04000000,0x0" complete_cpuset="0x04000000,0x0" online_cpuset="0x04000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0"/>
+                </object>
+              </object>
+            </object>
+          </object>
+          <object type="Cache" cpuset="0x08000000,0x0" complete_cpuset="0x08000000,0x0" online_cpuset="0x08000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+            <object type="Cache" cpuset="0x08000000,0x0" complete_cpuset="0x08000000,0x0" online_cpuset="0x08000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+              <object type="Cache" cpuset="0x08000000,0x0" complete_cpuset="0x08000000,0x0" online_cpuset="0x08000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                <object type="Core" os_index="3" cpuset="0x08000000,0x0" complete_cpuset="0x08000000,0x0" online_cpuset="0x08000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0">
+                  <object type="PU" os_index="59" cpuset="0x08000000,0x0" complete_cpuset="0x08000000,0x0" online_cpuset="0x08000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0"/>
+                </object>
+              </object>
+            </object>
+          </object>
+          <object type="Cache" cpuset="0x10000000,0x0" complete_cpuset="0x10000000,0x0" online_cpuset="0x10000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+            <object type="Cache" cpuset="0x10000000,0x0" complete_cpuset="0x10000000,0x0" online_cpuset="0x10000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+              <object type="Cache" cpuset="0x10000000,0x0" complete_cpuset="0x10000000,0x0" online_cpuset="0x10000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                <object type="Core" os_index="4" cpuset="0x10000000,0x0" complete_cpuset="0x10000000,0x0" online_cpuset="0x10000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0">
+                  <object type="PU" os_index="60" cpuset="0x10000000,0x0" complete_cpuset="0x10000000,0x0" online_cpuset="0x10000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0"/>
+                </object>
+              </object>
+            </object>
+          </object>
+          <object type="Cache" cpuset="0x20000000,0x0" complete_cpuset="0x20000000,0x0" online_cpuset="0x20000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+            <object type="Cache" cpuset="0x20000000,0x0" complete_cpuset="0x20000000,0x0" online_cpuset="0x20000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+              <object type="Cache" cpuset="0x20000000,0x0" complete_cpuset="0x20000000,0x0" online_cpuset="0x20000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                <object type="Core" os_index="5" cpuset="0x20000000,0x0" complete_cpuset="0x20000000,0x0" online_cpuset="0x20000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0">
+                  <object type="PU" os_index="61" cpuset="0x20000000,0x0" complete_cpuset="0x20000000,0x0" online_cpuset="0x20000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0"/>
+                </object>
+              </object>
+            </object>
+          </object>
+          <object type="Cache" cpuset="0x40000000,0x0" complete_cpuset="0x40000000,0x0" online_cpuset="0x40000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+            <object type="Cache" cpuset="0x40000000,0x0" complete_cpuset="0x40000000,0x0" online_cpuset="0x40000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+              <object type="Cache" cpuset="0x40000000,0x0" complete_cpuset="0x40000000,0x0" online_cpuset="0x40000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                <object type="Core" os_index="6" cpuset="0x40000000,0x0" complete_cpuset="0x40000000,0x0" online_cpuset="0x40000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0">
+                  <object type="PU" os_index="62" cpuset="0x40000000,0x0" complete_cpuset="0x40000000,0x0" online_cpuset="0x40000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0"/>
+                </object>
+              </object>
+            </object>
+          </object>
+          <object type="Cache" cpuset="0x80000000,0x0" complete_cpuset="0x80000000,0x0" online_cpuset="0x80000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+            <object type="Cache" cpuset="0x80000000,0x0" complete_cpuset="0x80000000,0x0" online_cpuset="0x80000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+              <object type="Cache" cpuset="0x80000000,0x0" complete_cpuset="0x80000000,0x0" online_cpuset="0x80000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="2">
+                <object type="Core" os_index="7" cpuset="0x80000000,0x0" complete_cpuset="0x80000000,0x0" online_cpuset="0x80000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0">
+                  <object type="PU" os_index="63" cpuset="0x80000000,0x0" complete_cpuset="0x80000000,0x0" online_cpuset="0x80000000,0x0" allowed_cpuset="0x0" nodeset="0x00000080" complete_nodeset="0x00000080" allowed_nodeset="0x0"/>
+                </object>
+              </object>
+            </object>
+          </object>
+        </object>
+      </object>
+      <object type="Bridge" os_index="4" bridge_type="0-1" depth="0" bridge_pci="0004:[00-01]">
+        <object type="Bridge" os_index="4194352" name="Intel Corporation Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode" bridge_type="1-1" depth="1" bridge_pci="0004:[01-01]" pci_busid="0004:00:03.0" pci_type="0604 [8086:3c08] [0000:0000] 07" pci_link_speed="0.000000">
+          <info name="PCIVendor" value="Intel Corporation"/>
+          <info name="PCIDevice" value="Sandy Bridge IIO PCI Express Root Port 3a in PCI Express Mode"/>
+          <object type="PCIDev" os_index="4198400" name="nVidia Corporation" pci_busid="0004:01:00.0" pci_type="0300 [10de:11ba] [10de:0965] a1" pci_link_speed="0.000000">
+            <info name="PCIVendor" value="nVidia Corporation"/>
+          </object>
+        </object>
+      </object>
+    </object>
+  </object>
+</topology>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/8em64t-2mi2ma2c.xml b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/8em64t-2mi2ma2c.xml
index 18bc730..df090ea 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/8em64t-2mi2ma2c.xml
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/8em64t-2mi2ma2c.xml
@@ -6,7 +6,7 @@
       <object type="Machine" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" local_memory="1016368">
         <page_type size="4096" count="65536"/>
         <page_type size="1048576" count="1024"/>
-        <object type="Socket" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003">
+        <object type="Package" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003">
           <object type="Cache" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" cache_size="2097152" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
             <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" cache_size="32768" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
               <object type="Core" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001">
@@ -25,7 +25,7 @@
         <page_type size="8192" count="1048576"/>
         <info name="DMIBoardVendor" value="Dell Inc."/>
         <info name="DMIBoardName" value="0F331C"/>
-        <object type="Socket" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003">
+        <object type="Package" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003">
           <object type="Cache" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" cache_size="2097152" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
             <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" cache_size="32768" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
               <object type="Core" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001">
@@ -46,7 +46,7 @@
         <page_type size="2048" count="1"/>
         <info name="DMIBoardVendor" value="Dell Inc."/>
         <info name="DMIBoardName" value="0F331C"/>
-        <object type="Socket" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003">
+        <object type="Package" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003">
           <object type="Cache" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" cache_size="2097152" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
             <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" cache_size="32768" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
               <object type="Core" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001">
@@ -67,7 +67,7 @@
         <page_type size="1048576" count="2048"/>
         <info name="DMIBoardVendor" value="Dell Inc."/>
         <info name="DMIBoardName" value="0F331C"/>
-        <object type="Socket" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003">
+        <object type="Package" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003">
           <object type="Cache" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" cache_size="2097152" depth="2" cache_linesize="0" cache_associativity="0" cache_type="0">
             <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" cache_size="32768" depth="1" cache_linesize="0" cache_associativity="0" cache_type="1">
               <object type="Core" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/96em64t-4n4d3ca2co-pci.xml b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/96em64t-4n4d3ca2co-pci.xml
index 24a3373..4d56f05 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/96em64t-4n4d3ca2co-pci.xml
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/96em64t-4n4d3ca2co-pci.xml
@@ -45,7 +45,7 @@
     <object type="NUMANode" os_index="0" cpuset="0x00ffffff" complete_cpuset="0x00ffffff" online_cpuset="0x00ffffff" allowed_cpuset="0x00ffffff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="51269931008">
       <page_type size="4096" count="12517073"/>
       <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="1" cpuset="0x00111111" complete_cpuset="0x00111111" online_cpuset="0x00111111" allowed_cpuset="0x00111111" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+      <object type="Package" os_index="1" cpuset="0x00111111" complete_cpuset="0x00111111" online_cpuset="0x00111111" allowed_cpuset="0x00111111" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
         <object type="Cache" cpuset="0x00111111" complete_cpuset="0x00111111" online_cpuset="0x00111111" allowed_cpuset="0x00111111" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="16777216" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x00000011" complete_cpuset="0x00000011" online_cpuset="0x00000011" allowed_cpuset="0x00000011" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="3145728" depth="2" cache_linesize="64" cache_associativity="12" cache_type="0">
             <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
@@ -85,7 +85,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_index="0" cpuset="0x00222222" complete_cpuset="0x00222222" online_cpuset="0x00222222" allowed_cpuset="0x00222222" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+      <object type="Package" os_index="0" cpuset="0x00222222" complete_cpuset="0x00222222" online_cpuset="0x00222222" allowed_cpuset="0x00222222" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
         <object type="Cache" cpuset="0x00222222" complete_cpuset="0x00222222" online_cpuset="0x00222222" allowed_cpuset="0x00222222" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="16777216" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x00000022" complete_cpuset="0x00000022" online_cpuset="0x00000022" allowed_cpuset="0x00000022" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="3145728" depth="2" cache_linesize="64" cache_associativity="12" cache_type="0">
             <object type="Cache" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
@@ -125,7 +125,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_index="2" cpuset="0x00444444" complete_cpuset="0x00444444" online_cpuset="0x00444444" allowed_cpuset="0x00444444" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+      <object type="Package" os_index="2" cpuset="0x00444444" complete_cpuset="0x00444444" online_cpuset="0x00444444" allowed_cpuset="0x00444444" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
         <object type="Cache" cpuset="0x00444444" complete_cpuset="0x00444444" online_cpuset="0x00444444" allowed_cpuset="0x00444444" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="16777216" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x00000044" complete_cpuset="0x00000044" online_cpuset="0x00000044" allowed_cpuset="0x00000044" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="3145728" depth="2" cache_linesize="64" cache_associativity="12" cache_type="0">
             <object type="Cache" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
@@ -165,7 +165,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_index="3" cpuset="0x00888888" complete_cpuset="0x00888888" online_cpuset="0x00888888" allowed_cpuset="0x00888888" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+      <object type="Package" os_index="3" cpuset="0x00888888" complete_cpuset="0x00888888" online_cpuset="0x00888888" allowed_cpuset="0x00888888" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
         <object type="Cache" cpuset="0x00888888" complete_cpuset="0x00888888" online_cpuset="0x00888888" allowed_cpuset="0x00888888" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="16777216" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x00000088" complete_cpuset="0x00000088" online_cpuset="0x00000088" allowed_cpuset="0x00000088" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="3145728" depth="2" cache_linesize="64" cache_associativity="12" cache_type="0">
             <object type="Cache" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
@@ -206,7 +206,7 @@
         </object>
       </object>
       <object type="Bridge" os_index="0" bridge_type="0-1" depth="0" bridge_pci="0000:[00-02]">
-        <object type="Bridge" os_index="448" name="Intel Corporation N10/ICH 7 Family PCI Express Port 1" bridge_type="1-1" depth="0" bridge_pci="0000:[02-02]" pci_busid="0000:00:1c.0" pci_type="0604 [8086:27d0] [0000:0000] 01" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="448" name="Intel Corporation N10/ICH 7 Family PCI Express Port 1" bridge_type="1-1" depth="1" bridge_pci="0000:[02-02]" pci_busid="0000:00:1c.0" pci_type="0604 [8086:27d0] [0000:0000] 01" pci_link_speed="0.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="N10/ICH 7 Family PCI Express Port 1"/>
           <object type="PCIDev" os_index="8192" name="Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet" pci_busid="0000:02:00.0" pci_type="0200 [14e4:1639] [0014:007c] 20" pci_link_speed="0.000000">
@@ -224,7 +224,7 @@
             </object>
           </object>
         </object>
-        <object type="Bridge" os_index="480" name="Intel Corporation 82801 PCI Bridge" bridge_type="1-1" depth="0" bridge_pci="0000:[01-01]" pci_busid="0000:00:1e.0" pci_type="0604 [8086:244e] [0000:0000] e1" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="480" name="Intel Corporation 82801 PCI Bridge" bridge_type="1-1" depth="1" bridge_pci="0000:[01-01]" pci_busid="0000:00:1e.0" pci_type="0604 [8086:244e] [0000:0000] e1" pci_link_speed="0.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="82801 PCI Bridge"/>
           <object type="PCIDev" os_index="4096" name="ATI Technologies Inc ES1000" pci_busid="0000:01:00.0" pci_type="0300 [1002:515e] [0014:0019] 02" pci_link_speed="0.000000">
@@ -240,7 +240,7 @@
         </object>
       </object>
       <object type="Bridge" os_index="1" bridge_type="0-1" depth="0" bridge_pci="0000:[03-04]">
-        <object type="Bridge" os_index="12288" name="IBM CalIOC2 PCI-E Root Port" bridge_type="1-1" depth="0" bridge_pci="0000:[04-04]" pci_busid="0000:03:00.0" pci_type="0604 [1014:0308] [0000:0000] 01" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="12288" name="IBM CalIOC2 PCI-E Root Port" bridge_type="1-1" depth="1" bridge_pci="0000:[04-04]" pci_busid="0000:03:00.0" pci_type="0604 [1014:0308] [0000:0000] 01" pci_link_speed="0.000000">
           <info name="PCIVendor" value="IBM"/>
           <info name="PCIDevice" value="CalIOC2 PCI-E Root Port"/>
           <object type="PCIDev" os_index="16384" name="LSI Logic / Symbios Logic SAS1078 PCI-Express Fusion-MPT SAS" pci_busid="0000:04:00.0" pci_type="0100 [1000:0062] [0014:0066] 04" pci_link_speed="0.000000">
@@ -254,7 +254,7 @@
     <object type="NUMANode" os_index="1" cpuset="0x0000ffff,0xff000000" complete_cpuset="0x0000ffff,0xff000000" online_cpuset="0x0000ffff,0xff000000" allowed_cpuset="0x0000ffff,0xff000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="51271172096">
       <page_type size="4096" count="12517376"/>
       <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="4" cpuset="0x00001111,0x11000000" complete_cpuset="0x00001111,0x11000000" online_cpuset="0x00001111,0x11000000" allowed_cpuset="0x00001111,0x11000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+      <object type="Package" os_index="4" cpuset="0x00001111,0x11000000" complete_cpuset="0x00001111,0x11000000" online_cpuset="0x00001111,0x11000000" allowed_cpuset="0x00001111,0x11000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <object type="Cache" cpuset="0x00001111,0x11000000" complete_cpuset="0x00001111,0x11000000" online_cpuset="0x00001111,0x11000000" allowed_cpuset="0x00001111,0x11000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="16777216" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x11000000" complete_cpuset="0x11000000" online_cpuset="0x11000000" allowed_cpuset="0x11000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="3145728" depth="2" cache_linesize="64" cache_associativity="12" cache_type="0">
             <object type="Cache" cpuset="0x01000000" complete_cpuset="0x01000000" online_cpuset="0x01000000" allowed_cpuset="0x01000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
@@ -294,7 +294,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_index="5" cpuset="0x00002222,0x22000000" complete_cpuset="0x00002222,0x22000000" online_cpuset="0x00002222,0x22000000" allowed_cpuset="0x00002222,0x22000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+      <object type="Package" os_index="5" cpuset="0x00002222,0x22000000" complete_cpuset="0x00002222,0x22000000" online_cpuset="0x00002222,0x22000000" allowed_cpuset="0x00002222,0x22000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <object type="Cache" cpuset="0x00002222,0x22000000" complete_cpuset="0x00002222,0x22000000" online_cpuset="0x00002222,0x22000000" allowed_cpuset="0x00002222,0x22000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="16777216" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x22000000" complete_cpuset="0x22000000" online_cpuset="0x22000000" allowed_cpuset="0x22000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="3145728" depth="2" cache_linesize="64" cache_associativity="12" cache_type="0">
             <object type="Cache" cpuset="0x02000000" complete_cpuset="0x02000000" online_cpuset="0x02000000" allowed_cpuset="0x02000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
@@ -334,7 +334,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_index="6" cpuset="0x00004444,0x44000000" complete_cpuset="0x00004444,0x44000000" online_cpuset="0x00004444,0x44000000" allowed_cpuset="0x00004444,0x44000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+      <object type="Package" os_index="6" cpuset="0x00004444,0x44000000" complete_cpuset="0x00004444,0x44000000" online_cpuset="0x00004444,0x44000000" allowed_cpuset="0x00004444,0x44000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <object type="Cache" cpuset="0x00004444,0x44000000" complete_cpuset="0x00004444,0x44000000" online_cpuset="0x00004444,0x44000000" allowed_cpuset="0x00004444,0x44000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="16777216" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x44000000" complete_cpuset="0x44000000" online_cpuset="0x44000000" allowed_cpuset="0x44000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="3145728" depth="2" cache_linesize="64" cache_associativity="12" cache_type="0">
             <object type="Cache" cpuset="0x04000000" complete_cpuset="0x04000000" online_cpuset="0x04000000" allowed_cpuset="0x04000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
@@ -374,7 +374,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_index="7" cpuset="0x00008888,0x88000000" complete_cpuset="0x00008888,0x88000000" online_cpuset="0x00008888,0x88000000" allowed_cpuset="0x00008888,0x88000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+      <object type="Package" os_index="7" cpuset="0x00008888,0x88000000" complete_cpuset="0x00008888,0x88000000" online_cpuset="0x00008888,0x88000000" allowed_cpuset="0x00008888,0x88000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <object type="Cache" cpuset="0x00008888,0x88000000" complete_cpuset="0x00008888,0x88000000" online_cpuset="0x00008888,0x88000000" allowed_cpuset="0x00008888,0x88000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="16777216" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x88000000" complete_cpuset="0x88000000" online_cpuset="0x88000000" allowed_cpuset="0x88000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="3145728" depth="2" cache_linesize="64" cache_associativity="12" cache_type="0">
             <object type="Cache" cpuset="0x08000000" complete_cpuset="0x08000000" online_cpuset="0x08000000" allowed_cpuset="0x08000000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
@@ -415,7 +415,7 @@
         </object>
       </object>
       <object type="Bridge" os_index="9" bridge_type="0-1" depth="0" bridge_pci="0000:[30-34]">
-        <object type="Bridge" os_index="197056" name="Intel Corporation N10/ICH 7 Family PCI Express Port 1" bridge_type="1-1" depth="0" bridge_pci="0000:[32-32]" pci_busid="0000:30:1c.0" pci_type="0604 [8086:27d0] [0000:0000] 01" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="197056" name="Intel Corporation N10/ICH 7 Family PCI Express Port 1" bridge_type="1-1" depth="1" bridge_pci="0000:[32-32]" pci_busid="0000:30:1c.0" pci_type="0604 [8086:27d0] [0000:0000] 01" pci_link_speed="0.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="N10/ICH 7 Family PCI Express Port 1"/>
           <object type="PCIDev" os_index="204800" name="Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet" pci_busid="0000:32:00.0" pci_type="0200 [14e4:1639] [0014:007c] 20" pci_link_speed="0.000000">
@@ -433,10 +433,10 @@
             </object>
           </object>
         </object>
-        <object type="Bridge" os_index="197088" name="Intel Corporation 82801 PCI Bridge" bridge_type="1-1" depth="0" bridge_pci="0000:[33-34]" pci_busid="0000:30:1e.0" pci_type="0604 [8086:244e] [0000:0000] e1" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="197088" name="Intel Corporation 82801 PCI Bridge" bridge_type="1-1" depth="1" bridge_pci="0000:[33-34]" pci_busid="0000:30:1e.0" pci_type="0604 [8086:244e] [0000:0000] e1" pci_link_speed="0.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="82801 PCI Bridge"/>
-          <object type="Bridge" os_index="208896" name="IBM CalIOC2 PCI-E Root Port" bridge_type="1-1" depth="1" bridge_pci="0000:[34-34]" pci_busid="0000:33:00.0" pci_type="0604 [1014:0308] [0000:0000] 01" pci_link_speed="0.000000">
+          <object type="Bridge" os_index="208896" name="IBM CalIOC2 PCI-E Root Port" bridge_type="1-1" depth="2" bridge_pci="0000:[34-34]" pci_busid="0000:33:00.0" pci_type="0604 [1014:0308] [0000:0000] 01" pci_link_speed="0.000000">
             <info name="PCIVendor" value="IBM"/>
             <info name="PCIDevice" value="CalIOC2 PCI-E Root Port"/>
             <object type="PCIDev" os_index="212992" name="LSI Logic / Symbios Logic SAS1078 PCI-Express Fusion-MPT SAS" pci_busid="0000:34:00.0" pci_type="0100 [1000:0062] [0014:0066] 04" pci_link_speed="0.000000">
@@ -450,7 +450,7 @@
     <object type="NUMANode" os_index="2" cpuset="0x000000ff,0xffff0000,0x0" complete_cpuset="0x000000ff,0xffff0000,0x0" online_cpuset="0x000000ff,0xffff0000,0x0" allowed_cpuset="0x000000ff,0xffff0000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" local_memory="51271172096">
       <page_type size="4096" count="12517376"/>
       <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="8" cpuset="0x00000011,0x11110000,0x0" complete_cpuset="0x00000011,0x11110000,0x0" online_cpuset="0x00000011,0x11110000,0x0" allowed_cpuset="0x00000011,0x11110000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+      <object type="Package" os_index="8" cpuset="0x00000011,0x11110000,0x0" complete_cpuset="0x00000011,0x11110000,0x0" online_cpuset="0x00000011,0x11110000,0x0" allowed_cpuset="0x00000011,0x11110000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
         <object type="Cache" cpuset="0x00000011,0x11110000,0x0" complete_cpuset="0x00000011,0x11110000,0x0" online_cpuset="0x00000011,0x11110000,0x0" allowed_cpuset="0x00000011,0x11110000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="16777216" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x00110000,0x0" complete_cpuset="0x00110000,0x0" online_cpuset="0x00110000,0x0" allowed_cpuset="0x00110000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="3145728" depth="2" cache_linesize="64" cache_associativity="12" cache_type="0">
             <object type="Cache" cpuset="0x00010000,0x0" complete_cpuset="0x00010000,0x0" online_cpuset="0x00010000,0x0" allowed_cpuset="0x00010000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
@@ -490,7 +490,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_index="9" cpuset="0x00000022,0x22220000,0x0" complete_cpuset="0x00000022,0x22220000,0x0" online_cpuset="0x00000022,0x22220000,0x0" allowed_cpuset="0x00000022,0x22220000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+      <object type="Package" os_index="9" cpuset="0x00000022,0x22220000,0x0" complete_cpuset="0x00000022,0x22220000,0x0" online_cpuset="0x00000022,0x22220000,0x0" allowed_cpuset="0x00000022,0x22220000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
         <object type="Cache" cpuset="0x00000022,0x22220000,0x0" complete_cpuset="0x00000022,0x22220000,0x0" online_cpuset="0x00000022,0x22220000,0x0" allowed_cpuset="0x00000022,0x22220000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="16777216" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x00220000,0x0" complete_cpuset="0x00220000,0x0" online_cpuset="0x00220000,0x0" allowed_cpuset="0x00220000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="3145728" depth="2" cache_linesize="64" cache_associativity="12" cache_type="0">
             <object type="Cache" cpuset="0x00020000,0x0" complete_cpuset="0x00020000,0x0" online_cpuset="0x00020000,0x0" allowed_cpuset="0x00020000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
@@ -530,7 +530,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_index="10" cpuset="0x00000044,0x44440000,0x0" complete_cpuset="0x00000044,0x44440000,0x0" online_cpuset="0x00000044,0x44440000,0x0" allowed_cpuset="0x00000044,0x44440000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+      <object type="Package" os_index="10" cpuset="0x00000044,0x44440000,0x0" complete_cpuset="0x00000044,0x44440000,0x0" online_cpuset="0x00000044,0x44440000,0x0" allowed_cpuset="0x00000044,0x44440000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
         <object type="Cache" cpuset="0x00000044,0x44440000,0x0" complete_cpuset="0x00000044,0x44440000,0x0" online_cpuset="0x00000044,0x44440000,0x0" allowed_cpuset="0x00000044,0x44440000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="16777216" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x00440000,0x0" complete_cpuset="0x00440000,0x0" online_cpuset="0x00440000,0x0" allowed_cpuset="0x00440000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="3145728" depth="2" cache_linesize="64" cache_associativity="12" cache_type="0">
             <object type="Cache" cpuset="0x00040000,0x0" complete_cpuset="0x00040000,0x0" online_cpuset="0x00040000,0x0" allowed_cpuset="0x00040000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
@@ -570,7 +570,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_index="11" cpuset="0x00000088,0x88880000,0x0" complete_cpuset="0x00000088,0x88880000,0x0" online_cpuset="0x00000088,0x88880000,0x0" allowed_cpuset="0x00000088,0x88880000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
+      <object type="Package" os_index="11" cpuset="0x00000088,0x88880000,0x0" complete_cpuset="0x00000088,0x88880000,0x0" online_cpuset="0x00000088,0x88880000,0x0" allowed_cpuset="0x00000088,0x88880000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004">
         <object type="Cache" cpuset="0x00000088,0x88880000,0x0" complete_cpuset="0x00000088,0x88880000,0x0" online_cpuset="0x00000088,0x88880000,0x0" allowed_cpuset="0x00000088,0x88880000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="16777216" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x00880000,0x0" complete_cpuset="0x00880000,0x0" online_cpuset="0x00880000,0x0" allowed_cpuset="0x00880000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="3145728" depth="2" cache_linesize="64" cache_associativity="12" cache_type="0">
             <object type="Cache" cpuset="0x00080000,0x0" complete_cpuset="0x00080000,0x0" online_cpuset="0x00080000,0x0" allowed_cpuset="0x00080000,0x0" nodeset="0x00000004" complete_nodeset="0x00000004" allowed_nodeset="0x00000004" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
@@ -611,7 +611,7 @@
         </object>
       </object>
       <object type="Bridge" os_index="17" bridge_type="0-1" depth="0" bridge_pci="0000:[60-64]">
-        <object type="Bridge" os_index="393664" name="Intel Corporation N10/ICH 7 Family PCI Express Port 1" bridge_type="1-1" depth="0" bridge_pci="0000:[62-62]" pci_busid="0000:60:1c.0" pci_type="0604 [8086:27d0] [0000:0000] 01" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="393664" name="Intel Corporation N10/ICH 7 Family PCI Express Port 1" bridge_type="1-1" depth="1" bridge_pci="0000:[62-62]" pci_busid="0000:60:1c.0" pci_type="0604 [8086:27d0] [0000:0000] 01" pci_link_speed="0.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="N10/ICH 7 Family PCI Express Port 1"/>
           <object type="PCIDev" os_index="401408" name="Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet" pci_busid="0000:62:00.0" pci_type="0200 [14e4:1639] [0014:007c] 20" pci_link_speed="0.000000">
@@ -629,10 +629,10 @@
             </object>
           </object>
         </object>
-        <object type="Bridge" os_index="393696" name="Intel Corporation 82801 PCI Bridge" bridge_type="1-1" depth="0" bridge_pci="0000:[63-64]" pci_busid="0000:60:1e.0" pci_type="0604 [8086:244e] [0000:0000] e1" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="393696" name="Intel Corporation 82801 PCI Bridge" bridge_type="1-1" depth="1" bridge_pci="0000:[63-64]" pci_busid="0000:60:1e.0" pci_type="0604 [8086:244e] [0000:0000] e1" pci_link_speed="0.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="82801 PCI Bridge"/>
-          <object type="Bridge" os_index="405504" name="IBM CalIOC2 PCI-E Root Port" bridge_type="1-1" depth="1" bridge_pci="0000:[64-64]" pci_busid="0000:63:00.0" pci_type="0604 [1014:0308] [0000:0000] 01" pci_link_speed="0.000000">
+          <object type="Bridge" os_index="405504" name="IBM CalIOC2 PCI-E Root Port" bridge_type="1-1" depth="2" bridge_pci="0000:[64-64]" pci_busid="0000:63:00.0" pci_type="0604 [1014:0308] [0000:0000] 01" pci_link_speed="0.000000">
             <info name="PCIVendor" value="IBM"/>
             <info name="PCIDevice" value="CalIOC2 PCI-E Root Port"/>
             <object type="PCIDev" os_index="409600" name="LSI Logic / Symbios Logic SAS1078 PCI-Express Fusion-MPT SAS" pci_busid="0000:64:00.0" pci_type="0100 [1000:0062] [0014:0066] 04" pci_link_speed="0.000000">
@@ -647,7 +647,7 @@
     <object type="NUMANode" os_index="3" cpuset="0xffffff00,,0x0" complete_cpuset="0xffffff00,,0x0" online_cpuset="0xffffff00,,0x0" allowed_cpuset="0xffffff00,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" local_memory="51271172096">
       <page_type size="4096" count="12517376"/>
       <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="12" cpuset="0x11111100,,0x0" complete_cpuset="0x11111100,,0x0" online_cpuset="0x11111100,,0x0" allowed_cpuset="0x11111100,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+      <object type="Package" os_index="12" cpuset="0x11111100,,0x0" complete_cpuset="0x11111100,,0x0" online_cpuset="0x11111100,,0x0" allowed_cpuset="0x11111100,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
         <object type="Cache" cpuset="0x11111100,,0x0" complete_cpuset="0x11111100,,0x0" online_cpuset="0x11111100,,0x0" allowed_cpuset="0x11111100,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="16777216" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x00001100,,0x0" complete_cpuset="0x00001100,,0x0" online_cpuset="0x00001100,,0x0" allowed_cpuset="0x00001100,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="3145728" depth="2" cache_linesize="64" cache_associativity="12" cache_type="0">
             <object type="Cache" cpuset="0x00000100,,0x0" complete_cpuset="0x00000100,,0x0" online_cpuset="0x00000100,,0x0" allowed_cpuset="0x00000100,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
@@ -687,7 +687,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_index="13" cpuset="0x22222200,,0x0" complete_cpuset="0x22222200,,0x0" online_cpuset="0x22222200,,0x0" allowed_cpuset="0x22222200,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+      <object type="Package" os_index="13" cpuset="0x22222200,,0x0" complete_cpuset="0x22222200,,0x0" online_cpuset="0x22222200,,0x0" allowed_cpuset="0x22222200,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
         <object type="Cache" cpuset="0x22222200,,0x0" complete_cpuset="0x22222200,,0x0" online_cpuset="0x22222200,,0x0" allowed_cpuset="0x22222200,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="16777216" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x00002200,,0x0" complete_cpuset="0x00002200,,0x0" online_cpuset="0x00002200,,0x0" allowed_cpuset="0x00002200,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="3145728" depth="2" cache_linesize="64" cache_associativity="12" cache_type="0">
             <object type="Cache" cpuset="0x00000200,,0x0" complete_cpuset="0x00000200,,0x0" online_cpuset="0x00000200,,0x0" allowed_cpuset="0x00000200,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
@@ -727,7 +727,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_index="14" cpuset="0x44444400,,0x0" complete_cpuset="0x44444400,,0x0" online_cpuset="0x44444400,,0x0" allowed_cpuset="0x44444400,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+      <object type="Package" os_index="14" cpuset="0x44444400,,0x0" complete_cpuset="0x44444400,,0x0" online_cpuset="0x44444400,,0x0" allowed_cpuset="0x44444400,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
         <object type="Cache" cpuset="0x44444400,,0x0" complete_cpuset="0x44444400,,0x0" online_cpuset="0x44444400,,0x0" allowed_cpuset="0x44444400,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="16777216" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x00004400,,0x0" complete_cpuset="0x00004400,,0x0" online_cpuset="0x00004400,,0x0" allowed_cpuset="0x00004400,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="3145728" depth="2" cache_linesize="64" cache_associativity="12" cache_type="0">
             <object type="Cache" cpuset="0x00000400,,0x0" complete_cpuset="0x00000400,,0x0" online_cpuset="0x00000400,,0x0" allowed_cpuset="0x00000400,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
@@ -767,7 +767,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_index="15" cpuset="0x88888800,,0x0" complete_cpuset="0x88888800,,0x0" online_cpuset="0x88888800,,0x0" allowed_cpuset="0x88888800,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
+      <object type="Package" os_index="15" cpuset="0x88888800,,0x0" complete_cpuset="0x88888800,,0x0" online_cpuset="0x88888800,,0x0" allowed_cpuset="0x88888800,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008">
         <object type="Cache" cpuset="0x88888800,,0x0" complete_cpuset="0x88888800,,0x0" online_cpuset="0x88888800,,0x0" allowed_cpuset="0x88888800,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="16777216" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x00008800,,0x0" complete_cpuset="0x00008800,,0x0" online_cpuset="0x00008800,,0x0" allowed_cpuset="0x00008800,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="3145728" depth="2" cache_linesize="64" cache_associativity="12" cache_type="0">
             <object type="Cache" cpuset="0x00000800,,0x0" complete_cpuset="0x00000800,,0x0" online_cpuset="0x00000800,,0x0" allowed_cpuset="0x00000800,,0x0" nodeset="0x00000008" complete_nodeset="0x00000008" allowed_nodeset="0x00000008" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
@@ -808,7 +808,7 @@
         </object>
       </object>
       <object type="Bridge" os_index="25" bridge_type="0-1" depth="0" bridge_pci="0000:[90-94]">
-        <object type="Bridge" os_index="590272" name="Intel Corporation N10/ICH 7 Family PCI Express Port 1" bridge_type="1-1" depth="0" bridge_pci="0000:[92-92]" pci_busid="0000:90:1c.0" pci_type="0604 [8086:27d0] [0000:0000] 01" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="590272" name="Intel Corporation N10/ICH 7 Family PCI Express Port 1" bridge_type="1-1" depth="1" bridge_pci="0000:[92-92]" pci_busid="0000:90:1c.0" pci_type="0604 [8086:27d0] [0000:0000] 01" pci_link_speed="0.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="N10/ICH 7 Family PCI Express Port 1"/>
           <object type="PCIDev" os_index="598016" name="Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet" pci_busid="0000:92:00.0" pci_type="0200 [14e4:1639] [0014:007c] 20" pci_link_speed="0.000000">
@@ -826,10 +826,10 @@
             </object>
           </object>
         </object>
-        <object type="Bridge" os_index="590304" name="Intel Corporation 82801 PCI Bridge" bridge_type="1-1" depth="0" bridge_pci="0000:[93-94]" pci_busid="0000:90:1e.0" pci_type="0604 [8086:244e] [0000:0000] e1" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="590304" name="Intel Corporation 82801 PCI Bridge" bridge_type="1-1" depth="1" bridge_pci="0000:[93-94]" pci_busid="0000:90:1e.0" pci_type="0604 [8086:244e] [0000:0000] e1" pci_link_speed="0.000000">
           <info name="PCIVendor" value="Intel Corporation"/>
           <info name="PCIDevice" value="82801 PCI Bridge"/>
-          <object type="Bridge" os_index="602112" name="IBM CalIOC2 PCI-E Root Port" bridge_type="1-1" depth="1" bridge_pci="0000:[94-94]" pci_busid="0000:93:00.0" pci_type="0604 [1014:0308] [0000:0000] 01" pci_link_speed="0.000000">
+          <object type="Bridge" os_index="602112" name="IBM CalIOC2 PCI-E Root Port" bridge_type="1-1" depth="2" bridge_pci="0000:[94-94]" pci_busid="0000:93:00.0" pci_type="0604 [1014:0308] [0000:0000] 01" pci_link_speed="0.000000">
             <info name="PCIVendor" value="IBM"/>
             <info name="PCIDevice" value="CalIOC2 PCI-E Root Port"/>
             <object type="PCIDev" os_index="606208" name="LSI Logic / Symbios Logic SAS1078 PCI-Express Fusion-MPT SAS" pci_busid="0000:94:00.0" pci_type="0100 [1000:0062] [0014:0066] 04" pci_link_speed="0.000000">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/Makefile.am b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/Makefile.am
index fde89f2..116d668 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/Makefile.am
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/Makefile.am
@@ -1,49 +1,72 @@
-# Copyright © 2009-2013 Inria.  All rights reserved.
-# Copyright © 2009-2010 Université Bordeaux 1
-# Copyright © 2009-2010 Cisco Systems, Inc.  All rights reserved.
+# Copyright © 2009-2015 Inria.  All rights reserved.
+# Copyright © 2009-2010 Université Bordeaux
+# Copyright © 2009-2014 Cisco Systems, Inc.  All rights reserved.
 # See COPYING in top-level directory.
 
 AM_CFLAGS = $(HWLOC_CFLAGS)
 AM_CPPFLAGS = $(HWLOC_CPPFLAGS)
 AM_LDFLAGS = $(HWLOC_LDFLAGS)
 
-# Add your XML input files here.
-xml_inputs = \
-	16amd64-8n2c-cpusets.xml \
-	16em64t-4s2c2t.xml \
-	16em64t-4s2c2t-offlines.xml \
-	24em64t-2n6c2t-pci.xml \
-	8em64t-2mi2ma2c.xml \
-	32em64t-2n8c2t-pci-noio.xml \
-	32em64t-2n8c2t-pci-normalio.xml \
-	32em64t-2n8c2t-pci-wholeio.xml \
-	96em64t-4n4d3ca2co-pci.xml \
-	192em64t-12gr2n8c2t-distancegroups.xml \
-	192em64t-24n8c2t-nodistancegroups.xml \
-	192em64t-24n8c2t-distancegroups.xml
-
-# Each output `xyz.source' may have a corresponding `xyz.source'
-# file modifying its source file
+# Add your output files here.
+xml_outputs = \
+        16amd64-8n2c-cpusets.xml \
+        16em64t-4s2c2t.xml \
+        16em64t-4s2c2t-offlines.xml \
+        16em64t-4s2c2t.console.output \
+        16-2gr2gr2n2c+misc.xml \
+        16-2gr2gr2n2c+misc.console.output \
+        16intel64-manyVFs.xml \
+        16intel64-manyVFs.console.output \
+        16intel64-manyVFs.console.nocollapse.output \
+        24em64t-2n6c2t-pci.xml \
+        32em64t-2n8c2t-pci-noio.xml \
+        32em64t-2n8c2t-pci-normalio.xml \
+        32em64t-2n8c2t-pci-wholeio.xml \
+        64intel64-3g2n+2n-irregulargroups+pci.xml \
+        64intel64-3g2n+2n-irregulargroups+pci.console.output \
+        96em64t-4n4d3ca2co-pci.xml \
+        192em64t-12gr2n8c2t-distancegroups.xml \
+        192em64t-24n8c2t-nodistancegroups.xml \
+        192em64t-24n8c2t-distancegroups.xml
+
+# Each output `xyz.xml' may have a corresponding `xyz.source' file specifying
+# its source file.
+# Each output `xyz.output' must have a corresponding `xyz.xml' source file,
+# or a `xyz.source' file specifying its source file.
 xml_source = \
-	32em64t-2n8c2t-pci-noio.source \
-	32em64t-2n8c2t-pci-normalio.source \
-	192em64t-24n8c2t-distancegroups.source
+        16em64t-4s2c2t.console.source \
+        16-2gr2gr2n2c+misc.console.source \
+        16intel64-manyVFs.console.source \
+        16intel64-manyVFs.console.nocollapse.source \
+        32em64t-2n8c2t-pci-noio.source \
+        32em64t-2n8c2t-pci-normalio.source \
+        64intel64-3g2n+2n-irregulargroups+pci.console.source \
+        192em64t-24n8c2t-distancegroups.source
 
-# Each output `xyz.xml' may have a corresponding `xyz.options'
+# Each output `xyz.xml' or `xyz.output' may have a corresponding `xyz.options'
 # file modifying the behavior of lstopo
 xml_options = \
-	32em64t-2n8c2t-pci-noio.options \
-	32em64t-2n8c2t-pci-wholeio.options
+        16em64t-4s2c2t.console.options \
+        16intel64-manyVFs.console.options \
+        16intel64-manyVFs.console.nocollapse.options \
+        16-2gr2gr2n2c+misc.console.options \
+        32em64t-2n8c2t-pci-noio.options \
+        32em64t-2n8c2t-pci-wholeio.options \
+        64intel64-3g2n+2n-irregulargroups+pci.options \
+        64intel64-3g2n+2n-irregulargroups+pci.console.options
 
-# Each output `xyz.xml' may have a corresponding `xyz.env'
+# Each output `xyz.xml' or `xyz.output' may have a corresponding `xyz.env'
 # modifying the environment of lstopo
 xml_envs = \
-	192em64t-24n8c2t-nodistancegroups.env
+        64intel64-3g2n+2n-irregulargroups+pci.console.env \
+        192em64t-12gr2n8c2t-distancegroups.env \
+        192em64t-24n8c2t-nodistancegroups.env \
+        192em64t-24n8c2t-distancegroups.env
 
 # Only run the tests if we're building standalone, because the tests
 # call hwloc executables.
-TESTS = $(xml_inputs)
+TESTS = $(xml_outputs)
 
-EXTRA_DIST = $(xml_inputs) $(xml_source) $(xml_options) $(xml_envs)
+EXTRA_DIST = $(xml_outputs) $(xml_source) $(xml_options) $(xml_envs)
 
 LOG_COMPILER = $(HWLOC_top_builddir)/tests/xml/test-topology.sh
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/test-topology.sh.in b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/test-topology.sh.in
index 65dd2ab..ea2fbc5 100755
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/test-topology.sh.in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/test-topology.sh.in
@@ -3,8 +3,8 @@
 
 #
 # Copyright © 2009 CNRS
-# Copyright © 2009-2013 Inria.  All rights reserved.
-# Copyright © 2009-2012 Université Bordeaux 1
+# Copyright © 2009-2015 Inria.  All rights reserved.
+# Copyright © 2009-2012 Université Bordeaux
 # Copyright © 2010 Cisco Systems, Inc.  All rights reserved.
 # See COPYING in top-level directory.
 #
@@ -14,7 +14,7 @@
 
 HWLOC_top_builddir="@HWLOC_top_builddir@"
 HWLOC_top_srcdir="@HWLOC_top_srcdir@"
-lstopo="@HWLOC_top_builddir@/utils/lstopo-no-graphics"
+lstopo="@HWLOC_top_builddir@/utils/lstopo/lstopo-no-graphics"
 
 HWLOC_PLUGINS_PATH=${HWLOC_top_builddir}/src
 export HWLOC_PLUGINS_PATH
@@ -48,15 +48,23 @@ fi
   tmp=$TMPDIR/foo$$-$RANDOM
   (umask 077 && mkdir "$tmp")
 } || exit $?
-file="$tmp/lstopo_xml.output.xml"
+file="$tmp/lstopo_xml.output"
 
 set -e
 
+output="$1"
 dirname=`dirname $1`
+filename=`basename $1`
 basename=`basename $1 .xml`
+basename=`basename $basename .output`
 
 source="${dirname}/${basename}.xml"
 source_file="${dirname}/${basename}.source"
+
+if test \! -f "$source" && test \! -f "$source_file"; then
+  echo "Missing both ${basename}.xml and ${basename}.source"
+  exit 1
+fi
 test -f "$source_file" && source="${dirname}/"`cat $source_file`
 
 options_file="${dirname}/${basename}.options"
@@ -71,34 +79,65 @@ do_run()
 
   if [ "$HWLOC_UPDATE_TEST_TOPOLOGY_OUTPUT" != 1 ]
   then
-    diff @HWLOC_DIFF_U@ @HWLOC_DIFF_W@ "${dirname}/${basename}.xml" "$file"
+    diff @HWLOC_DIFF_U@ @HWLOC_DIFF_W@ "$output" "$file"
   else
-    if ! diff "${dirname}/${basename}.xml" "$file" >/dev/null
+    if ! diff "$output" "$file" >/dev/null
     then
-	cp -f "$file" "${dirname}/${basename}.xml"
-	echo "Updated ${basename}.xml"
+	cp -f "$file" "$output"
+	echo "Updated $filename"
     fi
   fi
 
   if [ -n "@XMLLINT@" ]
   then
     cp -f "$HWLOC_top_srcdir"/src/hwloc.dtd "$tmp/"
-    ( cd $tmp ; @XMLLINT@ --valid lstopo_xml.output.xml ) > /dev/null
+    ( cd $tmp ; @XMLLINT@ --valid $file ) > /dev/null
   fi
 
   rm "$file"
 }
 
+do_run_with_output()
+{
+  echo $lstopo --if xml --input "$source" "$file" $opts
+  $lstopo --if xml --input "$source" "$file" $opts
+
+  if [ "$HWLOC_UPDATE_TEST_TOPOLOGY_OUTPUT" != 1 ]
+  then
+    diff @HWLOC_DIFF_U@ @HWLOC_DIFF_W@ "$output" "$file"
+  else
+    if ! diff "$output" "$file" >/dev/null
+    then
+        cp -f "$file" "$output"
+        echo "Updated ${basename}.xml"
+    fi
+  fi
+
+  rm $file
+}
+
 export HWLOC_NO_LIBXML_IMPORT
 export HWLOC_NO_LIBXML_EXPORT
 
-echo "Importing with default parser and reexporting with minimalistic implementation..."
-HWLOC_NO_LIBXML_IMPORT=0
-HWLOC_NO_LIBXML_EXPORT=1
-do_run "$dirname" "$basename"
-echo "Importing with minimalistic parser and reexporting with default implementation..."
-HWLOC_NO_LIBXML_IMPORT=1
-HWLOC_NO_LIBXML_EXPORT=0
-do_run "$dirname" "$basename"
+if test "$filename" = "${basename}.xml"; then
+  echo "Importing with default parser and reexporting with minimalistic implementation..."
+  HWLOC_NO_LIBXML_IMPORT=0
+  HWLOC_NO_LIBXML_EXPORT=1
+  do_run "$dirname" "$basename"
+  echo "Importing with minimalistic parser and reexporting with default implementation..."
+  HWLOC_NO_LIBXML_IMPORT=1
+  HWLOC_NO_LIBXML_EXPORT=0
+  do_run "$dirname" "$basename"
+else if test "$filename" = "${basename}.output"; then
+  echo "Importing with default parser"
+  HWLOC_NO_LIBXML_IMPORT=0
+  do_run_with_output "$dirname" "$basename"
+  echo "Importing with minimalistic parser"
+  HWLOC_NO_LIBXML_IMPORT=1
+  do_run_with_output "$dirname" "$basename"
+else
+  echo "Filename must end with either .xml or .output"
+  exit 1
+fi fi
 
 rm -rf "$tmp"
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/Makefile.am b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/Makefile.am
index 872d342..6b90283 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/Makefile.am
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/Makefile.am
@@ -1,173 +1,5 @@
-# Copyright © 2009-2013 Inria.  All rights reserved.
-# Copyright © 2009-2012 Université Bordeaux 1
-# Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
+# Copyright © 2014 Cisco Systems, Inc.  All rights reserved.
 #
 # See COPYING in top-level directory.
 
-# This makefile is only reached when building in standalone mode
-
-AM_CFLAGS = $(HWLOC_CFLAGS)
-AM_CPPFLAGS = $(HWLOC_CPPFLAGS)
-AM_LDFLAGS = $(HWLOC_LDFLAGS)
-
-LDADD = $(HWLOC_top_builddir)/src/libhwloc.la
-
-EXTRA_DIST = \
-	test-hwloc-annotate.input test-hwloc-annotate.output \
-	test-hwloc-assembler.input1 test-hwloc-assembler.input2 test-hwloc-assembler.output \
-	test-hwloc-calc.output \
-	test-hwloc-compress-dir.input.tar.gz test-hwloc-compress-dir.output.tar.gz \
-	test-hwloc-diffpatch.input1 test-hwloc-diffpatch.input2 \
-	test-hwloc-distances.output \
-	test-hwloc-distrib.output \
-	test-hwloc-info.output \
-	test-hwloc-ls.output
-
-noinst_HEADERS = misc.h
-
-bin_PROGRAMS = \
-	lstopo-no-graphics \
-	hwloc-annotate \
-	hwloc-assembler \
-	hwloc-bind \
-	hwloc-calc \
-	hwloc-diff \
-	hwloc-distances \
-	hwloc-distrib \
-	hwloc-info \
-	hwloc-patch \
-	hwloc-ps
-
-lstopo_no_graphics_SOURCES = \
-	lstopo.h \
-	lstopo.c \
-	lstopo-color.c \
-	lstopo-draw.c \
-	lstopo-fig.c \
-	lstopo-text.c \
-	lstopo-xml.c
-
-lstopo_no_graphics_CFLAGS = 
-lstopo_no_graphics_LDADD = $(LDADD) -lm $(HWLOC_TERMCAP_LIBS)
-lstopo_SOURCES = $(lstopo_no_graphics_SOURCES)
-lstopo_CPPFLAGS = $(AM_CPPFLAGS)
-lstopo_LDADD = $(lstopo_no_graphics_LDADD)
-if HWLOC_HAVE_CAIRO
-bin_PROGRAMS += lstopo
-lstopo_SOURCES += lstopo-cairo.c
-lstopo_CPPFLAGS += -DLSTOPO_HAVE_GRAPHICS
-lstopo_CFLAGS = $(lstopo_no_graphics_CFLAGS) $(HWLOC_CAIRO_CFLAGS)
-lstopo_LDADD += $(HWLOC_CAIRO_LIBS) $(HWLOC_X11_LIBS)
-endif
-if HWLOC_HAVE_WINDOWS
-bin_PROGRAMS += lstopo lstopo-win
-lstopo_SOURCES += lstopo-windows.c
-lstopo_CPPFLAGS += -DLSTOPO_HAVE_GRAPHICS
-lstopo_win_SOURCES = $(lstopo_SOURCES)
-lstopo_win_CPPFLAGS = $(lstopo_CPPFLAGS)
-lstopo_win_CFLAGS = $(lstopo_CFLAGS) -mwindows
-lstopo_win_LDADD = $(lstopo_LDADD)
-endif
-
-hwloc_calc_SOURCES = \
-	hwloc-calc.h \
-	hwloc-calc.c
-
-bin_SCRIPTS = hwloc-assembler-remote hwloc-compress-dir
-
-if !HWLOC_HAVE_MINGW32
-TESTS = \
-	test-hwloc-annotate.sh \
-	test-hwloc-assembler.sh \
-	test-hwloc-calc.sh \
-	test-hwloc-compress-dir.sh \
-	test-hwloc-diffpatch.sh \
-	test-hwloc-distances.sh \
-	test-hwloc-distrib.sh \
-	test-hwloc-info.sh \
-	test-hwloc-ls.sh
-if HWLOC_HAVE_PLUGINS
-TESTS += test-fake-plugin.sh
-endif HWLOC_HAVE_PLUGINS
-endif !HWLOC_HAVE_MINGW32
-
-# Only install man pages if we're building in standalone mode
-man7_pages = hwloc.7
-EXTRA_DIST += $(man7_pages:.7=.7in)
-nodist_man_MANS = $(man7_pages)
-
-man1_pages = \
-	lstopo.1 \
-	hwloc-annotate.1 \
-	hwloc-assembler.1 \
-	hwloc-assembler-remote.1 \
-	hwloc-bind.1 \
-	hwloc-calc.1 \
-	hwloc-compress-dir.1 \
-	hwloc-diff.1 \
-	hwloc-distances.1 \
-	hwloc-distrib.1 \
-	hwloc-info.1 \
-	hwloc-patch.1 \
-	hwloc-ps.1
-EXTRA_DIST += $(man1_pages:.1=.1in)
-nodist_man_MANS += $(man1_pages)
-
-# Only install the gather-topology page if we're on Linux, but we need
-# to include it in the tarball, regardless of what OS we're building
-# on.
-hgt_page = hwloc-gather-topology.1
-EXTRA_DIST += $(hgt_page:.1=.1in)
-if HWLOC_HAVE_LINUX
-nodist_man_MANS += $(hgt_page)
-endif HWLOC_HAVE_LINUX
-
-.1in.1:
-	@ echo Creating $@ man page...
-	@ $(SED) -e 's/#PACKAGE_NAME#/@PACKAGE_NAME@/g' \
-	  -e 's/#PACKAGE_VERSION#/@PACKAGE_VERSION@/g' \
-	  -e 's/#HWLOC_DATE#/@HWLOC_RELEASE_DATE@/g' \
-	  > $@ < $<
-
-.3in.3:
-	@ echo Creating $@ man page...
-	@ $(SED) -e 's/#PACKAGE_NAME#/@PACKAGE_NAME@/g' \
-	  -e 's/#PACKAGE_VERSION#/@PACKAGE_VERSION@/g' \
-	  -e 's/#HWLOC_DATE#/@HWLOC_RELEASE_DATE@/g' \
-	  > $@ < $<
-
-.7in.7:
-	@ echo Creating $@ man page...
-	@ $(SED) -e 's/#PACKAGE_NAME#/@PACKAGE_NAME@/g' \
-	  -e 's/#PACKAGE_VERSION#/@PACKAGE_VERSION@/g' \
-	  -e 's/#HWLOC_DATE#/@HWLOC_RELEASE_DATE@/g' \
-	  > $@ < $<
-
-install-exec-hook: install-man
-	rm -f $(DESTDIR)$(bindir)/hwloc-ls$(EXEEXT)
-	cd $(DESTDIR)$(bindir) && $(LN_S) lstopo-no-graphics$(EXEEXT) hwloc-ls$(EXEEXT)
-if !HWLOC_HAVE_WINDOWS
-if !HWLOC_HAVE_CAIRO
-	rm -f $(DESTDIR)$(bindir)/lstopo
-	cd $(DESTDIR)$(bindir) && $(LN_S) lstopo-no-graphics$(EXEEXT) lstopo$(EXEEXT) || true
-endif
-endif
-	rm -f $(DESTDIR)$(man1dir)/hwloc-ls.1
-	cd $(DESTDIR)$(man1dir) && $(LN_S) lstopo.1 hwloc-ls.1
-	rm -f $(DESTDIR)$(man1dir)/lstopo-no-graphics.1
-	cd $(DESTDIR)$(man1dir) && $(LN_S) lstopo.1 lstopo-no-graphics.1
-	$(SED) -e 's/HWLOC_top_builddir\/utils/bindir/' -e '/HWLOC_top_builddir/d' $(DESTDIR)$(bindir)/hwloc-assembler-remote > $(DESTDIR)$(bindir)/hwloc-assembler-remote.tmp && mv -f $(DESTDIR)$(bindir)/hwloc-assembler-remote.tmp $(DESTDIR)$(bindir)/hwloc-assembler-remote
-	$(SED) -e 's/HWLOC_top_builddir\/utils/bindir/' -e '/HWLOC_top_builddir/d' $(DESTDIR)$(bindir)/hwloc-compress-dir > $(DESTDIR)$(bindir)/hwloc-compress-dir.tmp && mv -f $(DESTDIR)$(bindir)/hwloc-compress-dir.tmp $(DESTDIR)$(bindir)/hwloc-compress-dir
-	chmod +x $(DESTDIR)$(bindir)/hwloc-assembler-remote $(DESTDIR)$(bindir)/hwloc-compress-dir
-
-uninstall-local:
-	rm -f $(DESTDIR)$(bindir)/hwloc-ls$(EXEEXT)
-if !HWLOC_HAVE_WINDOWS
-if !HWLOC_HAVE_CAIRO
-	rm -f $(DESTDIR)$(bindir)/lstopo$(EXEEXT)
-endif
-endif
-	rm -f $(DESTDIR)$(man1dir)/hwloc-ls.1 $(DESTDIR)$(man1dir)/lstopo-no-graphics.1
-
-distclean-local:
-	rm -f $(nodist_man_MANS)
+SUBDIRS = hwloc lstopo
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/Makefile.am b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/Makefile.am
new file mode 100644
index 0000000..08b3204
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/Makefile.am
@@ -0,0 +1,124 @@
+# Copyright © 2009-2015 Inria.  All rights reserved.
+# Copyright © 2009-2012, 2014 Université Bordeaux
+# Copyright © 2009-2014 Cisco Systems, Inc.  All rights reserved.
+#
+# See COPYING in top-level directory.
+
+# This makefile is only reached when building in standalone mode
+
+AM_CFLAGS = $(HWLOC_CFLAGS)
+AM_CPPFLAGS = $(HWLOC_CPPFLAGS)
+AM_LDFLAGS = $(HWLOC_LDFLAGS)
+
+LDADD = $(HWLOC_top_builddir)/src/libhwloc.la
+
+EXTRA_DIST = \
+        test-hwloc-annotate.input test-hwloc-annotate.output \
+        test-hwloc-assembler.input1 test-hwloc-assembler.input2 test-hwloc-assembler.output \
+        test-hwloc-calc.output \
+        test-hwloc-compress-dir.input.tar.gz test-hwloc-compress-dir.output.tar.gz \
+        test-hwloc-diffpatch.input1 test-hwloc-diffpatch.input2 \
+        test-hwloc-distances.output \
+        test-hwloc-distrib.output \
+        test-hwloc-info.output
+
+noinst_HEADERS = misc.h
+
+bin_PROGRAMS = \
+        hwloc-annotate \
+        hwloc-assembler \
+        hwloc-bind \
+        hwloc-calc \
+        hwloc-diff \
+        hwloc-distances \
+        hwloc-distrib \
+        hwloc-info \
+        hwloc-patch \
+        hwloc-ps
+
+hwloc_calc_SOURCES = \
+        hwloc-calc.h \
+        hwloc-calc.c
+
+bin_SCRIPTS = hwloc-assembler-remote hwloc-compress-dir
+if HWLOC_HAVE_LINUX
+bin_SCRIPTS += hwloc-gather-topology
+endif HWLOC_HAVE_LINUX
+
+if !HWLOC_HAVE_MINGW32
+TESTS = \
+        test-hwloc-annotate.sh \
+        test-hwloc-assembler.sh \
+        test-hwloc-calc.sh \
+        test-hwloc-compress-dir.sh \
+        test-hwloc-diffpatch.sh \
+        test-hwloc-distances.sh \
+        test-hwloc-distrib.sh \
+        test-hwloc-info.sh
+if HWLOC_HAVE_PLUGINS
+TESTS += test-fake-plugin.sh
+endif HWLOC_HAVE_PLUGINS
+endif !HWLOC_HAVE_MINGW32
+
+# Only install man pages if we're building in standalone mode
+man7_pages = hwloc.7
+EXTRA_DIST += $(man7_pages:.7=.7in)
+nodist_man_MANS = $(man7_pages)
+
+man1_pages = \
+        hwloc-annotate.1 \
+        hwloc-assembler.1 \
+        hwloc-assembler-remote.1 \
+        hwloc-bind.1 \
+        hwloc-calc.1 \
+        hwloc-compress-dir.1 \
+        hwloc-diff.1 \
+        hwloc-distances.1 \
+        hwloc-distrib.1 \
+        hwloc-info.1 \
+        hwloc-patch.1 \
+        hwloc-ps.1
+EXTRA_DIST += $(man1_pages:.1=.1in)
+nodist_man_MANS += $(man1_pages)
+
+# Only install the gather-topology page if we're on Linux, but we need
+# to include it in the tarball, regardless of what OS we're building
+# on.
+hgt_page = hwloc-gather-topology.1
+EXTRA_DIST += $(hgt_page:.1=.1in)
+if HWLOC_HAVE_LINUX
+nodist_man_MANS += $(hgt_page)
+endif HWLOC_HAVE_LINUX
+
+.1in.1:
+	@ echo Creating $@ man page...
+	@ $(SED) -e 's/#PACKAGE_NAME#/@PACKAGE_NAME@/g' \
+	  -e 's/#PACKAGE_VERSION#/@PACKAGE_VERSION@/g' \
+	  -e 's/#HWLOC_DATE#/@HWLOC_RELEASE_DATE@/g' \
+	  > $@ < $<
+
+.3in.3:
+	@ echo Creating $@ man page...
+	@ $(SED) -e 's/#PACKAGE_NAME#/@PACKAGE_NAME@/g' \
+	  -e 's/#PACKAGE_VERSION#/@PACKAGE_VERSION@/g' \
+	  -e 's/#HWLOC_DATE#/@HWLOC_RELEASE_DATE@/g' \
+	  > $@ < $<
+
+.7in.7:
+	@ echo Creating $@ man page...
+	@ $(SED) -e 's/#PACKAGE_NAME#/@PACKAGE_NAME@/g' \
+	  -e 's/#PACKAGE_VERSION#/@PACKAGE_VERSION@/g' \
+	  -e 's/#HWLOC_DATE#/@HWLOC_RELEASE_DATE@/g' \
+	  > $@ < $<
+
+install-exec-hook:
+	$(SED) -e 's/HWLOC_top_builddir\/utils\/hwloc/bindir/' -e 's/HWLOC_top_builddir\/utils\/lstopo/bindir/' -e '/HWLOC_top_builddir/d' $(DESTDIR)$(bindir)/hwloc-assembler-remote > $(DESTDIR)$(bindir)/hwloc-assembler-remote.tmp && mv -f $(DESTDIR)$(bindir)/hwloc-assembler-remote.tmp $(DESTDIR)$(bindir)/hwloc-assembler-remote
+	$(SED) -e 's/HWLOC_top_builddir\/utils\/hwloc/bindir/' -e 's/HWLOC_top_builddir\/utils\/lstopo/bindir/' -e '/HWLOC_top_builddir/d' $(DESTDIR)$(bindir)/hwloc-compress-dir > $(DESTDIR)$(bindir)/hwloc-compress-dir.tmp && mv -f $(DESTDIR)$(bindir)/hwloc-compress-dir.tmp $(DESTDIR)$(bindir)/hwloc-compress-dir
+	chmod +x $(DESTDIR)$(bindir)/hwloc-assembler-remote $(DESTDIR)$(bindir)/hwloc-compress-dir
+if HWLOC_HAVE_LINUX
+	$(SED) -e 's/HWLOC_top_builddir\/utils\/lstopo/bindir/' -e '/HWLOC_top_builddir/d' $(DESTDIR)$(bindir)/hwloc-gather-topology > $(DESTDIR)$(bindir)/hwloc-gather-topology.tmp && mv -f $(DESTDIR)$(bindir)/hwloc-gather-topology.tmp $(DESTDIR)$(bindir)/hwloc-gather-topology
+	chmod +x $(DESTDIR)$(bindir)/hwloc-gather-topology
+endif HWLOC_HAVE_LINUX
+
+distclean-local:
+	rm -f $(nodist_man_MANS)
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-annotate.1in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-annotate.1in
similarity index 84%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-annotate.1in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-annotate.1in
index 9381bb7..98b90be 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-annotate.1in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-annotate.1in
@@ -1,5 +1,5 @@
 .\" -*- nroff -*-
-.\" Copyright © 2013 inria.  All rights reserved.
+.\" Copyright © 2013-2015 Inria.  All rights reserved.
 .\" See COPYING in top-level directory.
 .TH HWLOC-ANNOTATE "1" "#HWLOC_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
 .SH NAME
@@ -51,6 +51,9 @@ This is specified by the \fImode\fR:
 Specifies a new string info attribute whose name is \fIname\fR and
 value is \fIvalue\fR.
 .TP
+.B misc <name>
+Specifies a new Misc object name.
+.TP
 .B none
 No new annotation is added. This is useful when clearing existing attributes.
 .
@@ -93,14 +96,18 @@ Add an info attribute to all Core objects:
 
     $ hwloc-annotate input.xml output.xml Core:all info infoname infovalue
 
-Add an info attribute to the root object of the topology
+Add a Misc object named "foobar" under the root object of the topology
 and modify the input XML directly:
 
-    $ hwloc-annotate file.xml file.xml root info infoname infovalue
+    $ hwloc-annotate file.xml file.xml root misc foobar
+
+Add an info attribute to OS device #2 and #3:
+
+    $ hwloc-annotate input.xml output.xml os:2-3 info infoname infovalue
 
-Change socket objects to green with red text in the lstopo graphical output:
+Change package objects to green with red text in the lstopo graphical output:
 
-    $ hwloc-annotate topo.xml topo.xml socket:all info lstopoStyle "Background=#00ff00;Text=#ff0000"
+    $ hwloc-annotate topo.xml topo.xml package:all info lstopoStyle "Background=#00ff00;Text=#ff0000"
     $ lstopo -i topo.xml
 .
 .\" **************************
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-annotate.c b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-annotate.c
similarity index 74%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-annotate.c
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-annotate.c
index 4c76e9c..102821b 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-annotate.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-annotate.c
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2012 Inria.  All rights reserved.
+ * Copyright © 2012-2015 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -18,6 +18,7 @@ static void usage(const char *callname __hwloc_attribute_unused, FILE *where)
 	fprintf(where, "    all, root, <type>:<logicalindex>, <type>:all\n");
 	fprintf(where, "  <annotation> may be:\n");
 	fprintf(where, "    info <name> <value>\n");
+	fprintf(where, "    misc <name>\n");
 	fprintf(where, "    none\n");
         fprintf(where, "Options:\n");
 	fprintf(where, "  --ci\tClear existing infos\n");
@@ -26,10 +27,12 @@ static void usage(const char *callname __hwloc_attribute_unused, FILE *where)
 
 static char *infoname = NULL, *infovalue = NULL;
 
+static char *miscname = NULL;
+
 static int clearinfos = 0;
 static int replaceinfos = 0;
 
-static void apply(hwloc_obj_t obj)
+static void apply(hwloc_topology_t topology, hwloc_obj_t obj)
 {
 	unsigned i,j;
 	if (clearinfos) {
@@ -69,20 +72,32 @@ static void apply(hwloc_obj_t obj)
 		if (infovalue)
 			hwloc_obj_add_info(obj, infoname, infovalue);
 	}
+	if (miscname)
+		hwloc_topology_insert_misc_object_by_parent(topology, obj, miscname);
 }
 
-static void apply_recursive(hwloc_obj_t obj)
+static void apply_recursive(hwloc_topology_t topology, hwloc_obj_t obj)
 {
 	unsigned i;
 	for(i=0; i<obj->arity; i++)
-		apply_recursive(obj->children[i]);
-	apply(obj);
+		apply_recursive(topology, obj->children[i]);
+	apply(topology, obj);
+}
+
+static void
+hwloc_calc_process_arg_info_cb(void *_data,
+			       hwloc_obj_t obj,
+			       int verbose __hwloc_attribute_unused)
+{
+	hwloc_topology_t topology = _data;
+	apply(topology, obj);
 }
 
 int main(int argc, char *argv[])
 {
 	hwloc_topology_t topology;
 	char *callname, *input, *output, *location;
+	unsigned topodepth;
 	int err;
 
 	putenv("HWLOC_XML_VERBOSE=1");
@@ -128,6 +143,13 @@ int main(int argc, char *argv[])
 		infoname = argv[1];
 		infovalue = argc >= 3 ? argv[2] : NULL;
 
+	} else if (!strcmp(argv[0], "misc")) {
+		if (argc < 2) {
+			usage(callname, stderr);
+			exit(EXIT_FAILURE);
+		}
+		miscname = argv[1];
+
 	} else if (!strcmp(argv[0], "none")) {
 		/* do nothing (maybe clear) */
 	} else {
@@ -143,48 +165,25 @@ int main(int argc, char *argv[])
 	}
 
 	hwloc_topology_init(&topology);
+	hwloc_topology_set_flags(topology, HWLOC_TOPOLOGY_FLAG_WHOLE_IO|HWLOC_TOPOLOGY_FLAG_ICACHES);
 	err = hwloc_topology_set_xml(topology, input);
 	if (err < 0)
 		goto out;
 	hwloc_topology_load(topology);
 
+	topodepth = hwloc_topology_get_depth(topology);
+
 	if (!strcmp(location, "all")) {
-		apply_recursive(hwloc_get_root_obj(topology));
+		apply_recursive(topology, hwloc_get_root_obj(topology));
 	} else if (!strcmp(location, "root")) {
-		apply(hwloc_get_root_obj(topology));
+		apply(topology, hwloc_get_root_obj(topology));
 	} else {
-		unsigned i;
-		hwloc_obj_t obj;
-		hwloc_obj_type_t type;
 		size_t typelen;
-		int depth;
-		char *sep;
 		typelen = strspn(location, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
-		if (!typelen || location[typelen] != ':') {
-			/* FIXME: warn */
-			goto out;
-		}
-		sep = &location[typelen];
-		depth = hwloc_calc_parse_depth_prefix(topology, hwloc_topology_get_depth(topology),
-						      location, typelen, &type, 0);
-		if (depth < 0) {
-			/* FIXME: warn */
-			goto out;
-		}
-		if (!strcmp(sep+1, "all")) {
-			for(i=0; i<hwloc_get_nbobjs_by_depth(topology, depth); i++) {
-				obj = hwloc_get_obj_by_depth(topology, depth, i);
-				assert(obj);
-				apply(obj);
-			}
-		} else {
-			i = atoi(sep+1);
-			obj = hwloc_get_obj_by_depth(topology, depth, i);
-			if (!obj) {
-				/* FIXME: warn */
-				goto out;
-			}
-			apply(obj);
+		if (typelen && (location[typelen] == ':' || location[typelen] == '=' || location[typelen] == '[')) {
+			err = hwloc_calc_process_type_arg(topology, topodepth, location, typelen, 1,
+							  hwloc_calc_process_arg_info_cb, topology,
+							  0);
 		}
 	}
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-assembler-remote.1in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-assembler-remote.1in
similarity index 100%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-assembler-remote.1in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-assembler-remote.1in
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-assembler-remote.in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-assembler-remote.in
similarity index 95%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-assembler-remote.in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-assembler-remote.in
index a6da099..2e16280 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-assembler-remote.in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-assembler-remote.in
@@ -11,8 +11,8 @@ prefix="@prefix@"
 exec_prefix="@exec_prefix@"
 bindir="@bindir@"
 # this will be changed into $bindir/lstopo during make install
-locallstopo="$HWLOC_top_builddir/utils/lstopo"
-assembler="$HWLOC_top_builddir/utils/hwloc-assembler"
+locallstopo="$HWLOC_top_builddir/utils/lstopo/lstopo"
+assembler="$HWLOC_top_builddir/utils/hwloc/hwloc-assembler"
 
 force=0
 show=0
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-assembler.1in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-assembler.1in
similarity index 100%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-assembler.1in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-assembler.1in
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-assembler.c b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-assembler.c
similarity index 100%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-assembler.c
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-assembler.c
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-bind.1in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-bind.1in
similarity index 80%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-bind.1in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-bind.1in
index 1a48641..2074b70 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-bind.1in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-bind.1in
@@ -1,5 +1,5 @@
 .\" -*- nroff -*-
-.\" Copyright © 2009-2013 Inria.  All rights reserved.
+.\" Copyright © 2009-2014 Inria.  All rights reserved.
 .\" Copyright © 2010 Université of Bordeaux
 .\" Copyright © 2009-2010 Cisco Systems, Inc.  All rights reserved.
 .\" See COPYING in top-level directory.
@@ -42,19 +42,42 @@ This option is only meaningful when an actual binding is also given
 with \fB\-\-membind\fR.
 If \fB\-\-membind\fR is given without \fB\-\-mempolicy\fR,
 the default policy is bind.
+
 .TP
 \fB\-\-get\fR
 Report the current bindings.
+.TP
+\ 
+When a command is given, the binding is displayed before executing
+the command. When no command is given, the program exits after
+displaying the current binding.
+.TP
+\ 
 When combined with \fB\-\-membind\fR, report the memory binding
 instead of CPU binding.
 .TP
+\ 
+No location may be given since no binding is performed.
+
+.TP
 \fB\-e\fR \fB\-\-get-last-cpu-location\fR
 Report the last processors where the process ran.
 Note that the result may already be outdated when reported since
 the operating system may move the process to other processors
 at any time according to the binding.
+.TP
+\ 
+When a command is given, the last processors is displayed before
+executing the command. When no command is given, the program exits
+after displaying the last processors.
+.TP
+\ 
 This option cannot be combined with \fB\-\-membind\fR.
 .TP
+\ 
+No location may be given since no binding is performed.
+
+.TP
 \fB\-\-single\fR
 Bind on a single CPU to prevent migration.
 .TP
@@ -130,18 +153,18 @@ command line are described in hwloc(7).
 .
 .PP
 To run the echo command on the first logical processor of the second
-socket:
+package:
 
-    hwloc-bind socket:1.pu:0 -- echo hello
+    hwloc-bind package:1.pu:0 -- echo hello
 
 which is exactly equivalent to
 
-    hwloc-bind socket:1.pu:0 echo hello
+    hwloc-bind package:1.pu:0 echo hello
 
-To bind the "echo" command to the first core of the second socket and
-the second core of the first socket:
+To bind the "echo" command to the first core of the second package and
+the second core of the first package:
 
-    hwloc-bind socket:1.core:0 socket:0.core:1 echo hello
+    hwloc-bind package:1.core:0 package:0.core:1 echo hello
 
 Note that binding the "echo" command to multiple processors is
 probably meaningless (because "echo" is likely implemented as a
@@ -149,34 +172,34 @@ single-threaded application); these examples just serve to show what
 hwloc-bind can do.
 .
 .PP
-To run on the first three sockets on the second and third nodes:
+To run on the first three packages on the second and third nodes:
 
-    hwloc-bind node:1-2.socket:0:3 echo hello
+    hwloc-bind node:1-2.package:0:3 echo hello
 
 which is also equivalent to:
 
-    hwloc-bind node:1-2.socket:0-2 echo hello
+    hwloc-bind node:1-2.package:0-2 echo hello
 
 Note that if you attempt to bind to objects that do not exist,
-hwloc-bind will not warn unless 
-.I -v 
+hwloc-bind will not warn unless
+.I -v
 was specified.
 
-To run on processor with physical index 2 in socket with physical index 1:
+To run on processor with physical index 2 in package with physical index 1:
 
-    hwloc-bind --physical socket:1.core:2 echo hello
+    hwloc-bind --physical package:1.core:2 echo hello
 
-To run on odd cores within even sockets:
+To run on odd cores within even packages:
 
-    hwloc-bind socket:even.core:odd echo hello
+    hwloc-bind package:even.core:odd echo hello
 
-To run on the first socket, except on its second and fifth cores:
+To run on the first package, except on its second and fifth cores:
 
-    hwloc-bind socket:0 ~socket:0.core:1 ~socket:0.core:4 echo hello
+    hwloc-bind package:0 ~package:0.core:1 ~package:0.core:4 echo hello
 
-To run anywhere except on the first socket:
+To run anywhere except on the first package:
 
-    hwloc-bind all ~socket:0 echo hello
+    hwloc-bind all ~package:0 echo hello
 
 To run on a core near the network interface named eth0:
 
@@ -193,7 +216,7 @@ To bind memory on second memory node and run on first node (when supported by th
 The --get option can report current bindings.  This example shows
 nesting hwloc-bind invocations to set a binding and then report it:
 
-    hwloc-bind node:1.socket:2 hwloc-bind --get
+    hwloc-bind node:1.package:2 hwloc-bind --get
 
 On one of the hwloc developer's machines, this example
 .
@@ -205,7 +228,7 @@ Locations may also be specified as a hex bit mask (typically generated
 by hwloc-calc).  For example:
 
     hwloc-bind 0x00004444,0x44000000 echo hello
-    hwloc-bind `hwloc-calc node:1.socket:2` echo hello
+    hwloc-bind `hwloc-calc node:1.package:2` echo hello
 
 Memory binding may also be reported:
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-bind.c b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-bind.c
similarity index 93%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-bind.c
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-bind.c
index 741eaef..3cddf1b 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-bind.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-bind.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2013 Inria.  All rights reserved.
- * Copyright © 2009-2010, 2012 Université Bordeaux 1
+ * Copyright © 2009-2014 Inria.  All rights reserved.
+ * Copyright © 2009-2010, 2012 Université Bordeaux
  * Copyright © 2009 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -68,7 +68,7 @@ int main(int argc, char *argv[])
   int opt;
   int ret;
   int pid_number = -1;
-  hwloc_pid_t pid;
+  hwloc_pid_t pid = 0; /* only valid when pid_number > 0, but gcc-4.8 still reports uninitialized warnings */
   char *callname;
 
   cpubind_set = hwloc_bitmap_alloc();
@@ -129,7 +129,7 @@ int main(int argc, char *argv[])
         goto next;
       }
       else if (!strcmp (argv[0], "--version")) {
-          printf("%s %s\n", callname, VERSION);
+          printf("%s %s\n", callname, HWLOC_VERSION);
           exit(EXIT_SUCCESS);
       }
       if (!strcmp(argv[0], "-l") || !strcmp(argv[0], "--logical")) {
@@ -240,6 +240,16 @@ int main(int argc, char *argv[])
      */
   }
 
+  if (get_last_cpu_location && !working_on_cpubind) {
+    fprintf(stderr, "Options --membind and --get-last-cpu-location cannot be combined.\n");
+    return EXIT_FAILURE;
+  }
+  if ((get_binding || get_last_cpu_location) && (got_cpubind || got_membind)) {
+    /* doesn't work because get_binding/get_last_cpu_location overwrites cpubind_set */
+    fprintf(stderr, "Cannot display and set binding at the same time.\n");
+    return EXIT_FAILURE;
+  }
+
   if (get_binding || get_last_cpu_location) {
     char *s;
     const char *policystr = NULL;
@@ -301,7 +311,6 @@ int main(int argc, char *argv[])
     else
       printf("%s\n", s);
     free(s);
-    return EXIT_SUCCESS;
   }
 
   if (got_membind) {
@@ -381,13 +390,15 @@ int main(int argc, char *argv[])
     return EXIT_SUCCESS;
 
   if (0 == argc) {
+    if (get_binding || get_last_cpu_location)
+      return EXIT_SUCCESS;
     fprintf(stderr, "%s: nothing to do!\n", callname);
     return EXIT_FAILURE;
   }
 
   ret = execvp(argv[0], argv);
   if (ret) {
-      fprintf(stderr, "%s: Failed to launch executable \"%s\"\n", 
+      fprintf(stderr, "%s: Failed to launch executable \"%s\"\n",
               callname, argv[0]);
       perror("execvp");
   }
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-calc.1in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-calc.1in
similarity index 89%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-calc.1in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-calc.1in
index 8a6302d..f47cea3 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-calc.1in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-calc.1in
@@ -1,5 +1,5 @@
 .\" -*- nroff -*-
-.\" Copyright © 2010-2013 Inria.  All rights reserved.
+.\" Copyright © 2010-2014 Inria.  All rights reserved.
 .\" Copyright © 2009 Cisco Systems, Inc.  All rights reserved.
 .\" See COPYING in top-level directory.
 .TH HWLOC-CALC "1" "#HWLOC_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
@@ -62,9 +62,9 @@ objects are strictly included inside the input objects.
 Find the list of objects of type <type2> that intersect the CPU set and
 report the space-separated list of their hierarchical indexes with respect
 to <type1>, <type2>, etc.
-For instance, if \fIsocket.core\fR is given, the output would be
-\fISocket:1.Core:2 Socket:2.Core:3\fR if the input contains the third
-core of the second socket and the fourth core of the third socket.
+For instance, if \fIpackage.core\fR is given, the output would be
+\fIPackage:1.Core:2 Package:2.Core:3\fR if the input contains the third
+core of the second package and the fourth core of the third package.
 .TP
 \fB\-\-largest\fR
 Report (in a human readable format) the list of largest objects which exactly
@@ -170,15 +170,15 @@ hwloc(7) directly apply to the hwloc-calc utility.
 hwloc-calc's operation is best described through several examples.
 .
 .PP
-To display the (physical) CPU mask corresponding to the second socket:
+To display the (physical) CPU mask corresponding to the second package:
 
-    $ hwloc-calc socket:1
+    $ hwloc-calc package:1
     0x000000f0
 
-To display the (physical) CPU mask corresponding to the third socket, excluding
+To display the (physical) CPU mask corresponding to the third pacakge, excluding
 its even numbered logical processors:
 
-    $ hwloc-calc socket:2 ~PU:even
+    $ hwloc-calc package:2 ~PU:even
     0x00000c00
 
 To combine two (physical) CPU masks:
@@ -187,9 +187,9 @@ To combine two (physical) CPU masks:
     0xff00ffff
 
 To display the list of logical numbers of processors included in the second
-socket:
+package:
 
-    $ hwloc-calc --intersect PU socket:1
+    $ hwloc-calc --intersect PU package:1
     4,5,6,7
 
 To bind GNU OpenMP threads logically over the whole machine, we need to use
@@ -214,19 +214,19 @@ To display the set of CPUs near network interface eth0:
     $ hwloc-calc os=eth0
     0x00005555
 
-To display the indexes of sockets near PCI device whose bus ID is 0000:01:02.0:
+To display the indexes of packages near PCI device whose bus ID is 0000:01:02.0:
 
-    $ hwloc-calc pci=0000:01:02.0 --intersect Socket
+    $ hwloc-calc pci=0000:01:02.0 --intersect Package
     1
 
-To display the list of per-socket cores that intersect the input:
+To display the list of per-package cores that intersect the input:
 
-    $ hwloc-calc 0x00003c00 --hierarchical socket.core
-    Socket:2.Core:1 Socket:3.Core:0
+    $ hwloc-calc 0x00003c00 --hierarchical package.core
+    Package:2.Core:1 Package:3.Core:0
 
-To display the (physical) CPU mask of the entire topology except the third socket:
+To display the (physical) CPU mask of the entire topology except the third package:
 
-    $ hwloc-calc all ~socket:3
+    $ hwloc-calc all ~package:3
     0x0000f0ff
 
 To combine both physical and logical indexes as input:
@@ -234,19 +234,19 @@ To combine both physical and logical indexes as input:
     $ hwloc-calc PU:2 --physical-input PU:3
     0x0000000c
 
-To synthetize a set of cores into largest objects on a 2-node 2-socket 2-core machine:
+To synthetize a set of cores into largest objects on a 2-node 2-package 2-core machine:
 
     $ hwloc-calc core:0 --largest
     Core:0
     $ hwloc-calc core:0-1 --largest
-    Socket:0
+    Package:0
     $ hwloc-calc core:4-7 --largest
     NUMANode:1
     $ hwloc-calc core:2-6 --largest
-    Socket:1 Socket:2 Core:6
-    $ hwloc-calc socket:2 --largest
-    Socket:2
-    $ hwloc-calc socket:2-3 --largest
+    Package:1 Package:2 Core:6
+    $ hwloc-calc pack:2 --largest
+    Package:2
+    $ hwloc-calc package:2-3 --largest
     NUMANode:1
 
 To get the set of first threads of all cores:
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-calc.c b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-calc.c
similarity index 99%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-calc.c
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-calc.c
index bcd4b9b..3b4aa41 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-calc.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-calc.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2011 Université Bordeaux 1
+ * Copyright © 2009-2011 Université Bordeaux
  * Copyright © 2009-2010 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -331,7 +331,7 @@ int main(int argc, char *argv[])
       }
       if (!strcmp(argv[0], "--nodelist")) {
 	/* backward compat with 1.0 */
-	intersecttype = HWLOC_OBJ_NODE;
+	intersecttype = HWLOC_OBJ_NUMANODE;
         goto next;
       }
       if (!strcmp(argv[0], "--largest")  || !strcmp(argv[0], "--objects") /* backward compat with 1.0 */) {
@@ -339,7 +339,7 @@ int main(int argc, char *argv[])
         goto next;
       }
       if (!strcmp(argv[0], "--version")) {
-        printf("%s %s\n", callname, VERSION);
+        printf("%s %s\n", callname, HWLOC_VERSION);
         exit(EXIT_SUCCESS);
       }
       if (!strcmp(argv[0], "-l") || !strcmp(argv[0], "--logical")) {
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-calc.h b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-calc.h
similarity index 82%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-calc.h
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-calc.h
index a1e7d36..54c9307 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-calc.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-calc.h
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2012 Université Bordeaux 1
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2012 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -96,8 +96,6 @@ hwloc_calc_depth_of_type(hwloc_topology_t topology, hwloc_obj_type_t type,
   if (depthattr == -1) {
     hwloc_obj_type_t realtype;
     /* matched a type without depth attribute, try to get the depth from the type if it exists and is unique */
-    if (type == HWLOC_OBJ_PCI_DEVICE || type == HWLOC_OBJ_OS_DEVICE || type == HWLOC_OBJ_BRIDGE)
-      return -1;
     depth = hwloc_get_type_or_above_depth(topology, type);
     if (depth == HWLOC_TYPE_DEPTH_MULTIPLE) {
       if (verbose >= 0)
@@ -319,8 +317,13 @@ hwloc_calc_append_object_range(hwloc_topology_t topology, unsigned topodepth,
 					      nextstring, typelen,
 					      &type,
 					      verbose);
-    if (nextdepth < 0)
+    if (nextdepth == HWLOC_TYPE_DEPTH_UNKNOWN || nextdepth == HWLOC_TYPE_DEPTH_MULTIPLE)
+      return -1;
+    if (nextdepth < 0) {
+      if (verbose >= 0)
+	fprintf(stderr, "hierarchical location %s only supported with normal object types\n", string);
       return -1;
+    }
   }
 
   width = hwloc_get_nbobjs_inside_cpuset_by_depth(topology, rootset, depth);
@@ -367,100 +370,116 @@ hwloc_calc_append_iodev(void (*cbfunc)(void *, hwloc_obj_t, int), void *cbdata,
   return 0;
 }
 
-static __hwloc_inline hwloc_obj_t
-hwloc_calc_find_next_pci_object(hwloc_topology_t topology, int vendor, int device,
-				hwloc_obj_t prev, unsigned index_, int wrap)
-{
-  unsigned i = 0;
-  hwloc_obj_t obj = prev;
-  while (1) {
-    obj = hwloc_get_next_pcidev(topology, obj);
-    if (obj == prev)
-      break; /* don't reuse the same object, even if wrap==1 */
-    if (!obj) {
-      if (!wrap)
-	break;
-      wrap = 0; /* wrap only once per call, to avoid infinite loops */
-      obj = hwloc_get_next_pcidev(topology, NULL);
-      if (!obj)
-	break;
-    }
-    if ((vendor == -1 || (int) obj->attr->pcidev.vendor_id == vendor)
-	&& (device == -1 || (int) obj->attr->pcidev.device_id == device))
-      if (++i == index_)
-        return obj;
-  }
-  return NULL;
-}
-
 static __hwloc_inline int
-hwloc_calc_append_pci_object_range(hwloc_topology_t topology, const char *string,
-				   void (*cbfunc)(void *, hwloc_obj_t, int), void *cbdata,
-				   int verbose)
+hwloc_calc_append_iodev_by_index(hwloc_topology_t topology, hwloc_obj_type_t type, int depth, const char *string,
+				 void (*cbfunc)(void *, hwloc_obj_t, int), void *cbdata,
+				 int verbose)
 {
-  hwloc_obj_t obj;
-  int vendor, device;
+  hwloc_obj_t obj, prev = NULL;
+  int pcivendor = -1, pcidevice = -1;
   const char *current, *dot;
   char *endp;
-  int first, wrap, amount, step;
-  int err, i, oldi, j;
-
-  current = string;
-
-  /* try to match by vendor:device */
-  vendor = strtoul(current, &endp, 16);
-  if (*endp != ':')
-    goto failedvendordevice;
-  if (endp == current)
-    vendor = -1;
-  current = endp+1;
-
-  device = strtoul(current, &endp, 16);
-  if (*endp != ':' && *endp != '\0')
-    goto failedvendordevice;
-  if (endp == current)
-    device = -1;
-
-  if (*endp == '\0') {
-    /* assume it's :0 */
-    first = 0;
-    step = 1;
-    amount = 1;
-    wrap = 0;
+  int first = 0, step = 1, amount = 1, wrap = 0; /* assume the index suffix is `:0' by default */
+  int err, i, max;
+
+  if (*string == '[') {
+    /* matching */
+    current = string+1;
+
+    if (type == HWLOC_OBJ_PCI_DEVICE) {
+      /* try to match by [vendor:device] */
+      pcivendor = strtoul(current, &endp, 16);
+      if (*endp != ':') {
+	if (verbose >= 0)
+	  fprintf(stderr, "invalid PCI vendor:device matching specification %s\n", string);
+	return -1;
+      }
+      if (endp == current)
+	pcivendor = -1;
+      current = endp+1;
+
+      pcidevice = strtoul(current, &endp, 16);
+      if (*endp != ']') {
+	if (verbose >= 0)
+	  fprintf(stderr, "invalid PCI vendor:device matching specification %s\n", string);
+      	return -1;
+      }
+      if (endp == current)
+	pcidevice = -1;
+      current = endp+1;
+
+      if (*current != ':' && *current != '\0') {
+	if (verbose >= 0)
+	  fprintf(stderr, "invalid PCI vendor:device matching specification %s\n", string);
+      	return -1;
+      }
+
+    } else {
+      /* no matching for non-PCI devices */
+      if (verbose >= 0)
+	fprintf(stderr, "invalid matching specification %s\n", string);
+      return -1;
+    }
+
   } else {
-    current = endp+1;
+    /* no matching */
+    current = string;
+  }
+
+  if (*current != '\0') {
+    current++;
     err = hwloc_calc_parse_range(current,
 				 &first, &amount, &step, &wrap,
 				 &dot);
-    if (err < 0 || dot)
-      goto failedvendordevice;
+    if (dot) {
+      fprintf(stderr, "hierarchical location %s only supported with normal object types\n", string);
+      return -1;
+    }
+    if (err < 0)
+      return -1;
   }
 
-  obj = NULL;
-  for(oldi=-1, i=first, j=0; j<amount || amount == -1; oldi=i, i+=step, j++) {
-    obj = hwloc_calc_find_next_pci_object(topology, vendor, device, obj, i-oldi, wrap);
-    if (obj) {
-      if (verbose > 0)
-	printf("using matching PCI object #%d bus id %04x:%02x:%02x.%01x\n", i,
-	       obj->attr->pcidev.domain, obj->attr->pcidev.bus, obj->attr->pcidev.dev, obj->attr->pcidev.func);
-      hwloc_calc_append_iodev(cbfunc, cbdata, obj, verbose);
-    } else {
-      if (amount != -1)
-	if (verbose >= 0)
-	  fprintf(stderr, "no matching PCI object #%d\n", i);
+  max = hwloc_get_nbobjs_by_depth(topology, depth);
+
+  for(i=0; i < max*(wrap+1); i++) {
+    if (i == max && wrap) {
+      i = 0;
+      wrap = 0;
+    }
+
+    obj = hwloc_get_obj_by_depth(topology, depth, i);
+    assert(obj);
+
+    if (obj == prev) /* already used that object, stop wrapping around */
       break;
+
+    if (type == HWLOC_OBJ_PCI_DEVICE) {
+      if (pcivendor != -1 && (int) obj->attr->pcidev.vendor_id != pcivendor)
+	continue;
+      if (pcidevice != -1 && (int) obj->attr->pcidev.device_id != pcidevice)
+	continue;
     }
-  }
-  return 0;
 
- failedvendordevice:
-  /* TODO: more matching variants? vendor/device names? class?
-   * but we don't want some ugly and unmaintainable code
-   */
+    if (first--)
+      continue;
 
-  if (verbose >= 0)
-    fprintf(stderr, "invalid PCI device %s\n", string);
-  return -1;
+    /* ok, got one object */
+    if (verbose > 0)
+      printf("using matching PCI object #%d bus id %04x:%02x:%02x.%01x\n", i,
+	     obj->attr->pcidev.domain, obj->attr->pcidev.bus, obj->attr->pcidev.dev, obj->attr->pcidev.func);
+    hwloc_calc_append_iodev(cbfunc, cbdata, obj, verbose);
+
+    if (!prev)
+      prev = obj;
+
+    amount--;
+    if (!amount)
+      break;
+
+    first = step-1;
+  }
+
+  return 0;
 }
 
 static __hwloc_inline int
@@ -478,12 +497,16 @@ hwloc_calc_process_type_arg(hwloc_topology_t topology, unsigned topodepth,
 					arg, typelen,
 					&type,
 					verbose);
-  if (depth < 0) {
+
+  if (depth == HWLOC_TYPE_DEPTH_UNKNOWN || depth == HWLOC_TYPE_DEPTH_MULTIPLE) {
+    return -1;
+
+  } else if (depth < 0) {
     /* if we didn't find a depth but found a type, handle special cases */
     hwloc_obj_t obj = NULL;
-    if (*sep == ':' && type == HWLOC_OBJ_PCI_DEVICE) {
-      /* FIXME: change to another syntax? */
-      return hwloc_calc_append_pci_object_range(topology, sep+1, cbfunc, cbdata, verbose);
+
+    if (*sep == ':' || *sep == '[') {
+      return hwloc_calc_append_iodev_by_index(topology, type, depth, sep, cbfunc, cbdata, verbose);
 
     } else if (*sep == '=' && type == HWLOC_OBJ_PCI_DEVICE) {
       /* try to match a busid */
@@ -549,7 +572,7 @@ hwloc_calc_process_arg(hwloc_topology_t topology, unsigned topodepth,
 
   /* try to match a type/depth followed by a special character */
   typelen = strspn(arg, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
-  if (typelen && (arg[typelen] == ':' || arg[typelen] == '=')) {
+  if (typelen && (arg[typelen] == ':' || arg[typelen] == '=' || arg[typelen] == '[')) {
     /* process type/depth */
     hwloc_bitmap_t newset = hwloc_bitmap_alloc();
     err = hwloc_calc_process_type_arg(topology, topodepth, arg, typelen, logical,
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-compress-dir.1in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-compress-dir.1in
similarity index 100%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-compress-dir.1in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-compress-dir.1in
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-compress-dir.in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-compress-dir.in
similarity index 97%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-compress-dir.in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-compress-dir.in
index cb9b4b5..0a30dd5 100755
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-compress-dir.in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-compress-dir.in
@@ -11,8 +11,8 @@ prefix="@prefix@"
 exec_prefix="@exec_prefix@"
 bindir="@bindir@"
 # this will be changed into $bindir/... during make install
-localhwlocdiff="$HWLOC_top_builddir/utils/hwloc-diff"
-localhwlocpatch="$HWLOC_top_builddir/utils/hwloc-patch"
+localhwlocdiff="$HWLOC_top_builddir/utils/hwloc/hwloc-diff"
+localhwlocpatch="$HWLOC_top_builddir/utils/hwloc/hwloc-patch"
 
 verbose=0
 reverse=0
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-diff.1in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-diff.1in
similarity index 98%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-diff.1in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-diff.1in
index 20c427d..d893d97 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-diff.1in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-diff.1in
@@ -85,7 +85,7 @@ Output the difference to file diff.xml instead:
 
 When the difference is too complex to be represented:
 
-    $ hwloc-diff fourmi023.xml avakas-frontend1.xml 
+    $ hwloc-diff fourmi023.xml avakas-frontend1.xml
     Found 1 differences, including 1 too complex ones.
     Cannot export differences to stdout
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-diff.c b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-diff.c
similarity index 97%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-diff.c
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-diff.c
index b142ba0..f6b9d69 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-diff.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-diff.c
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2013 Inria.  All rights reserved.
+ * Copyright © 2013-2014 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -39,7 +39,7 @@ int main(int argc, char *argv[])
 			argc--;
 			argv++;
 		} else if (!strcmp (argv[0], "--version")) {
-			printf("%s %s\n", callname, VERSION);
+			printf("%s %s\n", callname, HWLOC_VERSION);
 			exit(EXIT_SUCCESS);
 		} else {
 			fprintf(stderr, "Unrecognized options: %s\n", argv[0]);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-distances.1in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-distances.1in
similarity index 82%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-distances.1in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-distances.1in
index 70f0eda..3612d70 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-distances.1in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-distances.1in
@@ -1,5 +1,5 @@
 .\" -*- nroff -*-
-.\" Copyright © 2012-2013 Inria.  All rights reserved.
+.\" Copyright © 2012-2014 Inria.  All rights reserved.
 .\" Copyright © 2009-2010 Cisco Systems, Inc.  All rights reserved.
 .\" See COPYING in top-level directory.
 .TH HWLOC-DISTANCES "1" "#HWLOC_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
@@ -64,6 +64,21 @@ Report version and exit.
 .SH DESCRIPTION
 .
 hwloc-distances displays also distance matrices attached to the topology.
+The value in the i-th row and j-th column is the distance from
+object #i to object #j.
+.
+.PP
+Unless defined by the user, matrices currently always contain relative
+latencies between NUMA nodes (which may or may not be accurate).
+See the definition of \fIstruct hwloc_distances_s\fR in \fIinclude/hwloc.h\fR
+or the documentation for details.
+.
+.PP
+These latencies are normalized to the latency of a local (non-NUMA) access.
+Hence 3.5 in row #i column #j means that the latency from cores in NUMA node
+#i to memory in NUMA node #j is 3.5 higher than the latency from cores
+to their local memory.
+.
 A breadth-first traversal of the topology is performed starting from
 the root to find all distance matrices.
 .
@@ -78,7 +93,7 @@ hwloc-distances also displays matrices that ignore part of the topology.
 .\" **************************
 .SH EXAMPLES
 .PP
-On a quad-socket opteron machine:
+On a quad-package opteron machine:
 
     $ hwloc-distances
     Latency matrix between 4 NUMANodes (depth 2) by logical indexes:
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-distances.c b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-distances.c
similarity index 91%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-distances.c
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-distances.c
index 9330e9e..0f15985 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-distances.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-distances.c
@@ -1,6 +1,6 @@
 /*
- * Copyright © 2009-2013 Inria.  All rights reserved.
- * Copyright © 2009-2010 Université Bordeaux 1
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2010 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -100,7 +100,7 @@ int main(int argc, char *argv[])
 	goto next;
       }
       else if (!strcmp (argv[0], "--version")) {
-          printf("%s %s\n", callname, VERSION);
+          printf("%s %s\n", callname, HWLOC_VERSION);
           exit(EXIT_SUCCESS);
       }
 
@@ -147,7 +147,7 @@ int main(int argc, char *argv[])
 	struct hwloc_distances_s *distances = obj->distances[k];
 	if (!distances->latency)
 	  continue;
-	printf("Latency matrix between %u %ss (depth %u) by %s indexes (below %s%s%u):\n",
+	printf("Relative latency matrix between %u %ss (depth %u) by %s indexes (below %s%s%u):\n",
 	       distances->nbobjs,
 	       hwloc_obj_type_string(hwloc_get_depth_type(topology, i+distances->relative_depth)),
 	       i+distances->relative_depth,
@@ -155,7 +155,7 @@ int main(int argc, char *argv[])
 	       roottypestring,
 	       logical ? " L#" :  " P#",
 	       logical ? obj->logical_index : obj->os_index);
-	hwloc_utils_print_distance_matrix(topology, obj, distances->nbobjs, distances->relative_depth, distances->latency, logical);
+	hwloc_utils_print_distance_matrix(stdout, topology, obj, distances->nbobjs, distances->relative_depth, distances->latency, logical);
       }
     }
   }
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-distrib.1in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-distrib.1in
similarity index 96%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-distrib.1in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-distrib.1in
index a11265c..d2af078 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-distrib.1in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-distrib.1in
@@ -62,7 +62,7 @@ above.
 Distribute down to objects of the given type instead of down to the bottom of
 the topology hierarchy, i.e. ignoring the structure given by objects below.
 This may be useful if some latitude is desired for the binding, e.g. just bind
-several processes to each socket without specifying a single core for each
+several processes to each package without specifying a single core for each
 of them.
 .TP
 \fB\-\-at\fR <type>
@@ -122,9 +122,9 @@ may be obtained with:
     0x000000f0
     0x0000f000
 
-To distribute only among the second socket, the topology should be restricted:
+To distribute only among the second package, the topology should be restricted:
 
-    $ hwloc-distrib --restrict $(hwloc-calc socket:1) 4
+    $ hwloc-distrib --restrict $(hwloc-calc package:1) 4
     0x00000010
     0x00000020
     0x00000040
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-distrib.c b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-distrib.c
similarity index 98%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-distrib.c
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-distrib.c
index 50e22b2..4de6f31 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-distrib.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-distrib.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2010 Université Bordeaux 1
+ * Copyright © 2009-2010 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -162,7 +162,7 @@ int main(int argc, char *argv[])
 	goto next;
       }
       else if (!strcmp (argv[0], "--version")) {
-          printf("%s %s\n", callname, VERSION);
+          printf("%s %s\n", callname, HWLOC_VERSION);
           exit(EXIT_SUCCESS);
       }
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-gather-topology.1in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-gather-topology.1in
similarity index 94%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-gather-topology.1in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-gather-topology.1in
index 90f6188..1cba9b3 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-gather-topology.1in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-gather-topology.1in
@@ -1,6 +1,6 @@
 .\" -*- nroff -*-
 .\" Copyright © 2010 Jirka Hladky
-.\" Copyright © 2010-2011 inria.  All rights reserved.
+.\" Copyright © 2010-2015 Inria.  All rights reserved.
 .\" See COPYING in top-level directory.
 .TH HWLOC-GATHER-TOPOLOGY "1" "#HWLOC_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
 .SH NAME
@@ -19,8 +19,13 @@ and the lstopo output for later (possibly offline) usage
 .\" **************************
 .SH OPTIONS
 .
+.TP
+\fB\-\-io\fR
+Also gather I/O related files.
+The gathering may be much slower, and the generated archive may be much bigger.
+.TP
 \fB\-h\fR \fB\-\-help\fR
-display help message and exit
+Display help message and exit
 .
 .\" **************************
 .\"    Description Section
@@ -108,7 +113,7 @@ originally gathered by the \fBhwloc-gather-topology\fR script.
 .\"    Return value section
 .\" **************************
 .SH RETURN VALUE
-Upon successful execution, \fBhwloc-gather-topology\fR will exit with the code 0. 
+Upon successful execution, \fBhwloc-gather-topology\fR will exit with the code 0.
 .
 .PP
 \fBhwloc-gather-topology\fR will return nonzero exit status if any kind of error occurs,
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/hwloc-gather-topology.in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-gather-topology.in
similarity index 89%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/hwloc-gather-topology.in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-gather-topology.in
index c3a6356..9956208 100755
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/hwloc-gather-topology.in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-gather-topology.in
@@ -3,8 +3,8 @@
 
 #
 # Copyright © 2009 CNRS
-# Copyright © 2009-2014 Inria.  All rights reserved.
-# Copyright © 2009-2012 Université Bordeaux 1
+# Copyright © 2009-2015 Inria.  All rights reserved.
+# Copyright © 2009-2012 Université Bordeaux
 # See COPYING in top-level directory.
 #
 
@@ -13,7 +13,7 @@ prefix="@prefix@"
 exec_prefix="@exec_prefix@"
 bindir="@bindir@"
 # this will be changed into $bindir/lstopo during make install
-lstopo="$HWLOC_top_builddir/utils/lstopo-no-graphics"
+lstopo="$HWLOC_top_builddir/utils/lstopo/lstopo-no-graphics"
 
 # make sure we use default numeric formats
 LANG=C
@@ -97,6 +97,7 @@ cat << EOF | while read -r path ; do savefile "$destdir/$basename" "$path" ; don
 /proc/mounts
 /proc/stat
 /proc/self/cpuset
+/proc/self/cgroup
 EOF
 
 # Get all files from the given directory
@@ -135,6 +136,7 @@ EOF
 if [ x$gatherio = x1 ]; then
   cat << EOF | while read -r path ; do savedir "$destdir/$basename" "$path" ; done
 /sys/bus/pci/devices/
+/sys/bus/pci/slots/
 /sys/block/
 /sys/class/block/
 /sys/class/dma/
@@ -143,7 +145,9 @@ if [ x$gatherio = x1 ]; then
 /sys/class/net/
 /sys/class/mic/
 EOF
- ls -d /sys/devices/pci* | sed -e 's@$@/@' | while read -r path ; do savedir "$destdir/$basename" "$path" ; done
+  ls -d /sys/devices/pci* | sed -e 's@$@/@' | while read -r path ; do savedir "$destdir/$basename" "$path" ; done
+  ls -d /run/udev/data/b* | while read -r path ; do savefile "$destdir/$basename" "$path" ; done
+  ls -d /sys/firmware/dmi/entries/17-* | sed -e 's@$@/@' | while read -r path ; do savedir "$destdir/$basename" "$path" ; done
 fi
 
 # Get an entire mount point, after decoding its path
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-info.1in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-info.1in
similarity index 97%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-info.1in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-info.1in
index 372360d..01a2281 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-info.1in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-info.1in
@@ -1,5 +1,5 @@
 .\" -*- nroff -*-
-.\" Copyright © 2009-2013 Inria.  All rights reserved.
+.\" Copyright © 2009-2014 Inria.  All rights reserved.
 .\" Copyright © 2009-2010 Université of Bordeaux
 .\" Copyright © 2009-2010 Cisco Systems, Inc.  All rights reserved.
 .\" See COPYING in top-level directory.
@@ -106,7 +106,7 @@ interesting bridges are shown.
 .TP
 \fB\-\-thissystem\fR
 Assume that the selected backend provides the topology for the
-system on which we are running. 
+system on which we are running.
 This is useful when using \fB\-\-restrict\fR binding and loading
 a custom topology such as an XML file.
 .TP
@@ -154,10 +154,10 @@ hwloc(7) directly apply to the hwloc-calc utility.
 .\" **************************
 .SH EXAMPLES
 .PP
-To display information about each socket:
+To display information about each package:
 
-    $ hwloc-info socket:all
-    Socket L#0
+    $ hwloc-info package:all
+    Package L#0
      logical index = 0
     ...
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-info.c b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-info.c
similarity index 98%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-info.c
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-info.c
index 6c6eb26..bc3fc09 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-info.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-info.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2013 Inria.  All rights reserved.
- * Copyright © 2009-2012 Université Bordeaux 1
+ * Copyright © 2009-2014 Inria.  All rights reserved.
+ * Copyright © 2009-2012 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -350,7 +350,7 @@ main (int argc, char *argv[])
       else if (!strcmp(argv[0], "-p") || !strcmp(argv[0], "--physical"))
 	logical = 0;
       else if (!strcmp (argv[0], "--version")) {
-        printf("%s %s\n", callname, VERSION);
+        printf("%s %s\n", callname, HWLOC_VERSION);
         exit(EXIT_SUCCESS);
       }
       else {
@@ -418,7 +418,7 @@ main (int argc, char *argv[])
       } else {
 	/* try to match a type/depth followed by a special character */
 	typelen = strspn(argv[0], "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
-	if (typelen && (argv[0][typelen] == ':' || argv[0][typelen] == '=')) {
+	if (typelen && (argv[0][typelen] == ':' || argv[0][typelen] == '=' || argv[0][typelen] == '[')) {
 	  err = hwloc_calc_process_type_arg(topology, topodepth, argv[0], typelen, logical,
 					    hwloc_calc_process_arg_info_cb, NULL,
 					    verbose_mode);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-patch.1in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-patch.1in
similarity index 100%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-patch.1in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-patch.1in
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-patch.c b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-patch.c
similarity index 97%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-patch.c
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-patch.c
index 52e3a43..616dff4 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-patch.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-patch.c
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2013 Inria.  All rights reserved.
+ * Copyright © 2013-2014 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -77,7 +77,7 @@ int main(int argc, char *argv[])
 		if (!strcmp (argv[0], "-R") || !strcmp (argv[0], "--reverse")) {
 			patchflags ^= HWLOC_TOPOLOGY_DIFF_APPLY_REVERSE;
 		} else if (!strcmp (argv[0], "--version")) {
-			printf("%s %s\n", callname, VERSION);
+			printf("%s %s\n", callname, HWLOC_VERSION);
 			exit(EXIT_SUCCESS);
 		} else {
 			fprintf(stderr, "Unrecognized options: %s\n", argv[0]);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-ps.1in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-ps.1in
similarity index 98%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-ps.1in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-ps.1in
index 124cf5f..7dd7cf2 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-ps.1in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-ps.1in
@@ -103,10 +103,10 @@ it only appears in the thread-aware output:
 
     $ utils/hwloc-ps -t
     4759	Machine:0		myprogram
-     4759	Machine:0		
-     4761	PU:0		
-     4762	PU:2		
-     4765	PU:1		
+     4759	Machine:0
+     4761	PU:0
+     4762	PU:2
+     4765	PU:1
 
 To display the binding of already running MPI processes (launched by
 Open MPI) and append their MPI rank (in MPI_COMM_WORLD) to each line:
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-ps.c b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-ps.c
similarity index 99%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-ps.c
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-ps.c
index 6c3fe50..60ecb30 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-ps.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-ps.c
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2009-2012 Inria.  All rights reserved.
- * Copyright © 2009-2012 Université Bordeaux 1
+ * Copyright © 2009-2012 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc.7in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc.7in
similarity index 91%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc.7in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc.7in
index e40a08d..e3bf4b4 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc.7in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc.7in
@@ -1,5 +1,5 @@
 .\" -*- nroff -*-
-.\" Copyright © 2010-2013 Inria.  All rights reserved.
+.\" Copyright © 2010-2014 Inria.  All rights reserved.
 .\" Copyright © 2010 Université of Bordeaux
 .\" Copyright © 2009-2010 Cisco Systems, Inc.  All rights reserved.
 .\" See COPYING in top-level directory.
@@ -14,7 +14,7 @@ hwloc - General information about hwloc ("hardware locality").
 .
 hwloc provides command line tools and a C API to obtain the
 hierarchical map of key computing elements, such as: NUMA memory
-nodes, shared caches, processor sockets, processor cores, and
+nodes, shared caches, processor packages, processor cores, and
 processor "threads".  hwloc also gathers various attributes such as
 cache and memory information, and is portable across a variety of
 different operating systems and platforms.
@@ -41,7 +41,7 @@ is:
 .
 .\" Force a paragraph break, but keep the indentation
 .TP
-\ 
+\
 .
  "Cpusets provide a mechanism for assigning a set of CPUs and Memory
 Nodes to a set of tasks."
@@ -55,7 +55,7 @@ is:
 .
 .\" Force a paragraph break, but keep the indentation
 .TP
-\ 
+\
  "Control Groups provide a mechanism for aggregating/partitioning sets
 of tasks, and all their future children, into hierarchical groups
 with specialized behaviour."
@@ -80,13 +80,13 @@ Locations can be specified in multiple ways:
 Tuples of hwloc "objects" and associated indexes can be specified in
 the form
 .IR object:index .
-Hwloc objects represent types of mapped items (e.g., sockets, cores,
+Hwloc objects represent types of mapped items (e.g., packages, cores,
 etc.) in a topology tree; indexes are non-negative integers that
 specify a unique physical object in a topology tree.  Both concepts
-are described in detail, below.  
+are described in detail, below.
 .\" Force a paragraph break, but keep the indentation.
 .TP
-\ 
+\
 Chaining multiple tuples together in the more general form
 .I object1:index[.object2:index2[...]]
 is permissable.  While the first tuple's object may appear anywhere in
@@ -95,19 +95,19 @@ depth than the (N+1)th tuple's object.  Put simply: as you move right
 in a tuple chain, objects must go deeper in the topology tree.
 When using logical indexes (which is the default),
 indexes specified in chained tuples are relative to the scope of the
-parent object.  For example, "socket:0.core:1" refers to the second
-core in the first socket.
+parent object.  For example, "package:0.core:1" refers to the second
+core in the first package.
 When using OS/physical indexes, the first object matching the given
 index is used.
 .
 .TP
 .B Hex:
-Locations can also be specified as hexidecimal bitmasks prefixed 
+Locations can also be specified as hexidecimal bitmasks prefixed
 .
 with "0x".  Commas must be used to separate the hex digits into blocks
 of 8, such as "0xffc0140,0x00020110".
 .
-Leading zeros in each block do not need to be specified.  
+Leading zeros in each block do not need to be specified.
 .
 For example, "0xffc0140,0x20110" is equivalent to the prior example,
 and "0x0000000f" is exactly equivalent to "0xf".  Intermediate blocks
@@ -141,7 +141,7 @@ is unrecognized as a location.
 .PP
 By default, if multiple locations are specified, they are added,
 meaning that the binding will be wider in the sense that the process
-may run on more objects.  
+may run on more objects.
 .
 .PP
 If prefixed with "~", the given location
@@ -175,9 +175,9 @@ A NUMA node; a set of processors around memory which the processors
 can directly access.
 .
 .TP
-.B socket
-Typically a physical package or chip, it is a grouping of one or more
-processors.
+.B package
+Typically a physical package or chip, that goes into a package,
+it is a grouping of one or more processors.
 .
 .TP
 .B cache
@@ -192,10 +192,10 @@ logical processors, such as hardware threads.
 .
 .TP
 .B pu
-Short for 
+Short for
 .I processor unit
-(not 
-.IR process !).  
+(not
+.IR process !).
 The smallest physical execution unit that hwloc recognizes.  For
 example, there may be multiple PUs on a core (e.g.,
 hardware threads).
@@ -217,7 +217,7 @@ Indexes are integer values that uniquely specify a given object of a
 specific type.  Indexes can be expressed either as
 .I logical
 values or
-.I physical 
+.I physical
 values.  Most hwloc utilities accept logical indexes by default.
 Passing
 .B --physical
@@ -231,7 +231,7 @@ lstopo command.  They always start with 0 and increment by 1 for each
 successive object.
 .
 .PP
-.I Physical 
+.I Physical
 indexes are how the operating system refers to objects.  Note that
 while physical indexes are non-negative integer values, the hardware
 and/or operating system may choose arbitrary values -- they may not
@@ -243,14 +243,14 @@ following:
 .
 
   Machine (47GB)
-    NUMANode P#0 (24GB) + Socket P#0 + L3 (12MB)
+    NUMANode P#0 (24GB) + Package P#0 + L3 (12MB)
       L2 (256KB) + L1 (32KB) + Core P#0 + PU P#0
       L2 (256KB) + L1 (32KB) + Core P#1 + PU P#0
       L2 (256KB) + L1 (32KB) + Core P#2 + PU P#0
       L2 (256KB) + L1 (32KB) + Core P#8 + PU P#0
       L2 (256KB) + L1 (32KB) + Core P#9 + PU P#0
       L2 (256KB) + L1 (32KB) + Core P#10 + PU P#0
-    NUMANode P#1 (24GB) + Socket P#1 + L3 (12MB)
+    NUMANode P#1 (24GB) + Package P#1 + L3 (12MB)
       L2 (256KB) + L1 (32KB) + Core P#0 + PU P#0
       L2 (256KB) + L1 (32KB) + Core P#1 + PU P#0
       L2 (256KB) + L1 (32KB) + Core P#2 + PU P#0
@@ -258,15 +258,15 @@ following:
       L2 (256KB) + L1 (32KB) + Core P#9 + PU P#0
       L2 (256KB) + L1 (32KB) + Core P#10 + PU P#0
 
-In this example, the first core on the second socket is logically
+In this example, the first core on the second package is logically
 number 6 (i.e., logically the 7th core, starting from 0).  Its
 physical index is 0, but note that another core
-.I also 
+.I also
 has a physical index of 0.  Hence, physical indexes may only be
 relevant within the scope of their parent (or set of ancestors).
 In this example, to uniquely identify logical core 6 with
-physical indexes, you must specify (at a minimum) both a socket and a
-core: socket 1, core 0.
+physical indexes, you must specify (at a minimum) both a package and a
+core: package 1, core 0.
 .PP
 Index values, regardless of whether they are logical or physical, can
 be expressed in several different forms (where X, Y, and N are
@@ -304,7 +304,7 @@ A special index value indicating all valid even index values.
 .PP
 .IR REMEMBER :
 hwloc's command line tools accept
-.I logical 
+.I logical
 indexes for location values by default.
 Use
 .BR --physical " and " --logical
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/misc.h b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/misc.h
similarity index 93%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/misc.h
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/misc.h
index d5db53b..e0175ca 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/misc.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/misc.h
@@ -1,13 +1,14 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2013 Inria.  All rights reserved.
- * Copyright © 2009-2012 Université Bordeaux 1
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2012 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
 #include <private/autogen/config.h>
 #include <hwloc.h>
+#include <private/misc.h>
 
 #include <stdio.h>
 #include <string.h>
@@ -199,33 +200,33 @@ hwloc_utils_enable_input_format(struct hwloc_topology *topology,
 }
 
 static __hwloc_inline void
-hwloc_utils_print_distance_matrix(hwloc_topology_t topology, hwloc_obj_t root, unsigned nbobjs, unsigned reldepth, float *matrix, int logical)
+hwloc_utils_print_distance_matrix(FILE *output, hwloc_topology_t topology, hwloc_obj_t root, unsigned nbobjs, unsigned reldepth, float *matrix, int logical)
 {
   hwloc_obj_t objj, obji;
   unsigned i, j;
 
   /* column header */
-  printf("  index");
+  fprintf(output, "  index");
   for(j=0, objj=NULL; j<nbobjs; j++) {
     objj = hwloc_get_next_obj_inside_cpuset_by_depth(topology, root->cpuset, root->depth+reldepth, objj);
-    printf(" % 5d",
-	   (int) (logical ? objj->logical_index : objj->os_index));
+    fprintf(output, " % 5d",
+	    (int) (logical ? objj->logical_index : objj->os_index));
   }
-  printf("\n");
+  fprintf(output, "\n");
 
   /* each line */
   for(i=0, obji=NULL; i<nbobjs; i++) {
     obji = hwloc_get_next_obj_inside_cpuset_by_depth(topology, root->cpuset, root->depth+reldepth, obji);
     /* row header */
-    printf("  % 5d",
-	     (int) (logical ? obji->logical_index : obji->os_index));
+    fprintf(output, "  % 5d",
+	    (int) (logical ? obji->logical_index : obji->os_index));
 
     /* row values */
     for(j=0, objj=NULL; j<nbobjs; j++) {
       objj = hwloc_get_next_obj_inside_cpuset_by_depth(topology, root->cpuset, root->depth+reldepth, objj);
       for(j=0; j<nbobjs; j++)
-	printf(" %2.3f", matrix[i*nbobjs+j]);
-      printf("\n");
+	fprintf(output, " %2.3f", matrix[i*nbobjs+j]);
+      fprintf(output, "\n");
     }
   }
 }
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-fake-plugin.sh.in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-fake-plugin.sh.in
old mode 100755
new mode 100644
similarity index 64%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-fake-plugin.sh.in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-fake-plugin.sh.in
index 608e26f..ee24f4e
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-fake-plugin.sh.in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-fake-plugin.sh.in
@@ -2,13 +2,13 @@
 #-*-sh-*-
 
 #
-# Copyright © 2009-2013 Inria.  All rights reserved.
-# Copyright © 2009, 2011 Université Bordeaux 1
+# Copyright © 2009-2014 Inria.  All rights reserved.
+# Copyright © 2009, 2011 Université Bordeaux
 # See COPYING in top-level directory.
 #
 
 HWLOC_top_builddir="@HWLOC_top_builddir@"
-lstopo="$HWLOC_top_builddir/utils/lstopo-no-graphics"
+lstopo="$HWLOC_top_builddir/utils/lstopo/lstopo-no-graphics"
 
 HWLOC_PLUGINS_PATH=${HWLOC_top_builddir}/src
 export HWLOC_PLUGINS_PATH
@@ -32,6 +32,8 @@ set -e
 
 $lstopo > $file
 
-grep "fake component instantiated" $file
+grep "fake component initialized" $file \
+&& grep "fake component instantiated" $file \
+&& grep "fake component finalized" $file
 
 rm -rf "$tmp"
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-annotate.input b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-annotate.input
similarity index 55%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-annotate.input
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-annotate.input
index eacc3a9..05a2c4c 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-annotate.input
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-annotate.input
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE topology SYSTEM "hwloc.dtd">
 <topology>
-  <object type="Machine" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" local_memory="4014030848">
+  <object type="Machine" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" local_memory="4014030848">
     <page_type size="4096" count="979988"/>
     <page_type size="2097152" count="0"/>
     <info name="DMIProductName" value="Latitude E6410"/>
@@ -24,26 +24,28 @@
     <info name="OSVersion" value="#1 SMP Thu Jun 28 09:07:26 UTC 2012"/>
     <info name="HostName" value="rhododendron"/>
     <info name="Architecture" value="x86_64"/>
-    <object type="Socket" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f">
-      <info name="CPUModel" value="Intel(R) Core(TM) i7 CPU       M 620  @ 2.67GHz"/>
-      <info name="CPUType" value="x86_64"/>
-      <object type="Cache" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" cache_size="4194304" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
-        <object type="Cache" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-          <object type="Cache" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-            <object type="Cache" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="4" cache_type="2">
-              <object type="Core" os_index="0" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005">
-                <object type="PU" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001"/>
-                <object type="PU" os_index="2" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004"/>
+    <object type="NUMANode" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0">
+      <object type="Package" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0">
+        <info name="CPUModel" value="Intel(R) Core(TM) i7 CPU       M 620  @ 2.67GHz"/>
+        <info name="CPUType" value="x86_64"/>
+        <object type="Cache" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="4194304" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
+          <object type="Cache" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+            <object type="Cache" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+              <object type="Cache" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="4" cache_type="2">
+                <object type="Core" os_index="0" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0">
+                  <object type="PU" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0"/>
+                  <object type="PU" os_index="2" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0"/>
+                </object>
               </object>
             </object>
           </object>
-        </object>
-        <object type="Cache" cpuset="0x0000000a" complete_cpuset="0x0000000a" online_cpuset="0x0000000a" allowed_cpuset="0x0000000a" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-          <object type="Cache" cpuset="0x0000000a" complete_cpuset="0x0000000a" online_cpuset="0x0000000a" allowed_cpuset="0x0000000a" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-            <object type="Cache" cpuset="0x0000000a" complete_cpuset="0x0000000a" online_cpuset="0x0000000a" allowed_cpuset="0x0000000a" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="4" cache_type="2">
-              <object type="Core" os_index="2" cpuset="0x0000000a" complete_cpuset="0x0000000a" online_cpuset="0x0000000a" allowed_cpuset="0x0000000a">
-                <object type="PU" os_index="1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002"/>
-                <object type="PU" os_index="3" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008"/>
+          <object type="Cache" cpuset="0x0000000a" complete_cpuset="0x0000000a" online_cpuset="0x0000000a" allowed_cpuset="0x0000000a" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+            <object type="Cache" cpuset="0x0000000a" complete_cpuset="0x0000000a" online_cpuset="0x0000000a" allowed_cpuset="0x0000000a" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+              <object type="Cache" cpuset="0x0000000a" complete_cpuset="0x0000000a" online_cpuset="0x0000000a" allowed_cpuset="0x0000000a" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="4" cache_type="2">
+                <object type="Core" os_index="2" cpuset="0x0000000a" complete_cpuset="0x0000000a" online_cpuset="0x0000000a" allowed_cpuset="0x0000000a" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0">
+                  <object type="PU" os_index="1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0"/>
+                  <object type="PU" os_index="3" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0"/>
+                </object>
               </object>
             </object>
           </object>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-annotate.output b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-annotate.output
new file mode 100644
index 0000000..6bc65b3
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-annotate.output
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topology SYSTEM "hwloc.dtd">
+<topology>
+  <object type="Machine" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" local_memory="4014030848">
+    <page_type size="4096" count="979988"/>
+    <page_type size="2097152" count="0"/>
+    <info name="DMIProductName" value="Latitude E6410"/>
+    <info name="DMIProductVersion" value="0001"/>
+    <info name="DMIBoardVendor" value="Dell Inc."/>
+    <info name="DMIBoardName" value=" "/>
+    <info name="DMIBoardVersion" value=" "/>
+    <info name="DMIBoardAssetTag" value=" "/>
+    <info name="DMIChassisVendor" value="Dell Inc."/>
+    <info name="DMIChassisType" value="9"/>
+    <info name="DMIChassisVersion" value=" "/>
+    <info name="DMIChassisAssetTag" value=""/>
+    <info name="DMIBIOSVendor" value="Dell Inc."/>
+    <info name="DMIBIOSVersion" value="A12"/>
+    <info name="DMIBIOSDate" value="05/09/2012"/>
+    <info name="DMISysVendor" value="Dell Inc."/>
+    <info name="Backend" value="Linux"/>
+    <info name="OSName" value="Linux"/>
+    <info name="OSRelease" value="3.2.0-3-amd64"/>
+    <info name="OSVersion" value="#1 SMP Thu Jun 28 09:07:26 UTC 2012"/>
+    <info name="HostName" value="rhododendron"/>
+    <info name="Architecture" value="x86_64"/>
+    <info name="Foo" value="Bar"/>
+    <object type="NUMANode" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0">
+      <info name="Foo" value="Bar"/>
+      <object type="Package" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0">
+        <info name="CPUModel" value="Intel(R) Core(TM) i7 CPU       M 620  @ 2.67GHz"/>
+        <info name="CPUType" value="x86_64"/>
+        <info name="Foo2" value="Bar3"/>
+        <object type="Cache" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="4194304" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
+          <info name="Foo" value="Bar"/>
+          <object type="Cache" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+            <object type="Cache" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+              <info name="Foo" value="Bar"/>
+              <object type="Cache" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="4" cache_type="2">
+                <info name="Foo" value="Bar"/>
+                <object type="Core" os_index="0" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0">
+                  <info name="Foo2" value="Bar2"/>
+                  <object type="PU" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0">
+                    <info name="Foo" value="Bar"/>
+                    <object type="Misc" name="pumisc">
+                      <info name="Foo" value="Bar"/>
+                    </object>
+                  </object>
+                  <object type="PU" os_index="2" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0">
+                    <info name="Foo" value="Bar"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+          </object>
+          <object type="Cache" cpuset="0x0000000a" complete_cpuset="0x0000000a" online_cpuset="0x0000000a" allowed_cpuset="0x0000000a" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
+            <info name="Foo" value="Bar"/>
+            <object type="Cache" cpuset="0x0000000a" complete_cpuset="0x0000000a" online_cpuset="0x0000000a" allowed_cpuset="0x0000000a" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
+              <info name="Foo" value="Bar"/>
+              <object type="Cache" cpuset="0x0000000a" complete_cpuset="0x0000000a" online_cpuset="0x0000000a" allowed_cpuset="0x0000000a" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="4" cache_type="2">
+                <info name="Foo" value="Bar"/>
+                <object type="Core" os_index="2" cpuset="0x0000000a" complete_cpuset="0x0000000a" online_cpuset="0x0000000a" allowed_cpuset="0x0000000a" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0">
+                  <info name="Foo2" value="Bar2"/>
+                  <object type="PU" os_index="1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0">
+                    <info name="Foo" value="Bar"/>
+                  </object>
+                  <object type="PU" os_index="3" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008" nodeset="0x0" complete_nodeset="0x00000001" allowed_nodeset="0x0">
+                    <info name="Foo" value="Bar"/>
+                  </object>
+                </object>
+              </object>
+            </object>
+          </object>
+        </object>
+      </object>
+    </object>
+    <object type="Bridge" os_index="0" bridge_type="0-1" depth="0" bridge_pci="0000:[00-05]">
+      <info name="Foo" value="Bar"/>
+      <object type="PCIDev" os_index="32" name="Intel Corporation Core Processor Integrated Graphics Controller" pci_busid="0000:00:02.0" pci_type="0300 [8086:0046] [0028:000a] 02" pci_link_speed="0.000000">
+        <info name="PCIVendor" value="Intel Corporation"/>
+        <info name="PCIDevice" value="Core Processor Integrated Graphics Controller"/>
+        <info name="Foo" value="Bar"/>
+        <info name="mypcidev" value="byindex"/>
+        <info name="mypcidev" value="bymatch"/>
+        <object type="OSDev" name="controlD64" osdev_type="1">
+          <info name="Foo" value="Bar"/>
+        </object>
+        <object type="OSDev" name="card0" osdev_type="1">
+          <info name="Foo" value="Bar"/>
+        </object>
+      </object>
+      <object type="PCIDev" os_index="400" name="Intel Corporation 82577LM Gigabit Network Connection" pci_busid="0000:00:19.0" pci_type="0200 [8086:10ea] [0028:000a] 05" pci_link_speed="0.000000">
+        <info name="PCIVendor" value="Intel Corporation"/>
+        <info name="PCIDevice" value="82577LM Gigabit Network Connection"/>
+        <info name="Foo" value="Bar"/>
+        <info name="mypcidev" value="byindex"/>
+        <object type="OSDev" name="eth0" osdev_type="2">
+          <info name="Address" value="5c:26:0a:53:da:8c"/>
+          <info name="Foo" value="Bar"/>
+          <info name="myosdev" value="byindex"/>
+        </object>
+      </object>
+      <object type="Bridge" os_index="449" name="Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2" bridge_type="1-1" depth="1" bridge_pci="0000:[02-02]" pci_busid="0000:00:1c.1" pci_type="0604 [8086:3b44] [0000:0000] 05" pci_link_speed="0.000000">
+        <info name="PCIVendor" value="Intel Corporation"/>
+        <info name="PCIDevice" value="5 Series/3400 Series Chipset PCI Express Root Port 2"/>
+        <info name="Foo" value="Bar"/>
+        <object type="PCIDev" os_index="8192" name="Intel Corporation Centrino Ultimate-N 6300" pci_busid="0000:02:00.0" pci_type="0280 [8086:422b] [0086:0021] 35" pci_link_speed="0.000000">
+          <info name="PCIVendor" value="Intel Corporation"/>
+          <info name="PCIDevice" value="Centrino Ultimate-N 6300"/>
+          <info name="Foo" value="Bar"/>
+          <info name="mypcidev" value="bybusid"/>
+          <object type="OSDev" name="wlan0" osdev_type="2">
+            <info name="Address" value="00:24:d7:0f:bd:34"/>
+            <info name="Foo" value="Bar"/>
+            <info name="myosdev" value="byindex"/>
+          </object>
+        </object>
+      </object>
+      <object type="PCIDev" os_index="498" name="Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller" pci_busid="0000:00:1f.2" pci_type="0106 [8086:3b2f] [0028:000a] 05" pci_link_speed="0.000000">
+        <info name="PCIVendor" value="Intel Corporation"/>
+        <info name="PCIDevice" value="5 Series/3400 Series Chipset 6 port SATA AHCI Controller"/>
+        <info name="Foo" value="Bar"/>
+        <object type="OSDev" name="sda" osdev_type="0">
+          <info name="Foo" value="Bar"/>
+        </object>
+        <object type="OSDev" name="sr0" osdev_type="0">
+          <info name="Foo" value="Bar"/>
+        </object>
+      </object>
+    </object>
+    <object type="Misc" name="rootmisc">
+      <info name="Foo" value="Bar"/>
+    </object>
+  </object>
+</topology>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-annotate.sh.in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-annotate.sh.in
new file mode 100644
index 0000000..f0ddf04
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-annotate.sh.in
@@ -0,0 +1,52 @@
+#!/bin/sh
+#-*-sh-*-
+
+#
+# Copyright © 2009-2015 Inria.  All rights reserved.
+# See COPYING in top-level directory.
+#
+
+HWLOC_top_builddir="@HWLOC_top_builddir@"
+annotate="$HWLOC_top_builddir/utils/hwloc/hwloc-annotate"
+HWLOC_top_srcdir="@HWLOC_top_srcdir@"
+
+HWLOC_PLUGINS_PATH=${HWLOC_top_builddir}/src
+export HWLOC_PLUGINS_PATH
+
+if test x at HWLOC_XML_LOCALIZED@ = x1; then
+  # make sure we use default numeric formats
+  LANG=C
+  LC_ALL=C
+  export LANG LC_ALL
+fi
+
+: ${TMPDIR=/tmp}
+{
+  tmp=`
+    (umask 077 && mktemp -d "$TMPDIR/fooXXXXXX") 2>/dev/null
+  ` &&
+  test -n "$tmp" && test -d "$tmp"
+} || {
+  tmp=$TMPDIR/foo$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
+} || exit $?
+file="$tmp/test-hwloc-annotate.output"
+
+set -e
+
+$annotate $HWLOC_top_srcdir/utils/hwloc/test-hwloc-annotate.input $file pu:0 misc pumisc
+$annotate $file $file root misc rootmisc
+$annotate $file $file all info Foo Bar
+$annotate --ci $file $file Core:all info Foo2 Bar2
+$annotate --ci $file $file L2Cache:0 none
+$annotate --ri $file $file pack:all info Foo
+$annotate $file $file pack:0 info Foo2 Bar
+$annotate $file $file pack:0 info Foo2 Bar2
+$annotate --ri $file $file pack:0 info Foo2 Bar3
+$annotate $file $file os:2-3 info myosdev byindex
+$annotate $file $file pci:4:2 info mypcidev byindex
+$annotate $file $file pci=0000:02:00.0 info mypcidev bybusid
+$annotate $file $file 'pci[8086:0046]:all' info mypcidev bymatch
+
+diff @HWLOC_DIFF_U@ $HWLOC_top_srcdir/utils/hwloc/test-hwloc-annotate.output "$file"
+rm -rf "$tmp"
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-assembler.input1 b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-assembler.input1
similarity index 95%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-assembler.input1
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-assembler.input1
index d08a77e..bd7e744 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-assembler.input1
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-assembler.input1
@@ -24,7 +24,7 @@
     <info name="OSVersion" value="#1 SMP Sun Jul 24 02:24:44 UTC 2011"/>
     <info name="HostName" value="rhododendron"/>
     <info name="Architecture" value="x86_64"/>
-    <object type="Socket" os_level="-1" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f">
+    <object type="Package" os_level="-1" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f">
       <object type="Cache" os_level="-1" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" cache_size="4194304" depth="3" cache_linesize="64" cache_associativity="8" cache_type="0">
         <object type="Cache" os_level="-1" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
           <object type="Cache" os_level="-1" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-assembler.input2 b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-assembler.input2
similarity index 93%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-assembler.input2
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-assembler.input2
index b3dc447..6ece05e 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-assembler.input2
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-assembler.input2
@@ -11,7 +11,7 @@
     </distances>
     <object type="NUMANode" os_level="-1" os_index="0" cpuset="0x00000fff" complete_cpuset="0x00000fff" online_cpuset="0x00000fff" allowed_cpuset="0x00000fff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="1073741824">
       <page_type size="4096" count="262144"/>
-      <object type="Socket" os_level="-1" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+      <object type="Package" os_level="-1" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
         <object type="Cache" os_level="-1" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="4194304" depth="2" cache_linesize="32" cache_associativity="4" cache_type="0">
           <object type="Core" os_level="-1" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
             <object type="Cache" os_level="-1" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="32" cache_associativity="4" cache_type="1">
@@ -31,7 +31,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_level="-1" os_index="1" cpuset="0x000000f0" complete_cpuset="0x000000f0" online_cpuset="0x000000f0" allowed_cpuset="0x000000f0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+      <object type="Package" os_level="-1" os_index="1" cpuset="0x000000f0" complete_cpuset="0x000000f0" online_cpuset="0x000000f0" allowed_cpuset="0x000000f0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
         <object type="Cache" os_level="-1" os_index="1" cpuset="0x000000f0" complete_cpuset="0x000000f0" online_cpuset="0x000000f0" allowed_cpuset="0x000000f0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="4194304" depth="2" cache_linesize="32" cache_associativity="4" cache_type="0">
           <object type="Core" os_level="-1" os_index="2" cpuset="0x00000030" complete_cpuset="0x00000030" online_cpuset="0x00000030" allowed_cpuset="0x00000030" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
             <object type="Cache" os_level="-1" os_index="4" cpuset="0x00000010" complete_cpuset="0x00000010" online_cpuset="0x00000010" allowed_cpuset="0x00000010" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="32" cache_associativity="4" cache_type="1">
@@ -51,7 +51,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_level="-1" os_index="2" cpuset="0x00000f00" complete_cpuset="0x00000f00" online_cpuset="0x00000f00" allowed_cpuset="0x00000f00" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+      <object type="Package" os_level="-1" os_index="2" cpuset="0x00000f00" complete_cpuset="0x00000f00" online_cpuset="0x00000f00" allowed_cpuset="0x00000f00" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
         <object type="Cache" os_level="-1" os_index="2" cpuset="0x00000f00" complete_cpuset="0x00000f00" online_cpuset="0x00000f00" allowed_cpuset="0x00000f00" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="4194304" depth="2" cache_linesize="32" cache_associativity="4" cache_type="0">
           <object type="Core" os_level="-1" os_index="4" cpuset="0x00000300" complete_cpuset="0x00000300" online_cpuset="0x00000300" allowed_cpuset="0x00000300" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
             <object type="Cache" os_level="-1" os_index="8" cpuset="0x00000100" complete_cpuset="0x00000100" online_cpuset="0x00000100" allowed_cpuset="0x00000100" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="32" cache_associativity="4" cache_type="1">
@@ -74,7 +74,7 @@
     </object>
     <object type="NUMANode" os_level="-1" os_index="1" cpuset="0x00fff000" complete_cpuset="0x00fff000" online_cpuset="0x00fff000" allowed_cpuset="0x00fff000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="1073741824">
       <page_type size="4096" count="262144"/>
-      <object type="Socket" os_level="-1" os_index="3" cpuset="0x0000f000" complete_cpuset="0x0000f000" online_cpuset="0x0000f000" allowed_cpuset="0x0000f000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+      <object type="Package" os_level="-1" os_index="3" cpuset="0x0000f000" complete_cpuset="0x0000f000" online_cpuset="0x0000f000" allowed_cpuset="0x0000f000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <object type="Cache" os_level="-1" os_index="3" cpuset="0x0000f000" complete_cpuset="0x0000f000" online_cpuset="0x0000f000" allowed_cpuset="0x0000f000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="4194304" depth="2" cache_linesize="32" cache_associativity="4" cache_type="0">
           <object type="Core" os_level="-1" os_index="6" cpuset="0x00003000" complete_cpuset="0x00003000" online_cpuset="0x00003000" allowed_cpuset="0x00003000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
             <object type="Cache" os_level="-1" os_index="12" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="32" cache_associativity="4" cache_type="1">
@@ -94,7 +94,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_level="-1" os_index="4" cpuset="0x000f0000" complete_cpuset="0x000f0000" online_cpuset="0x000f0000" allowed_cpuset="0x000f0000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+      <object type="Package" os_level="-1" os_index="4" cpuset="0x000f0000" complete_cpuset="0x000f0000" online_cpuset="0x000f0000" allowed_cpuset="0x000f0000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <object type="Cache" os_level="-1" os_index="4" cpuset="0x000f0000" complete_cpuset="0x000f0000" online_cpuset="0x000f0000" allowed_cpuset="0x000f0000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="4194304" depth="2" cache_linesize="32" cache_associativity="4" cache_type="0">
           <object type="Core" os_level="-1" os_index="8" cpuset="0x00030000" complete_cpuset="0x00030000" online_cpuset="0x00030000" allowed_cpuset="0x00030000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
             <object type="Cache" os_level="-1" os_index="16" cpuset="0x00010000" complete_cpuset="0x00010000" online_cpuset="0x00010000" allowed_cpuset="0x00010000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="32" cache_associativity="4" cache_type="1">
@@ -114,7 +114,7 @@
           </object>
         </object>
       </object>
-      <object type="Socket" os_level="-1" os_index="5" cpuset="0x00f00000" complete_cpuset="0x00f00000" online_cpuset="0x00f00000" allowed_cpuset="0x00f00000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+      <object type="Package" os_level="-1" os_index="5" cpuset="0x00f00000" complete_cpuset="0x00f00000" online_cpuset="0x00f00000" allowed_cpuset="0x00f00000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <object type="Cache" os_level="-1" os_index="5" cpuset="0x00f00000" complete_cpuset="0x00f00000" online_cpuset="0x00f00000" allowed_cpuset="0x00f00000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="4194304" depth="2" cache_linesize="32" cache_associativity="4" cache_type="0">
           <object type="Core" os_level="-1" os_index="10" cpuset="0x00300000" complete_cpuset="0x00300000" online_cpuset="0x00300000" allowed_cpuset="0x00300000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
             <object type="Cache" os_level="-1" os_index="20" cpuset="0x00100000" complete_cpuset="0x00100000" online_cpuset="0x00100000" allowed_cpuset="0x00100000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="32" cache_associativity="4" cache_type="1">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-assembler.output b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-assembler.output
similarity index 94%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-assembler.output
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-assembler.output
index bba537b..d6a8822 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-assembler.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-assembler.output
@@ -28,7 +28,7 @@
       <info name="Architecture" value="x86_64"/>
       <info name="AssemblerName" value="input1"/>
       <info name="AssemblerIndex" value="0"/>
-      <object type="Socket" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f">
+      <object type="Package" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f">
         <object type="Cache" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" cache_size="4194304" depth="3" cache_linesize="64" cache_associativity="8" cache_type="0">
           <object type="Cache" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
             <object type="Cache" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
@@ -55,7 +55,7 @@
       <info name="AssemblerIndex" value="1"/>
       <object type="NUMANode" os_index="0" cpuset="0x00000fff" complete_cpuset="0x00000fff" online_cpuset="0x00000fff" allowed_cpuset="0x00000fff" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="1073741824">
         <page_type size="4096" count="262144"/>
-        <object type="Socket" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+        <object type="Package" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
           <object type="Cache" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="4194304" depth="2" cache_linesize="32" cache_associativity="4" cache_type="0">
             <object type="Core" os_index="0" cpuset="0x00000003" complete_cpuset="0x00000003" online_cpuset="0x00000003" allowed_cpuset="0x00000003" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
               <object type="Cache" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="32" cache_associativity="4" cache_type="1">
@@ -75,7 +75,7 @@
             </object>
           </object>
         </object>
-        <object type="Socket" os_index="1" cpuset="0x000000f0" complete_cpuset="0x000000f0" online_cpuset="0x000000f0" allowed_cpuset="0x000000f0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+        <object type="Package" os_index="1" cpuset="0x000000f0" complete_cpuset="0x000000f0" online_cpuset="0x000000f0" allowed_cpuset="0x000000f0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
           <object type="Cache" os_index="1" cpuset="0x000000f0" complete_cpuset="0x000000f0" online_cpuset="0x000000f0" allowed_cpuset="0x000000f0" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="4194304" depth="2" cache_linesize="32" cache_associativity="4" cache_type="0">
             <object type="Core" os_index="2" cpuset="0x00000030" complete_cpuset="0x00000030" online_cpuset="0x00000030" allowed_cpuset="0x00000030" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
               <object type="Cache" os_index="4" cpuset="0x00000010" complete_cpuset="0x00000010" online_cpuset="0x00000010" allowed_cpuset="0x00000010" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="32" cache_associativity="4" cache_type="1">
@@ -95,7 +95,7 @@
             </object>
           </object>
         </object>
-        <object type="Socket" os_index="2" cpuset="0x00000f00" complete_cpuset="0x00000f00" online_cpuset="0x00000f00" allowed_cpuset="0x00000f00" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+        <object type="Package" os_index="2" cpuset="0x00000f00" complete_cpuset="0x00000f00" online_cpuset="0x00000f00" allowed_cpuset="0x00000f00" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
           <object type="Cache" os_index="2" cpuset="0x00000f00" complete_cpuset="0x00000f00" online_cpuset="0x00000f00" allowed_cpuset="0x00000f00" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="4194304" depth="2" cache_linesize="32" cache_associativity="4" cache_type="0">
             <object type="Core" os_index="4" cpuset="0x00000300" complete_cpuset="0x00000300" online_cpuset="0x00000300" allowed_cpuset="0x00000300" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
               <object type="Cache" os_index="8" cpuset="0x00000100" complete_cpuset="0x00000100" online_cpuset="0x00000100" allowed_cpuset="0x00000100" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="32768" depth="1" cache_linesize="32" cache_associativity="4" cache_type="1">
@@ -118,7 +118,7 @@
       </object>
       <object type="NUMANode" os_index="1" cpuset="0x00fff000" complete_cpuset="0x00fff000" online_cpuset="0x00fff000" allowed_cpuset="0x00fff000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="1073741824">
         <page_type size="4096" count="262144"/>
-        <object type="Socket" os_index="3" cpuset="0x0000f000" complete_cpuset="0x0000f000" online_cpuset="0x0000f000" allowed_cpuset="0x0000f000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+        <object type="Package" os_index="3" cpuset="0x0000f000" complete_cpuset="0x0000f000" online_cpuset="0x0000f000" allowed_cpuset="0x0000f000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
           <object type="Cache" os_index="3" cpuset="0x0000f000" complete_cpuset="0x0000f000" online_cpuset="0x0000f000" allowed_cpuset="0x0000f000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="4194304" depth="2" cache_linesize="32" cache_associativity="4" cache_type="0">
             <object type="Core" os_index="6" cpuset="0x00003000" complete_cpuset="0x00003000" online_cpuset="0x00003000" allowed_cpuset="0x00003000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
               <object type="Cache" os_index="12" cpuset="0x00001000" complete_cpuset="0x00001000" online_cpuset="0x00001000" allowed_cpuset="0x00001000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="32" cache_associativity="4" cache_type="1">
@@ -138,7 +138,7 @@
             </object>
           </object>
         </object>
-        <object type="Socket" os_index="4" cpuset="0x000f0000" complete_cpuset="0x000f0000" online_cpuset="0x000f0000" allowed_cpuset="0x000f0000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+        <object type="Package" os_index="4" cpuset="0x000f0000" complete_cpuset="0x000f0000" online_cpuset="0x000f0000" allowed_cpuset="0x000f0000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
           <object type="Cache" os_index="4" cpuset="0x000f0000" complete_cpuset="0x000f0000" online_cpuset="0x000f0000" allowed_cpuset="0x000f0000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="4194304" depth="2" cache_linesize="32" cache_associativity="4" cache_type="0">
             <object type="Core" os_index="8" cpuset="0x00030000" complete_cpuset="0x00030000" online_cpuset="0x00030000" allowed_cpuset="0x00030000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
               <object type="Cache" os_index="16" cpuset="0x00010000" complete_cpuset="0x00010000" online_cpuset="0x00010000" allowed_cpuset="0x00010000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="32" cache_associativity="4" cache_type="1">
@@ -158,7 +158,7 @@
             </object>
           </object>
         </object>
-        <object type="Socket" os_index="5" cpuset="0x00f00000" complete_cpuset="0x00f00000" online_cpuset="0x00f00000" allowed_cpuset="0x00f00000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+        <object type="Package" os_index="5" cpuset="0x00f00000" complete_cpuset="0x00f00000" online_cpuset="0x00f00000" allowed_cpuset="0x00f00000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
           <object type="Cache" os_index="5" cpuset="0x00f00000" complete_cpuset="0x00f00000" online_cpuset="0x00f00000" allowed_cpuset="0x00f00000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="4194304" depth="2" cache_linesize="32" cache_associativity="4" cache_type="0">
             <object type="Core" os_index="10" cpuset="0x00300000" complete_cpuset="0x00300000" online_cpuset="0x00300000" allowed_cpuset="0x00300000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
               <object type="Cache" os_index="20" cpuset="0x00100000" complete_cpuset="0x00100000" online_cpuset="0x00100000" allowed_cpuset="0x00100000" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="32768" depth="1" cache_linesize="32" cache_associativity="4" cache_type="1">
@@ -205,7 +205,7 @@
       <info name="Architecture" value="x86_64"/>
       <info name="AssemblerName" value="input1again"/>
       <info name="AssemblerIndex" value="2"/>
-      <object type="Socket" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f">
+      <object type="Package" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f">
         <object type="Cache" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" cache_size="4194304" depth="3" cache_linesize="64" cache_associativity="8" cache_type="0">
           <object type="Cache" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
             <object type="Cache" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-assembler.sh.in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-assembler.sh.in
new file mode 100644
index 0000000..eedee5d
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-assembler.sh.in
@@ -0,0 +1,54 @@
+#!/bin/sh
+#-*-sh-*-
+
+#
+# Copyright © 2009-2015 Inria.  All rights reserved.
+# Copyright © 2009, 2011 Université Bordeaux
+# See COPYING in top-level directory.
+#
+
+HWLOC_VERSION="@HWLOC_VERSION@"
+HWLOC_top_builddir="@HWLOC_top_builddir@"
+assembler="$HWLOC_top_builddir/utils/hwloc/hwloc-assembler"
+HWLOC_top_srcdir="@HWLOC_top_srcdir@"
+SED="@SED@"
+
+HWLOC_PLUGINS_PATH=${HWLOC_top_builddir}/src
+export HWLOC_PLUGINS_PATH
+
+if test x at HWLOC_XML_LOCALIZED@ = x1; then
+  # make sure we use default numeric formats
+  LANG=C
+  LC_ALL=C
+  export LANG LC_ALL
+fi
+
+: ${TMPDIR=/tmp}
+{
+  tmp=`
+    (umask 077 && mktemp -d "$TMPDIR/fooXXXXXX") 2>/dev/null
+  ` &&
+  test -n "$tmp" && test -d "$tmp"
+} || {
+  tmp=$TMPDIR/foo$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
+} || exit $?
+file="$tmp/test-hwloc-assembler.output"
+
+set -e
+
+$assembler $file \
+	--name input1 $HWLOC_top_srcdir/utils/hwloc/test-hwloc-assembler.input1 \
+	--name input2 $HWLOC_top_srcdir/utils/hwloc/test-hwloc-assembler.input2 \
+	--name input1again $HWLOC_top_srcdir/utils/hwloc/test-hwloc-assembler.input1
+
+# filter hwlocVersion since it often changes
+# filter ProcessName since it may be hwloc-info or lt-hwloc-info
+cat $file \
+ | $SED -e '/<info name=\"hwlocVersion\" value=\"'$HWLOC_VERSION'\"\/>/d' \
+ | $SED -e '/<info name=\"ProcessName\" value=\"hwloc-assembler\"\/>/d' -e '/<info name=\"ProcessName\" value=\"lt-hwloc-assembler\"\/>/d' \
+ > ${file}.tmp
+mv -f ${file}.tmp $file
+
+diff @HWLOC_DIFF_U@ $HWLOC_top_srcdir/utils/hwloc/test-hwloc-assembler.output "$file"
+rm -rf "$tmp"
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-calc.output b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-calc.output
similarity index 94%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-calc.output
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-calc.output
index 83fdc69..fd3e9a7 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-calc.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-calc.output
@@ -43,6 +43,8 @@ PU:22_PU:23_Core:6_Core:7_NUMANode:2
 
 0xffffffff,0xffff0000,0x0
 0xffffff00,,0x0
+0x000000ff,0xffff0000,0x0
+0xffffffff,0xffff0000,0x0
 0xffffff00,,0x00ffffff
 0x00ffffff
 0x000000ff,0xffffffff,0xff000000
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-calc.sh.in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-calc.sh.in
similarity index 88%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-calc.sh.in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-calc.sh.in
index d52ce48..64d7851 100755
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-calc.sh.in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-calc.sh.in
@@ -3,13 +3,13 @@
 
 #
 # Copyright © 2009 CNRS
-# Copyright © 2009-2013 Inria.  All rights reserved.
-# Copyright © 2009, 2011 Université Bordeaux 1
+# Copyright © 2009-2015 Inria.  All rights reserved.
+# Copyright © 2009, 2011 Université Bordeaux
 # See COPYING in top-level directory.
 #
 
 HWLOC_top_builddir="@HWLOC_top_builddir@"
-calc="$HWLOC_top_builddir/utils/hwloc-calc"
+calc="$HWLOC_top_builddir/utils/hwloc/hwloc-calc"
 HWLOC_top_srcdir="@HWLOC_top_srcdir@"
 
 HWLOC_PLUGINS_PATH=${HWLOC_top_builddir}/src
@@ -74,9 +74,11 @@ set -e
   echo
   $calc --if xml --input $HWLOC_top_srcdir/tests/xml/96em64t-4n4d3ca2co-pci.xml os=eth6 os=eth4
   $calc --if xml --input $HWLOC_top_srcdir/tests/xml/96em64t-4n4d3ca2co-pci.xml os=sdc os=sr0 ~os=sda
-  $calc --if xml --input $HWLOC_top_srcdir/tests/xml/96em64t-4n4d3ca2co-pci.xml pci:1000:0062:3:2
-  $calc --if xml --input $HWLOC_top_srcdir/tests/xml/96em64t-4n4d3ca2co-pci.xml pci:14e4:1639:1
-  $calc --if xml --input $HWLOC_top_srcdir/tests/xml/96em64t-4n4d3ca2co-pci.xml pci:14e4:1639:2-5
+  $calc --if xml --input $HWLOC_top_srcdir/tests/xml/96em64t-4n4d3ca2co-pci.xml os:7-8
+  $calc --if xml --input $HWLOC_top_srcdir/tests/xml/96em64t-4n4d3ca2co-pci.xml pci:10-11
+  $calc --if xml --input $HWLOC_top_srcdir/tests/xml/96em64t-4n4d3ca2co-pci.xml pci'[1000:0062]':3:2
+  $calc --if xml --input $HWLOC_top_srcdir/tests/xml/96em64t-4n4d3ca2co-pci.xml pci'[14e4:1639]':1
+  $calc --if xml --input $HWLOC_top_srcdir/tests/xml/96em64t-4n4d3ca2co-pci.xml pci'[14e4:1639]':2-5
   $calc --if xml --input $HWLOC_top_srcdir/tests/xml/96em64t-4n4d3ca2co-pci.xml pci=0000:62:00.1 pci=0000:02:00.1
   $calc --if xml --input $HWLOC_top_srcdir/tests/xml/96em64t-4n4d3ca2co-pci.xml pci=0000:62:00.1 xpci=0000:02:00.0
   $calc --if xml --input $HWLOC_top_srcdir/tests/xml/96em64t-4n4d3ca2co-pci.xml pci=0000:02:00.0 xpci=0000:02:00.1
@@ -91,5 +93,5 @@ node:0 node:3
 root
 EOF
 ) > "$file"
-diff @HWLOC_DIFF_U@ $HWLOC_top_srcdir/utils/test-hwloc-calc.output "$file"
+diff @HWLOC_DIFF_U@ $HWLOC_top_srcdir/utils/hwloc/test-hwloc-calc.output "$file"
 rm -rf "$tmp"
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-compress-dir.input.tar.gz b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-compress-dir.input.tar.gz
new file mode 100644
index 0000000..3b99788
Binary files /dev/null and b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-compress-dir.input.tar.gz differ
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-compress-dir.output.tar.gz b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-compress-dir.output.tar.gz
new file mode 100644
index 0000000..0d517bc
Binary files /dev/null and b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-compress-dir.output.tar.gz differ
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-compress-dir.sh.in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-compress-dir.sh.in
similarity index 80%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-compress-dir.sh.in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-compress-dir.sh.in
index 748e891..cf5e0ce 100755
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-compress-dir.sh.in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-compress-dir.sh.in
@@ -7,7 +7,7 @@
 #
 
 HWLOC_top_builddir="@HWLOC_top_builddir@"
-compress="$HWLOC_top_builddir/utils/hwloc-compress-dir"
+compress="$HWLOC_top_builddir/utils/hwloc/hwloc-compress-dir"
 HWLOC_top_srcdir="@HWLOC_top_srcdir@"
 
 HWLOC_PLUGINS_PATH=${HWLOC_top_builddir}/src
@@ -33,8 +33,8 @@ fi
 
 set -e
 
-(cd "$tmp" && gunzip -c $HWLOC_top_srcdir/utils/test-hwloc-compress-dir.input.tar.gz | tar xf -)
-(cd "$tmp" && gunzip -c $HWLOC_top_srcdir/utils/test-hwloc-compress-dir.output.tar.gz | tar xf -)
+(cd "$tmp" && gunzip -c $HWLOC_top_srcdir/utils/hwloc/test-hwloc-compress-dir.input.tar.gz | tar xf -)
+(cd "$tmp" && gunzip -c $HWLOC_top_srcdir/utils/hwloc/test-hwloc-compress-dir.output.tar.gz | tar xf -)
 (cd "$tmp" && mkdir test-hwloc-compress-dir.newoutput)
 (cd "$tmp" && mkdir test-hwloc-compress-dir.newoutput2)
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-diffpatch.input1 b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-diffpatch.input1
similarity index 96%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-diffpatch.input1
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-diffpatch.input1
index 9c95d7b..31d2cef 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-diffpatch.input1
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-diffpatch.input1
@@ -34,7 +34,7 @@
     <object type="NUMANode" os_index="0" cpuset="0x00000055" complete_cpuset="0x00000055" online_cpuset="0x00000055" allowed_cpuset="0x00000055" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="12875255808">
       <page_type size="4096" count="3143373"/>
       <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="0" cpuset="0x00000055" complete_cpuset="0x00000055" online_cpuset="0x00000055" allowed_cpuset="0x00000055" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+      <object type="Package" os_index="0" cpuset="0x00000055" complete_cpuset="0x00000055" online_cpuset="0x00000055" allowed_cpuset="0x00000055" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
         <info name="CPUModel" value="Intel(R) Xeon(R) CPU           X5550  @ 2.67GHz"/>
         <object type="Cache" cpuset="0x00000055" complete_cpuset="0x00000055" online_cpuset="0x00000055" allowed_cpuset="0x00000055" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="8388608" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -76,7 +76,7 @@
         </object>
       </object>
       <object type="Bridge" os_index="0" bridge_type="0-1" depth="0" bridge_pci="0000:[00-05]">
-        <object type="Bridge" os_index="80" bridge_type="1-1" depth="0" bridge_pci="0000:[05-05]" pci_busid="0000:00:05.0" pci_type="0604 [8086:340c] [0000:0000] 13" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="80" bridge_type="1-1" depth="1" bridge_pci="0000:[05-05]" pci_busid="0000:00:05.0" pci_type="0604 [8086:340c] [0000:0000] 13" pci_link_speed="0.000000">
           <object type="PCIDev" os_index="20480" pci_busid="0000:05:00.0" pci_type="0200 [8086:10c9] [003c:003f] 01" pci_link_speed="0.000000">
             <object type="OSDev" name="eth0" osdev_type="2">
               <info name="Address" value="18:a9:05:58:08:54"/>
@@ -88,7 +88,7 @@
             </object>
           </object>
         </object>
-        <object type="Bridge" os_index="112" bridge_type="1-1" depth="0" bridge_pci="0000:[04-04]" pci_busid="0000:00:07.0" pci_type="0604 [8086:340e] [0000:0000] 13" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="112" bridge_type="1-1" depth="1" bridge_pci="0000:[04-04]" pci_busid="0000:00:07.0" pci_type="0604 [8086:340e] [0000:0000] 13" pci_link_speed="0.000000">
           <object type="PCIDev" os_index="16384" pci_busid="0000:04:00.0" pci_type="0c06 [15b3:673c] [00b3:003c] a0" pci_link_speed="0.000000">
             <object type="OSDev" name="ib0" osdev_type="2">
               <info name="Address" value="80:00:00:48:fe:80:00:00:00:00:00:00:00:02:c9:03:00:06:dc:a5"/>
@@ -110,7 +110,7 @@
             </object>
           </object>
         </object>
-        <object type="Bridge" os_index="450" bridge_type="1-1" depth="0" bridge_pci="0000:[02-02]" pci_busid="0000:00:1c.2" pci_type="0604 [8086:3a44] [0000:0000] 00" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="450" bridge_type="1-1" depth="1" bridge_pci="0000:[02-02]" pci_busid="0000:00:1c.2" pci_type="0604 [8086:3a44] [0000:0000] 00" pci_link_speed="0.000000">
           <object type="PCIDev" os_index="8192" pci_busid="0000:02:00.0" pci_type="0300 [102b:0522] [003c:00fa] 02" pci_link_speed="0.000000"/>
         </object>
         <object type="PCIDev" os_index="498" pci_busid="0000:00:1f.2" pci_type="0106 [8086:3a22] [0086:0022] 00" pci_link_speed="0.000000">
@@ -124,7 +124,7 @@
     <object type="NUMANode" os_index="1" cpuset="0x000000aa" complete_cpuset="0x000000aa" online_cpuset="0x000000aa" allowed_cpuset="0x000000aa" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="12884901888">
       <page_type size="4096" count="3145728"/>
       <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="1" cpuset="0x000000aa" complete_cpuset="0x000000aa" online_cpuset="0x000000aa" allowed_cpuset="0x000000aa" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+      <object type="Package" os_index="1" cpuset="0x000000aa" complete_cpuset="0x000000aa" online_cpuset="0x000000aa" allowed_cpuset="0x000000aa" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <info name="CPUModel" value="Intel(R) Xeon(R) CPU           X5550  @ 2.67GHz"/>
         <object type="Cache" cpuset="0x000000aa" complete_cpuset="0x000000aa" online_cpuset="0x000000aa" allowed_cpuset="0x000000aa" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="8388608" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-diffpatch.input2 b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-diffpatch.input2
similarity index 96%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-diffpatch.input2
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-diffpatch.input2
index 4cb4320..e0e59c6 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-diffpatch.input2
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-diffpatch.input2
@@ -34,7 +34,7 @@
     <object type="NUMANode" os_index="0" cpuset="0x00000055" complete_cpuset="0x00000055" online_cpuset="0x00000055" allowed_cpuset="0x00000055" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" local_memory="12875255808">
       <page_type size="4096" count="3143373"/>
       <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="0" cpuset="0x00000055" complete_cpuset="0x00000055" online_cpuset="0x00000055" allowed_cpuset="0x00000055" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
+      <object type="Package" os_index="0" cpuset="0x00000055" complete_cpuset="0x00000055" online_cpuset="0x00000055" allowed_cpuset="0x00000055" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001">
         <info name="CPUModel" value="Intel(R) Xeon(R) CPU           X5550  @ 2.67GHz"/>
         <object type="Cache" cpuset="0x00000055" complete_cpuset="0x00000055" online_cpuset="0x00000055" allowed_cpuset="0x00000055" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="8388608" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001" nodeset="0x00000001" complete_nodeset="0x00000001" allowed_nodeset="0x00000001" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
@@ -76,7 +76,7 @@
         </object>
       </object>
       <object type="Bridge" os_index="0" bridge_type="0-1" depth="0" bridge_pci="0000:[00-05]">
-        <object type="Bridge" os_index="80" bridge_type="1-1" depth="0" bridge_pci="0000:[05-05]" pci_busid="0000:00:05.0" pci_type="0604 [8086:340c] [0000:0000] 13" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="80" bridge_type="1-1" depth="1" bridge_pci="0000:[05-05]" pci_busid="0000:00:05.0" pci_type="0604 [8086:340c] [0000:0000] 13" pci_link_speed="0.000000">
           <object type="PCIDev" os_index="20480" pci_busid="0000:05:00.0" pci_type="0200 [8086:10c9] [003c:003f] 01" pci_link_speed="0.000000">
             <object type="OSDev" name="eth0" osdev_type="2">
               <info name="Address" value="18:a9:05:58:07:c6"/>
@@ -88,7 +88,7 @@
             </object>
           </object>
         </object>
-        <object type="Bridge" os_index="112" bridge_type="1-1" depth="0" bridge_pci="0000:[04-04]" pci_busid="0000:00:07.0" pci_type="0604 [8086:340e] [0000:0000] 13" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="112" bridge_type="1-1" depth="1" bridge_pci="0000:[04-04]" pci_busid="0000:00:07.0" pci_type="0604 [8086:340e] [0000:0000] 13" pci_link_speed="0.000000">
           <object type="PCIDev" os_index="16384" pci_busid="0000:04:00.0" pci_type="0c06 [15b3:673c] [00b3:003c] a0" pci_link_speed="0.000000">
             <object type="OSDev" name="ib0" osdev_type="2">
               <info name="Address" value="80:00:00:48:fe:80:00:00:00:00:00:00:00:02:c9:03:00:06:db:45"/>
@@ -110,7 +110,7 @@
             </object>
           </object>
         </object>
-        <object type="Bridge" os_index="450" bridge_type="1-1" depth="0" bridge_pci="0000:[02-02]" pci_busid="0000:00:1c.2" pci_type="0604 [8086:3a44] [0000:0000] 00" pci_link_speed="0.000000">
+        <object type="Bridge" os_index="450" bridge_type="1-1" depth="1" bridge_pci="0000:[02-02]" pci_busid="0000:00:1c.2" pci_type="0604 [8086:3a44] [0000:0000] 00" pci_link_speed="0.000000">
           <object type="PCIDev" os_index="8192" pci_busid="0000:02:00.0" pci_type="0300 [102b:0522] [003c:00fa] 02" pci_link_speed="0.000000"/>
         </object>
         <object type="PCIDev" os_index="498" pci_busid="0000:00:1f.2" pci_type="0106 [8086:3a22] [0086:0022] 00" pci_link_speed="0.000000">
@@ -124,7 +124,7 @@
     <object type="NUMANode" os_index="1" cpuset="0x000000aa" complete_cpuset="0x000000aa" online_cpuset="0x000000aa" allowed_cpuset="0x000000aa" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" local_memory="12884901888">
       <page_type size="4096" count="3145728"/>
       <page_type size="2097152" count="0"/>
-      <object type="Socket" os_index="1" cpuset="0x000000aa" complete_cpuset="0x000000aa" online_cpuset="0x000000aa" allowed_cpuset="0x000000aa" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
+      <object type="Package" os_index="1" cpuset="0x000000aa" complete_cpuset="0x000000aa" online_cpuset="0x000000aa" allowed_cpuset="0x000000aa" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002">
         <info name="CPUModel" value="Intel(R) Xeon(R) CPU           X5550  @ 2.67GHz"/>
         <object type="Cache" cpuset="0x000000aa" complete_cpuset="0x000000aa" online_cpuset="0x000000aa" allowed_cpuset="0x000000aa" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="8388608" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
           <object type="Cache" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002" nodeset="0x00000002" complete_nodeset="0x00000002" allowed_nodeset="0x00000002" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-diffpatch.sh.in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-diffpatch.sh.in
similarity index 56%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-diffpatch.sh.in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-diffpatch.sh.in
index 83f1af6..c8fce2d 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-diffpatch.sh.in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-diffpatch.sh.in
@@ -7,8 +7,8 @@
 #
 
 HWLOC_top_builddir="@HWLOC_top_builddir@"
-diff="$HWLOC_top_builddir/utils/hwloc-diff"
-patch="$HWLOC_top_builddir/utils/hwloc-patch"
+diff="$HWLOC_top_builddir/utils/hwloc/hwloc-diff"
+patch="$HWLOC_top_builddir/utils/hwloc/hwloc-patch"
 HWLOC_top_srcdir="@HWLOC_top_srcdir@"
 
 HWLOC_PLUGINS_PATH=${HWLOC_top_builddir}/src
@@ -39,14 +39,14 @@ output2="test-hwloc-diffpatch.output2"
 
 set -e
 
-$diff $HWLOC_top_srcdir/utils/test-hwloc-diffpatch.input1 $HWLOC_top_srcdir/utils/test-hwloc-diffpatch.input2 > $diffoutput
-cp $HWLOC_top_srcdir/utils/test-hwloc-diffpatch.input1 .
-#cat $diffoutput | $patch $HWLOC_top_srcdir/utils/test-hwloc-diffpatch.input1 - $output1
+$diff $HWLOC_top_srcdir/utils/hwloc/test-hwloc-diffpatch.input1 $HWLOC_top_srcdir/utils/hwloc/test-hwloc-diffpatch.input2 > $diffoutput
+cp $HWLOC_top_srcdir/utils/hwloc/test-hwloc-diffpatch.input1 .
+#cat $diffoutput | $patch $HWLOC_top_srcdir/utils/hwloc/test-hwloc-diffpatch.input1 - $output1
 cat $diffoutput | $patch refname - $output1
-$patch -R $HWLOC_top_srcdir/utils/test-hwloc-diffpatch.input2 $diffoutput $output2
+$patch -R $HWLOC_top_srcdir/utils/hwloc/test-hwloc-diffpatch.input2 $diffoutput $output2
 
-diff -u $HWLOC_top_srcdir/utils/test-hwloc-diffpatch.input1 "$output2"
-diff -u $HWLOC_top_srcdir/utils/test-hwloc-diffpatch.input2 "$output1"
+diff -u $HWLOC_top_srcdir/utils/hwloc/test-hwloc-diffpatch.input1 "$output2"
+diff -u $HWLOC_top_srcdir/utils/hwloc/test-hwloc-diffpatch.input2 "$output1"
 
 cd ..
 rm -rf "$tmp"
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-distances.output b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-distances.output
similarity index 87%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-distances.output
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-distances.output
index 41fb1cd..5e47dc9 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-distances.output
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-distances.output
@@ -1,10 +1,10 @@
 
-Latency matrix between 2 Sockets (depth 1) by physical indexes (below Machine P#0):
+Relative latency matrix between 2 Packages (depth 1) by physical indexes (below Machine P#0):
   index     0     1
       0 780000.000 1520000.000
       1 15200.000 1.000
 
-Latency matrix between 16 PUs (depth 4) by logical indexes (below Machine L#0):
+Relative latency matrix between 16 PUs (depth 4) by logical indexes (below Machine L#0):
   index     0     1     2     3     4     5     6     7     8     9    10    11    12    13    14    15
       0 1.000 2.000 2.000 2.000 4.000 4.000 4.000 4.000 8.000 8.000 8.000 8.000 8.000 8.000 8.000 8.000
       1 2.000 1.000 2.000 2.000 4.000 4.000 4.000 4.000 8.000 8.000 8.000 8.000 8.000 8.000 8.000 8.000
@@ -23,13 +23,13 @@ Latency matrix between 16 PUs (depth 4) by logical indexes (below Machine L#0):
      14 8.000 8.000 8.000 8.000 8.000 8.000 8.000 8.000 4.000 4.000 4.000 4.000 2.000 2.000 1.000 2.000
      15 8.000 8.000 8.000 8.000 8.000 8.000 8.000 8.000 4.000 4.000 4.000 4.000 2.000 2.000 2.000 1.000
 
-Latency matrix between 4 Cores (depth 2) by physical indexes (below Machine P#0):
+Relative latency matrix between 4 Cores (depth 2) by physical indexes (below Machine P#0):
   index     0     1     2     3
       0 1.000 4.000 8.000 8.000
       1 4.000 1.000 8.000 8.000
       2 8.000 8.000 1.000 4.000
       3 8.000 8.000 4.000 1.000
-Latency matrix between 12 PUs (depth 4) by physical indexes (below Group0 P#4294967295):
+Relative latency matrix between 12 PUs (depth 4) by physical indexes (below Group0 P#4294967295):
   index     0     2     4     1     3     5     6     8    10     7     9    11
       0 1.000 2.000 2.000 4.000 4.000 4.000 8.000 8.000 8.000 8.000 8.000 8.000
       2 2.000 1.000 2.000 4.000 4.000 4.000 8.000 8.000 8.000 8.000 8.000 8.000
@@ -44,7 +44,7 @@ Latency matrix between 12 PUs (depth 4) by physical indexes (below Group0 P#4294
       9 8.000 8.000 8.000 8.000 8.000 8.000 4.000 4.000 4.000 2.000 1.000 2.000
      11 8.000 8.000 8.000 8.000 8.000 8.000 4.000 4.000 4.000 2.000 2.000 1.000
 
-Latency matrix between 4 NUMANodes (depth 3) by logical indexes (below Machine L#1):
+Relative latency matrix between 4 NUMANodes (depth 3) by logical indexes (below Machine L#1):
   index     4     5     6     7
       4 1.000 4.000 8.000 8.000
       5 4.000 1.000 8.000 8.000
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-distances.sh.in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-distances.sh.in
similarity index 76%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-distances.sh.in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-distances.sh.in
index 3cb8a2a..c080e4b 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-distances.sh.in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-distances.sh.in
@@ -2,12 +2,12 @@
 #-*-sh-*-
 
 #
-# Copyright © 2012-2013 Inria.  All rights reserved.
+# Copyright © 2012-2014 Inria.  All rights reserved.
 # See COPYING in top-level directory.
 #
 
 HWLOC_top_builddir="@HWLOC_top_builddir@"
-distances="$HWLOC_top_builddir/utils/hwloc-distances"
+distances="$HWLOC_top_builddir/utils/hwloc/hwloc-distances"
 HWLOC_top_srcdir="@HWLOC_top_srcdir@"
 
 HWLOC_PLUGINS_PATH=${HWLOC_top_builddir}/src
@@ -35,10 +35,10 @@ set -e
   $distances -i "pu:4"
   echo
 
-  HWLOC_Socket_DISTANCES=0,1:23.4,45.6,0.456,0.00003
-  export HWLOC_Socket_DISTANCES
-  $distances -i "sock:2 pu:2" -p
-  HWLOC_Socket_DISTANCES=none
+  HWLOC_Package_DISTANCES=0,1:23.4,45.6,0.456,0.00003
+  export HWLOC_Package_DISTANCES
+  $distances -i "pack:2 pu:2" -p
+  HWLOC_Package_DISTANCES=none
   echo
 
   HWLOC_PU_DISTANCES=0-15:2*2*4
@@ -62,5 +62,5 @@ set -e
   HWLOC_NUMANode_DISTANCES=none
   echo
 ) > "$file"
-diff @HWLOC_DIFF_U@ $HWLOC_top_srcdir/utils/test-hwloc-distances.output "$file"
+diff @HWLOC_DIFF_U@ $HWLOC_top_srcdir/utils/hwloc/test-hwloc-distances.output "$file"
 rm -rf "$tmp"
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-distrib.output b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-distrib.output
new file mode 100644
index 0000000..ffb189c
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-distrib.output
@@ -0,0 +1,96 @@
+0x0000000f
+0x000000f0
+
+0x00000003
+0x0000000c
+0x00000030
+0x000000c0
+
+0x00000001
+0x00000002
+0x00000004
+0x00000008
+0x00000010
+0x00000020
+0x00000040
+0x00000080
+
+0x00000001
+0x00000001
+0x00000002
+0x00000002
+0x00000004
+0x00000004
+0x00000008
+0x00000010
+0x00000010
+0x00000020
+0x00000040
+0x00000040
+0x00000080
+
+0x00000001
+0x00000001
+0x00000002
+0x00000002
+0x00000004
+0x00000004
+0x00000008
+0x00000008
+0x00000010
+0x00000010
+0x00000020
+0x00000020
+0x00000040
+0x00000040
+0x00000080
+0x00000080
+
+0x00000007
+0x000001f8
+0x0003fe00
+0x07fc0000
+
+0x00000001
+0x00000008
+0x00000200
+0x00040000
+
+0x07000000
+0x00fc0000
+0x0003fe00
+0x000001ff
+
+0x04000000
+0x00800000
+0x00020000
+0x00000100
+
+0x000000ff
+0x0000ff00
+
+0x00000001
+0x00000100
+
+0x00008000
+0x00000080
+
+0x000000ff
+0x0000ff00
+0xffff0000
+0x0000ffff,0x0
+0xffff0000,0x0
+0x000000ff,,0x0
+0x0000ff00,,0x0
+0xffff0000,,0x0
+0x0000ffff,,,0x0
+0xffff0000,,,0x0
+0x000000ff,,,,0x0
+0x0000ff00,,,,0x0
+0xffff0000,,,,0x0
+0x0000ffff,,,,,0x0
+0xffff0000,,,,,0x0
+0x0000ffff,,,,,,0x0
+0xffff0000,,,,,,0x0
+0x0000ffff,,,,,,,0x0
+0xffff0000,,,,,,,0x0
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-distrib.sh.in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-distrib.sh.in
similarity index 72%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-distrib.sh.in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-distrib.sh.in
index c2d7276..e7c0ca5 100755
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-distrib.sh.in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-distrib.sh.in
@@ -4,12 +4,12 @@
 #
 # Copyright © 2009 CNRS
 # Copyright © 2009-2014 Inria.  All rights reserved.
-# Copyright © 2009 Université Bordeaux 1
+# Copyright © 2009 Université Bordeaux
 # See COPYING in top-level directory.
 #
 
 HWLOC_top_builddir="@HWLOC_top_builddir@"
-distrib="$HWLOC_top_builddir/utils/hwloc-distrib"
+distrib="$HWLOC_top_builddir/utils/hwloc/hwloc-distrib"
 HWLOC_top_srcdir="@HWLOC_top_srcdir@"
 
 HWLOC_PLUGINS_PATH=${HWLOC_top_builddir}/src
@@ -46,6 +46,14 @@ set -e
   $distrib --if synthetic --input "3 3 3" 4 --reverse
   echo
   $distrib --if synthetic --input "3 3 3" 4 --reverse --single
+  echo
+  $distrib --if synthetic --input "4 4" 2
+  echo
+  $distrib --if synthetic --input "4 4" 2 --single
+  echo
+  $distrib --if synthetic --input "4 4" 2 --reverse --single
+  echo
+  $distrib --if synthetic --input "4 4 4 4" 19
 ) > "$file"
-diff @HWLOC_DIFF_U@ $HWLOC_top_srcdir/utils/test-hwloc-distrib.output "$file"
+diff @HWLOC_DIFF_U@ $HWLOC_top_srcdir/utils/hwloc/test-hwloc-distrib.output "$file"
 rm -rf "$tmp"
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-info.output b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-info.output
similarity index 100%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-info.output
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-info.output
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-info.sh.in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-info.sh.in
similarity index 64%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-info.sh.in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-info.sh.in
index 4ec674b..c7ee79a 100755
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-info.sh.in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-info.sh.in
@@ -3,13 +3,14 @@
 
 #
 # Copyright © 2009 CNRS
-# Copyright © 2009-2013 Inria.  All rights reserved.
-# Copyright © 2009 Université Bordeaux 1
+# Copyright © 2009-2015 Inria.  All rights reserved.
+# Copyright © 2009 Université Bordeaux
 # See COPYING in top-level directory.
 #
 
+HWLOC_VERSION="@HWLOC_VERSION@"
 HWLOC_top_builddir="@HWLOC_top_builddir@"
-info="$HWLOC_top_builddir/utils/hwloc-info"
+info="$HWLOC_top_builddir/utils/hwloc/hwloc-info"
 HWLOC_top_srcdir="@HWLOC_top_srcdir@"
 
 HWLOC_PLUGINS_PATH=${HWLOC_top_builddir}/src
@@ -40,6 +41,12 @@ set -e
   $info --if synthetic --input "node:2 core:2 ca:2 ca:2 pu:2" --ancestor l2 pu:12
   echo
   $info --if synthetic --input "node:2 core:2 ca:2 ca:2 pu:2" --ancestor l1 -s pu:7-10
-) > "$file"
-diff @HWLOC_DIFF_U@ $HWLOC_top_srcdir/utils/test-hwloc-info.output "$file"
+) \
+ | grep -v " info hwlocVersion = $HWLOC_VERSION" \
+ | grep -v " info ProcessName = hwloc-info" \
+ | grep -v " info ProcessName = lt-hwloc-info" \
+ > "$file"
+# filtered hwlocVersion since it often changes
+# filtered ProcessName since it may be hwloc-info or lt-hwloc-info
+diff @HWLOC_DIFF_U@ $HWLOC_top_srcdir/utils/hwloc/test-hwloc-info.output "$file"
 rm -rf "$tmp"
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-fig.c b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-fig.c
deleted file mode 100644
index 636dca7..0000000
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-fig.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright © 2009 CNRS
- * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2010 Université Bordeaux 1
- * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
- * See COPYING in top-level directory.
- */
-
-#include <hwloc.h>
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-
-#include "lstopo.h"
-
-/* .fig back-end.  */
-
-#define FIG_FACTOR 20
-
-static void *
-fig_start(void *output_, int width __hwloc_attribute_unused, int height __hwloc_attribute_unused)
-{
-  FILE *output = output_;
-  fprintf(output, "#FIG 3.2  Produced by hwloc's lstopo\n");
-  fprintf(output, "Landscape\n");
-  fprintf(output, "Center\n");
-  fprintf(output, "Inches\n");
-  fprintf(output, "letter\n");
-  fprintf(output, "100.00\n");	/* magnification */
-  fprintf(output, "Single\n");	/* single page */
-  fprintf(output, "-2\n");	/* no transparent color */
-  fprintf(output, "1200 2\n");	/* 1200 ppi resolution, upper left origin */
-  return output;
-}
-
-static int __hwloc_attribute_const
-rgb_to_fig(int r, int g, int b)
-{
-  if (r == 0xff && g == 0xff && b == 0xff)
-    return 7;
-
-  if (!r && !g && !b)
-    return 0;
-
-  return 32 + rgb_to_color(r, g, b);
-}
-
-static void
-fig_declare_color(void *output_, int r, int g, int b)
-{
-  FILE *output = output_;
-  int color;
-
-  if (r == 0xff && g == 0xff && b == 0xff)
-    return;
-
-  if (!r && !g && !b)
-    return;
-
-  color = declare_color(r, g, b);
-
-  fprintf(output, "0 %d #%02x%02x%02x\n", 32 + color, r, g, b);
-}
-
-static void
-fig_box(void *output_, int r, int g, int b, unsigned depth, unsigned x, unsigned width, unsigned y, unsigned height)
-{
-  FILE *output = output_;
-  x *= FIG_FACTOR;
-  y *= FIG_FACTOR;
-  width *= FIG_FACTOR;
-  height *= FIG_FACTOR;
-  fprintf(output, "2 2 0 1 0 %d %u -1 20 0.0 0 0 -1 0 0 5\n\t", rgb_to_fig(r, g, b), depth);
-  fprintf(output, " %u %u", x, y);
-  fprintf(output, " %u %u", x + width, y);
-  fprintf(output, " %u %u", x + width, y + height);
-  fprintf(output, " %u %u", x, y + height);
-  fprintf(output, " %u %u", x, y);
-  fprintf(output, "\n");
-}
-
-static void
-fig_line(void *output_, int r, int g, int b, unsigned depth, unsigned x1, unsigned y1, unsigned x2, unsigned y2)
-{
-  FILE *output = output_;
-  x1 *= FIG_FACTOR;
-  y1 *= FIG_FACTOR;
-  x2 *= FIG_FACTOR;
-  y2 *= FIG_FACTOR;
-  fprintf(output, "2 1 0 1 0 %d %u -1 -1 0.0 0 0 -1 0 0 2\n\t", rgb_to_fig(r, g, b), depth);
-  fprintf(output, " %u %u", x1, y1);
-  fprintf(output, " %u %u", x2, y2);
-  fprintf(output, "\n");
-}
-
-static void
-fig_text(void *output_, int r, int g, int b, int size, unsigned depth, unsigned x, unsigned y, const char *text)
-{
-  FILE *output = output_;
-  unsigned len = strlen(text);
-  int color = rgb_to_fig(r, g, b);
-  x *= FIG_FACTOR;
-  y *= FIG_FACTOR;
-  size = (size * 16) / 10;
-  fprintf(output, "4 0 %d %u -1 0 %d 0.0 4 %d %u %u %u %s\\001\n", color, depth, size, size * 10, len * size * 10, x, y + size * 10, text);
-}
-
-static struct draw_methods fig_draw_methods = {
-  fig_start,
-  fig_declare_color,
-  fig_box,
-  fig_line,
-  fig_text,
-};
-
-void
-output_fig (hwloc_topology_t topology, const char *filename, int overwrite, int logical, int legend, int verbose_mode __hwloc_attribute_unused)
-{
-  FILE *output = open_output(filename, overwrite);
-  if (!output) {
-    fprintf(stderr, "Failed to open %s for writing (%s)\n", filename, strerror(errno));
-    return;
-  }
-
-  output = output_draw_start(&fig_draw_methods, logical, legend, topology, output);
-  output_draw(&fig_draw_methods, logical, legend, topology, output);
-
-  if (output != stdout)
-    fclose(output);
-}
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/Makefile.am b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/Makefile.am
new file mode 100644
index 0000000..3f89ee3
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/Makefile.am
@@ -0,0 +1,103 @@
+# Copyright © 2009-2015 Inria.  All rights reserved.
+# Copyright © 2009-2012, 2014 Université Bordeaux
+# Copyright © 2009-2014 Cisco Systems, Inc.  All rights reserved.
+#
+# See COPYING in top-level directory.
+
+# This makefile is only reached when building in standalone mode
+
+AM_CFLAGS = $(HWLOC_CFLAGS)
+# Add -I of utils/hwloc for misc.h
+AM_CPPFLAGS = $(HWLOC_CPPFLAGS) -I$(top_srcdir)/utils/hwloc
+AM_LDFLAGS = $(HWLOC_LDFLAGS)
+
+LDADD = $(HWLOC_top_builddir)/src/libhwloc.la
+
+bin_PROGRAMS = \
+        lstopo-no-graphics
+
+EXTRA_DIST = \
+        test-hwloc-ls.output
+
+lstopo_no_graphics_SOURCES = \
+        lstopo.h \
+        lstopo.c \
+        lstopo-color.c \
+        lstopo-draw.c \
+        lstopo-fig.c \
+        lstopo-ascii.c \
+        lstopo-text.c \
+        lstopo-xml.c
+
+lstopo_no_graphics_CFLAGS =
+lstopo_no_graphics_LDADD = $(LDADD) -lm $(HWLOC_TERMCAP_LIBS)
+lstopo_SOURCES = $(lstopo_no_graphics_SOURCES)
+lstopo_CPPFLAGS = $(AM_CPPFLAGS)
+lstopo_LDADD = $(lstopo_no_graphics_LDADD)
+if HWLOC_HAVE_CAIRO
+bin_PROGRAMS += lstopo
+lstopo_SOURCES += lstopo-cairo.c
+lstopo_CPPFLAGS += -DLSTOPO_HAVE_GRAPHICS
+lstopo_CFLAGS = $(lstopo_no_graphics_CFLAGS) $(HWLOC_CAIRO_CFLAGS)
+lstopo_LDADD += $(HWLOC_CAIRO_LIBS) $(HWLOC_X11_LIBS)
+endif
+if HWLOC_HAVE_WINDOWS
+bin_PROGRAMS += lstopo lstopo-win
+lstopo_SOURCES += lstopo-windows.c
+lstopo_CPPFLAGS += -DLSTOPO_HAVE_GRAPHICS
+lstopo_win_SOURCES = $(lstopo_SOURCES)
+lstopo_win_CPPFLAGS = $(lstopo_CPPFLAGS)
+lstopo_win_CFLAGS = $(lstopo_CFLAGS) -mwindows
+lstopo_win_LDADD = $(lstopo_LDADD)
+endif
+
+man1_pages = lstopo-no-graphics.1
+EXTRA_DIST += $(man1_pages:.1=.1in)
+nodist_man_MANS = $(man1_pages)
+
+if !HWLOC_HAVE_MINGW32
+TESTS = \
+        test-hwloc-ls.sh
+endif !HWLOC_HAVE_MINGW32
+
+if HWLOC_HAVE_CAIRO
+# only installed when lstopo is built with Cairo/X11 support
+# so that no terminal is required
+APPLICATIONSdir = @datarootdir@/applications
+dist_APPLICATIONS_DATA = lstopo.desktop
+endif
+
+.1in.1:
+	@ echo Creating $@ man page...
+	@ $(SED) -e 's/#PACKAGE_NAME#/@PACKAGE_NAME@/g' \
+	  -e 's/#PACKAGE_VERSION#/@PACKAGE_VERSION@/g' \
+	  -e 's/#HWLOC_DATE#/@HWLOC_RELEASE_DATE@/g' \
+	  > $@ < $<
+
+install-exec-hook:
+	rm -f $(DESTDIR)$(bindir)/hwloc-ls$(EXEEXT)
+	cd $(DESTDIR)$(bindir) && $(LN_S) lstopo-no-graphics$(EXEEXT) hwloc-ls$(EXEEXT)
+if !HWLOC_HAVE_WINDOWS
+if !HWLOC_HAVE_CAIRO
+	rm -f $(DESTDIR)$(bindir)/lstopo
+	cd $(DESTDIR)$(bindir) && $(LN_S) lstopo-no-graphics$(EXEEXT) lstopo$(EXEEXT) || true
+endif
+endif
+
+install-data-hook:
+	rm -f $(DESTDIR)$(man1dir)/hwloc-ls.1
+	cd $(DESTDIR)$(man1dir) && $(LN_S) lstopo-no-graphics.1 hwloc-ls.1
+	rm -f $(DESTDIR)$(man1dir)/lstopo.1
+	cd $(DESTDIR)$(man1dir) && $(LN_S) lstopo-no-graphics.1 lstopo.1
+
+uninstall-local:
+	rm -f $(DESTDIR)$(bindir)/hwloc-ls$(EXEEXT)
+if !HWLOC_HAVE_WINDOWS
+if !HWLOC_HAVE_CAIRO
+	rm -f $(DESTDIR)$(bindir)/lstopo$(EXEEXT)
+endif
+endif
+	rm -f $(DESTDIR)$(man1dir)/hwloc-ls.1 $(DESTDIR)$(man1dir)/lstopo.1
+
+distclean-local:
+	rm -f $(nodist_man_MANS)
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-text.c b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-ascii.c
similarity index 52%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-text.c
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-ascii.c
index 5d6c27f..218304a 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-text.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-ascii.c
@@ -1,19 +1,19 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2012 Université Bordeaux 1
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2012 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
+/*
+ * Pretty text output
+ */
+
 #include <private/autogen/config.h>
+#include <private/private.h>
 #include <hwloc.h>
 
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-
 #ifdef HAVE_SETLOCALE
 #include <locale.h>
 #endif /* HAVE_SETLOCALE */
@@ -36,252 +36,6 @@
 #endif /* HWLOC_HAVE_LIBTERMCAP */
 
 #include "lstopo.h"
-#include "misc.h"
-
-#define indent(output, i) \
-  fprintf (output, "%*s", (int) i, "");
-
-/*
- * Console fashion text output
- */
-
-static void
-output_console_obj (hwloc_topology_t topology, hwloc_obj_t l, FILE *output, int logical, int verbose_mode)
-{
-  char type[32], *attr, phys[32] = "";
-  unsigned idx = logical ? l->logical_index : l->os_index;
-  const char *indexprefix = logical ? " L#" :  " P#";
-  if (lstopo_show_cpuset < 2) {
-    int len;
-    if (l->type == HWLOC_OBJ_MISC && l->name)
-      fprintf(output, "%s", l->name);
-    else {
-      hwloc_obj_type_snprintf (type, sizeof(type), l, verbose_mode-1);
-      fprintf(output, "%s", type);
-    }
-    if (l->depth != 0 && idx != (unsigned)-1
-        && l->type != HWLOC_OBJ_PCI_DEVICE
-        && (l->type != HWLOC_OBJ_BRIDGE || l->attr->bridge.upstream_type == HWLOC_OBJ_BRIDGE_HOST))
-      fprintf(output, "%s%u", indexprefix, idx);
-    if (logical && l->os_index != (unsigned) -1 &&
-	(verbose_mode >= 2 || l->type == HWLOC_OBJ_PU || l->type == HWLOC_OBJ_NODE))
-      snprintf(phys, sizeof(phys), "P#%u", l->os_index);
-    len = hwloc_obj_attr_snprintf (NULL, 0, l, " ", verbose_mode-1);
-    attr = malloc(len+1);
-    *attr = '\0';
-    hwloc_obj_attr_snprintf (attr, len+1, l, " ", verbose_mode-1);
-    if (*phys || *attr) {
-      const char *separator = *phys != '\0' && *attr!= '\0' ? " " : "";
-      fprintf(output, " (%s%s%s)",
-	      phys, separator, attr);
-    }
-    free(attr);
-    if ((l->type == HWLOC_OBJ_OS_DEVICE || verbose_mode >= 2) && l->name && l->type != HWLOC_OBJ_MISC)
-      fprintf(output, " \"%s\"", l->name);
-  }
-  if (!l->cpuset)
-    return;
-  if (lstopo_show_cpuset == 1)
-    fprintf(output, " cpuset=");
-  if (lstopo_show_cpuset) {
-    char *cpusetstr;
-    if (lstopo_show_taskset)
-      hwloc_bitmap_taskset_asprintf(&cpusetstr, l->cpuset);
-    else
-      hwloc_bitmap_asprintf(&cpusetstr, l->cpuset);
-    fprintf(output, "%s", cpusetstr);
-    free(cpusetstr);
-  }
-
-  /* annotate if the PU is forbidden/offline/running */
-  if (l->type == HWLOC_OBJ_PU && verbose_mode >= 2) {
-    if (lstopo_pu_offline(l))
-      printf(" (offline)");
-    else if (lstopo_pu_forbidden(l))
-      printf(" (forbidden)");
-    else if (lstopo_pu_running(topology, l))
-      printf(" (running)");
-  }
-}
-
-/* Recursively output topology in a console fashion */
-static void
-output_topology (hwloc_topology_t topology, hwloc_obj_t l, hwloc_obj_t parent, FILE *output, int i, int logical, int verbose_mode)
-{
-  unsigned x;
-  int group_identical = (verbose_mode <= 1) && !lstopo_show_cpuset;
-  if (group_identical
-      && parent && parent->arity == 1
-      && l->cpuset && parent->cpuset && hwloc_bitmap_isequal(l->cpuset, parent->cpuset)) {
-    /* in non-verbose mode, merge objects with their parent is they are exactly identical */
-    fprintf(output, " + ");
-  } else {
-    if (parent)
-      fprintf(output, "\n");
-    indent (output, 2*i);
-    i++;
-  }
-  output_console_obj(topology, l, output, logical, verbose_mode);
-  if (l->arity || (!i && !l->arity))
-    {
-      for (x=0; x<l->arity; x++)
-	if (l->children[x]->type != HWLOC_OBJ_PU || !lstopo_ignore_pus)
-	  output_topology (topology, l->children[x], l, output, i, logical, verbose_mode);
-  }
-}
-
-/* Recursive so that multiple depth types are properly shown */
-static void
-output_only (hwloc_topology_t topology, hwloc_obj_t l, FILE *output, int logical, int verbose_mode)
-{
-  unsigned x;
-  if (lstopo_show_only == l->type) {
-    output_console_obj (topology, l, output, logical, verbose_mode);
-    fprintf (output, "\n");
-  }
-  for (x=0; x<l->arity; x++)
-    output_only (topology, l->children[x], output, logical, verbose_mode);
-}
-
-void output_console(hwloc_topology_t topology, const char *filename, int overwrite, int logical, int legend __hwloc_attribute_unused, int verbose_mode)
-{
-  unsigned topodepth;
-  FILE *output;
-
-  output = open_output(filename, overwrite);
-  if (!output) {
-    fprintf(stderr, "Failed to open %s for writing (%s)\n", filename, strerror(errno));
-    return;
-  }
-
-  topodepth = hwloc_topology_get_depth(topology);
-
-  /*
-   * if verbose_mode == 0, only print the summary.
-   * if verbose_mode == 1, only print the topology tree.
-   * if verbose_mode > 1, print both.
-   */
-
-  if (lstopo_show_only != (hwloc_obj_type_t)-1) {
-    if (verbose_mode > 1)
-      fprintf(output, "Only showing %s objects\n", hwloc_obj_type_string(lstopo_show_only));
-    output_only (topology, hwloc_get_root_obj(topology), output, logical, verbose_mode);
-  } else if (verbose_mode >= 1) {
-    output_topology (topology, hwloc_get_root_obj(topology), NULL, output, 0, logical, verbose_mode);
-    fprintf(output, "\n");
-  }
-
-  if ((verbose_mode > 1 || !verbose_mode) && lstopo_show_only == (hwloc_obj_type_t)-1) {
-    hwloc_lstopo_show_summary(output, topology);
- }
-
-  if (verbose_mode > 1 && lstopo_show_only == (hwloc_obj_type_t)-1) {
-    const struct hwloc_distances_s * distances;
-    unsigned depth;
-
-    for (depth = 0; depth < topodepth; depth++) {
-      distances = hwloc_get_whole_distance_matrix_by_depth(topology, depth);
-      if (!distances || !distances->latency)
-        continue;
-      printf("latency matrix between %ss (depth %u) by %s indexes:\n",
-	     hwloc_obj_type_string(hwloc_get_depth_type(topology, depth)),
-	     depth,
-	     logical ? "logical" : "physical");
-      hwloc_utils_print_distance_matrix(topology, hwloc_get_root_obj(topology), distances->nbobjs, depth, distances->latency, logical);
-    }
-  }
-
-  if (verbose_mode > 1 && lstopo_show_only == (hwloc_obj_type_t)-1) {
-    hwloc_const_bitmap_t complete = hwloc_topology_get_complete_cpuset(topology);
-    hwloc_const_bitmap_t topo = hwloc_topology_get_topology_cpuset(topology);
-    hwloc_const_bitmap_t online = hwloc_topology_get_online_cpuset(topology);
-    hwloc_const_bitmap_t allowed = hwloc_topology_get_allowed_cpuset(topology);
-
-    if (complete && !hwloc_bitmap_isequal(topo, complete)) {
-      hwloc_bitmap_t unknown = hwloc_bitmap_alloc();
-      char *unknownstr;
-      hwloc_bitmap_copy(unknown, complete);
-      hwloc_bitmap_andnot(unknown, unknown, topo);
-      hwloc_bitmap_asprintf(&unknownstr, unknown);
-      fprintf (output, "%d processors not represented in topology: %s\n", hwloc_bitmap_weight(unknown), unknownstr);
-      free(unknownstr);
-      hwloc_bitmap_free(unknown);
-    }
-    if (complete && !hwloc_bitmap_isequal(online, complete)) {
-      hwloc_bitmap_t offline = hwloc_bitmap_alloc();
-      char *offlinestr;
-      hwloc_bitmap_copy(offline, complete);
-      hwloc_bitmap_andnot(offline, offline, online);
-      hwloc_bitmap_asprintf(&offlinestr, offline);
-      fprintf (output, "%d processors offline: %s\n", hwloc_bitmap_weight(offline), offlinestr);
-      free(offlinestr);
-      hwloc_bitmap_free(offline);
-    }
-    if (complete && !hwloc_bitmap_isequal(allowed, online)) {
-      if (!hwloc_bitmap_isincluded(online, allowed)) {
-        hwloc_bitmap_t forbidden = hwloc_bitmap_alloc();
-        char *forbiddenstr;
-        hwloc_bitmap_copy(forbidden, online);
-        hwloc_bitmap_andnot(forbidden, forbidden, allowed);
-        hwloc_bitmap_asprintf(&forbiddenstr, forbidden);
-        fprintf(output, "%d processors online but not allowed: %s\n", hwloc_bitmap_weight(forbidden), forbiddenstr);
-        free(forbiddenstr);
-        hwloc_bitmap_free(forbidden);
-      }
-      if (!hwloc_bitmap_isincluded(allowed, online)) {
-        hwloc_bitmap_t potential = hwloc_bitmap_alloc();
-        char *potentialstr;
-        hwloc_bitmap_copy(potential, allowed);
-        hwloc_bitmap_andnot(potential, potential, online);
-        hwloc_bitmap_asprintf(&potentialstr, potential);
-        fprintf(output, "%d processors allowed but not online: %s\n", hwloc_bitmap_weight(potential), potentialstr);
-        free(potentialstr);
-        hwloc_bitmap_free(potential);
-      }
-    }
-    if (!hwloc_topology_is_thissystem(topology))
-      fprintf (output, "Topology not from this system\n");
-  }
-
-  if (output != stdout)
-    fclose(output);
-}
-
-void output_synthetic(hwloc_topology_t topology, const char *filename, int overwrite, int logical __hwloc_attribute_unused, int legend __hwloc_attribute_unused, int verbose_mode __hwloc_attribute_unused)
-{
-  FILE *output;
-  hwloc_obj_t obj = hwloc_get_root_obj(topology);
-  int arity;
-
-  if (!obj->symmetric_subtree) {
-    fprintf(stderr, "Cannot output assymetric topology in synthetic format.\n");
-    fprintf(stderr, "Adding --no-io may help making the topology symmetric.\n");
-    return;
-  }
-
-  output = open_output(filename, overwrite);
-  if (!output) {
-    fprintf(stderr, "Failed to open %s for writing (%s)\n", filename, strerror(errno));
-    return;
-  }
-
-  arity = obj->arity;
-  while (arity) {
-    char types[64];
-    obj = obj->first_child;
-    hwloc_obj_type_snprintf(types, sizeof(types), obj, 1);
-    fprintf(output, "%s:%u ", types, arity);
-    arity = obj->arity;
-  }
-  fprintf(output, "\n");
-
-  if (output != stdout)
-    fclose(output);
-}
-
-/*
- * Pretty text output
- */
 
 /* Uses unicode bars if available */
 #ifdef HAVE_PUTWC
@@ -309,25 +63,34 @@ struct cell {
 #endif /* HWLOC_HAVE_LIBTERMCAP */
 };
 
-struct display {
+struct lstopo_ascii_output {
+  struct lstopo_output loutput; /* must be at the beginning */
   struct cell **cells;
   int width;
   int height;
   int utf8;
+  int drawing;
 };
 
+static struct draw_methods ascii_draw_methods;
+
 /* Allocate the off-screen buffer */
-static void *
-text_start(void *output __hwloc_attribute_unused, int width, int height)
+static void
+ascii_init(void *_output)
 {
+  struct lstopo_ascii_output *disp = _output;
+  unsigned width, height;
   int j, i;
-  struct display *disp = malloc(sizeof(*disp));
+
+  /* compute the required size */
+  disp->drawing = 0;
+  output_draw(&disp->loutput);
+  width = disp->width;
+  height = disp->height;
+  disp->drawing = 1;
+
   /* terminals usually have narrow characters, so let's make them wider */
-  width /= (gridsize/2);
-  height /= gridsize;
   disp->cells = malloc(height * sizeof(*disp->cells));
-  disp->width = width;
-  disp->height = height;
   for (j = 0; j < height; j++) {
     disp->cells[j] = calloc(width, sizeof(**disp->cells));
     for (i = 0; i < width; i++)
@@ -336,7 +99,6 @@ text_start(void *output __hwloc_attribute_unused, int width, int height)
 #ifdef HAVE_NL_LANGINFO
   disp->utf8 = !strcmp(nl_langinfo(CODESET), "UTF-8");
 #endif /* HAVE_NL_LANGINFO */
-  return disp;
 }
 
 #ifdef HWLOC_HAVE_LIBTERMCAP
@@ -407,15 +169,23 @@ set_color(int fr, int fg, int fb, int br, int bg, int bb)
 
 /* We we can, allocate rgb colors */
 static void
-text_declare_color(void *output __hwloc_attribute_unused, int r __hwloc_attribute_unused, int g __hwloc_attribute_unused, int b __hwloc_attribute_unused)
+ascii_declare_color(void *output __hwloc_attribute_unused, int r __hwloc_attribute_unused, int g __hwloc_attribute_unused, int b __hwloc_attribute_unused)
 {
+  struct lstopo_ascii_output *disp = output;
 #ifdef HWLOC_HAVE_LIBTERMCAP
-  int color = declare_color(r, g, b);
-  /* Yes, values seem to range from 0 to 1000 inclusive */
-  int rr = (r * 1001) / 256;
-  int gg = (g * 1001) / 256;
-  int bb = (b * 1001) / 256;
+  int color, rr, gg, bb;
   char *toput;
+#endif
+
+  if (!disp->drawing)
+    return;
+
+#ifdef HWLOC_HAVE_LIBTERMCAP
+  color = declare_color(r, g, b);
+  /* Yes, values seem to range from 0 to 1000 inclusive */
+  rr = (r * 1001) / 256;
+  gg = (g * 1001) / 256;
+  bb = (b * 1001) / 256;
 
   if (initc) {
     if ((toput = tparm(initc, color + 16, rr, gg, bb, 0, 0, 0, 0, 0)))
@@ -429,7 +199,7 @@ text_declare_color(void *output __hwloc_attribute_unused, int r __hwloc_attribut
 
 /* output text, erasing any previous content */
 static void
-put(struct display *disp, int x, int y, character c, int fr __hwloc_attribute_unused, int fg __hwloc_attribute_unused, int fb __hwloc_attribute_unused, int br __hwloc_attribute_unused, int bg __hwloc_attribute_unused, int bb __hwloc_attribute_unused)
+put(struct lstopo_ascii_output *disp, int x, int y, character c, int fr __hwloc_attribute_unused, int fg __hwloc_attribute_unused, int fb __hwloc_attribute_unused, int br __hwloc_attribute_unused, int bg __hwloc_attribute_unused, int bb __hwloc_attribute_unused)
 {
   if (x >= disp->width || y >= disp->height) {
     /* fprintf(stderr, "%"PRIchar" overflowed to (%d,%d)\n", c, x, y); */
@@ -460,7 +230,7 @@ enum {
 
 /* Convert a bar character into its directions */
 static int
-to_directions(struct display *disp, character c)
+to_directions(struct lstopo_ascii_output *disp, character c)
 {
 #ifdef HAVE_PUTWC
   if (disp->utf8) {
@@ -498,7 +268,7 @@ to_directions(struct display *disp, character c)
 
 /* Produce a bar character given the wanted directions */
 static character
-from_directions(struct display *disp, int direction)
+from_directions(struct lstopo_ascii_output *disp, int direction)
 {
 #ifdef HAVE_PUTWC
   if (disp->utf8) {
@@ -546,7 +316,7 @@ from_directions(struct display *disp, int direction)
 
 /* output bars, merging with existing bars: `andnot' are removed, `or' are added */
 static void
-merge(struct display *disp, int x, int y, int or, int andnot, int r, int g, int b)
+merge(struct lstopo_ascii_output *disp, int x, int y, int or, int andnot, int r, int g, int b)
 {
   character current;
   int directions;
@@ -561,9 +331,9 @@ merge(struct display *disp, int x, int y, int or, int andnot, int r, int g, int
 
 /* Now we can implement the standard drawing helpers */
 static void
-text_box(void *output, int r, int g, int b, unsigned depth __hwloc_attribute_unused, unsigned x1, unsigned width, unsigned y1, unsigned height)
+ascii_box(void *output, int r, int g, int b, unsigned depth __hwloc_attribute_unused, unsigned x1, unsigned width, unsigned y1, unsigned height)
 {
-  struct display *disp = output;
+  struct lstopo_ascii_output *disp = output;
   unsigned i, j;
   unsigned x2, y2;
   x1 /= (gridsize/2);
@@ -573,6 +343,18 @@ text_box(void *output, int r, int g, int b, unsigned depth __hwloc_attribute_unu
   x2 = x1 + width - 1;
   y2 = y1 + height - 1;
 
+  if (!disp->drawing) {
+    if (x1 >= disp->width)
+      disp->width = x1+1;
+    if (x2 >= disp->width)
+      disp->width = x2+1;
+    if (y1 >= disp->height)
+      disp->height = y1+1;
+    if (y2 >= disp->height)
+      disp->height = y2+1;
+    return;
+  }
+
   /* Corners */
   merge(disp, x1, y1, down|right, 0, r, g, b);
   merge(disp, x2, y1, down|left, 0, r, g, b);
@@ -599,9 +381,9 @@ text_box(void *output, int r, int g, int b, unsigned depth __hwloc_attribute_unu
 }
 
 static void
-text_line(void *output, int r __hwloc_attribute_unused, int g __hwloc_attribute_unused, int b __hwloc_attribute_unused, unsigned depth __hwloc_attribute_unused, unsigned x1, unsigned y1, unsigned x2, unsigned y2)
+ascii_line(void *output, int r __hwloc_attribute_unused, int g __hwloc_attribute_unused, int b __hwloc_attribute_unused, unsigned depth __hwloc_attribute_unused, unsigned x1, unsigned y1, unsigned x2, unsigned y2)
 {
-  struct display *disp = output;
+  struct lstopo_ascii_output *disp = output;
   unsigned i, j, z;
   x1 /= (gridsize/2);
   y1 /= gridsize;
@@ -620,6 +402,14 @@ text_line(void *output, int r __hwloc_attribute_unused, int g __hwloc_attribute_
     y2 = z;
   }
 
+  if (!disp->drawing) {
+    if (x2 >= disp->width)
+      disp->width = x2+1;
+    if (y2 >= disp->height)
+      disp->height = y2+1;
+    return;
+  }
+
   /* vertical/horizontal should be enough, but should mix with existing
    * characters for better output ! */
 
@@ -649,9 +439,13 @@ text_line(void *output, int r __hwloc_attribute_unused, int g __hwloc_attribute_
 }
 
 static void
-text_text(void *output, int r, int g, int b, int size __hwloc_attribute_unused, unsigned depth __hwloc_attribute_unused, unsigned x, unsigned y, const char *text)
+ascii_text(void *output, int r, int g, int b, int size __hwloc_attribute_unused, unsigned depth __hwloc_attribute_unused, unsigned x, unsigned y, const char *text)
 {
-  struct display *disp = output;
+  struct lstopo_ascii_output *disp = output;
+
+  if (!disp->drawing)
+    return;
+
   x /= (gridsize/2);
   y /= gridsize;
 
@@ -670,18 +464,25 @@ text_text(void *output, int r, int g, int b, int size __hwloc_attribute_unused,
 #endif
 }
 
-static struct draw_methods text_draw_methods = {
-  text_start,
-  text_declare_color,
-  text_box,
-  text_line,
-  text_text,
+void
+ascii_textsize(void *output __hwloc_attribute_unused, const char *text __hwloc_attribute_unused, unsigned textlength, unsigned fontsize __hwloc_attribute_unused, unsigned *width)
+{
+  *width = textlength*(gridsize/2);
+}
+
+static struct draw_methods ascii_draw_methods = {
+  ascii_init,
+  ascii_declare_color,
+  ascii_box,
+  ascii_line,
+  ascii_text,
+  ascii_textsize,
 };
 
-void output_text(hwloc_topology_t topology, const char *filename, int overwrite, int logical, int legend, int verbose_mode __hwloc_attribute_unused)
+void output_ascii(struct lstopo_output *loutput, const char *filename)
 {
   FILE *output;
-  struct display *disp;
+  struct lstopo_ascii_output _disp, *disp = &_disp;
   int i, j;
   int lfr, lfg, lfb; /* Last foreground color */
   int lbr, lbg, lbb; /* Last background color */
@@ -690,7 +491,7 @@ void output_text(hwloc_topology_t topology, const char *filename, int overwrite,
   char *tmp;
 #endif
 
-  output = open_output(filename, overwrite);
+  output = open_output(filename, loutput->overwrite);
   if (!output) {
     fprintf(stderr, "Failed to open %s for writing (%s)\n", filename, strerror(errno));
     return;
@@ -733,8 +534,13 @@ void output_text(hwloc_topology_t topology, const char *filename, int overwrite,
   }
 #endif /* HWLOC_HAVE_LIBTERMCAP */
 
-  disp = output_draw_start(&text_draw_methods, logical, legend, topology, output);
-  output_draw(&text_draw_methods, logical, legend, topology, disp);
+  memcpy(&disp->loutput, loutput, sizeof(*loutput));
+  disp->loutput.methods = &ascii_draw_methods;
+  disp->width = 0;
+  disp->height = 0;
+
+  output_draw_start(&disp->loutput);
+  output_draw(&disp->loutput);
 
   lfr = lfg = lfb = -1;
   lbr = lbg = lbb = -1;
@@ -776,6 +582,10 @@ void output_text(hwloc_topology_t topology, const char *filename, int overwrite,
     putcharacter('\n', output);
   }
 
+  for (j = 0; j < disp->height; j++)
+    free(disp->cells[j]);
+  free(disp->cells);
+
   if (output != stdout)
     fclose(output);
 }
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-cairo.c b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-cairo.c
similarity index 53%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-cairo.c
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-cairo.c
index d1fc950..1bc84aa 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-cairo.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-cairo.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2010, 2014 Université Bordeaux 1
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2010, 2014 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -47,11 +47,34 @@
 #include "lstopo.h"
 
 #if (CAIRO_HAS_XLIB_SURFACE + CAIRO_HAS_PNG_FUNCTIONS + CAIRO_HAS_PDF_SURFACE + CAIRO_HAS_PS_SURFACE + CAIRO_HAS_SVG_SURFACE)
+struct lstopo_cairo_output {
+  struct lstopo_output loutput; /* must be at the beginning */
+  cairo_surface_t *surface;
+  cairo_t *context;
+  unsigned max_x;
+  unsigned max_y;
+  int drawing;
+};
+
 /* Cairo methods */
 static void
-topo_cairo_box(void *output, int r, int g, int b, unsigned depth __hwloc_attribute_unused, unsigned x, unsigned width, unsigned y, unsigned height)
+topo_cairo_box(void *_output, int r, int g, int b, unsigned depth __hwloc_attribute_unused, unsigned x, unsigned width, unsigned y, unsigned height)
 {
-  cairo_t *c = output;
+  struct lstopo_cairo_output *coutput = _output;
+  cairo_t *c = coutput->context;
+
+  if (!coutput->drawing) {
+    if (x > coutput->max_x)
+      coutput->max_x = x;
+    if (x + width > coutput->max_x)
+      coutput->max_x = x + width;
+    if (y > coutput->max_y)
+      coutput->max_y = y;
+    if (y + height > coutput->max_y)
+      coutput->max_y = y + height;
+    return;
+  }
+
   cairo_rectangle(c, x, y, width, height);
   cairo_set_source_rgb(c, (float)r / 255, (float) g / 255, (float) b / 255);
   cairo_fill(c);
@@ -63,9 +86,23 @@ topo_cairo_box(void *output, int r, int g, int b, unsigned depth __hwloc_attribu
 }
 
 static void
-topo_cairo_line(void *output, int r, int g, int b, unsigned depth __hwloc_attribute_unused, unsigned x1, unsigned y1, unsigned x2, unsigned y2)
+topo_cairo_line(void *_output, int r, int g, int b, unsigned depth __hwloc_attribute_unused, unsigned x1, unsigned y1, unsigned x2, unsigned y2)
 {
-  cairo_t *c = output;
+  struct lstopo_cairo_output *coutput = _output;
+  cairo_t *c = coutput->context;
+
+  if (!coutput->drawing) {
+    if (x1 > coutput->max_x)
+      coutput->max_x = x1;
+    if (x2 > coutput->max_x)
+      coutput->max_x = x2;
+    if (y1 > coutput->max_y)
+      coutput->max_y = y1;
+    if (y2 > coutput->max_y)
+      coutput->max_y = y2;
+    return;
+  }
+
   cairo_move_to(c, x1, y1);
   cairo_set_source_rgb(c, (float) r / 255, (float) g / 255, (float) b / 255);
   cairo_set_line_width(c, 1);
@@ -74,15 +111,30 @@ topo_cairo_line(void *output, int r, int g, int b, unsigned depth __hwloc_attrib
 }
 
 static void
-topo_cairo_text(void *output, int r, int g, int b, int size, unsigned depth __hwloc_attribute_unused, unsigned x, unsigned y, const char *text)
+topo_cairo_text(void *_output, int r, int g, int b, int fontsize, unsigned depth __hwloc_attribute_unused, unsigned x, unsigned y, const char *text)
 {
-  cairo_t *c = output;
-  cairo_move_to(c, x, y + size);
-  cairo_set_font_size(c, size);
+  struct lstopo_cairo_output *coutput = _output;
+  cairo_t *c = coutput->context;
+
+  if (!coutput->drawing)
+    return;
+
+  cairo_move_to(c, x, y + fontsize);
   cairo_set_source_rgb(c, (float)r / 255, (float) g / 255, (float) b / 255);
   cairo_show_text(c, text);
 }
 
+static void
+topo_cairo_textsize(void *_output, const char *text, unsigned textlength __hwloc_attribute_unused, unsigned fontsize __hwloc_attribute_unused, unsigned *width)
+{
+  struct lstopo_cairo_output *coutput = _output;
+  cairo_t *c = coutput->context;
+  cairo_text_extents_t extents;
+  cairo_text_extents(c, text, &extents);
+  *width = extents.width;
+}
+
+
 #if (CAIRO_HAS_PNG_FUNCTIONS + CAIRO_HAS_PDF_SURFACE + CAIRO_HAS_PS_SURFACE + CAIRO_HAS_SVG_SURFACE)
 static cairo_status_t
 topo_cairo_write(void *closure, const unsigned char *data, unsigned int length)
@@ -94,13 +146,16 @@ topo_cairo_write(void *closure, const unsigned char *data, unsigned int length)
 #endif /* (CAIRO_HAS_PNG_FUNCTIONS + CAIRO_HAS_PDF_SURFACE + CAIRO_HAS_PS_SURFACE + CAIRO_HAS_SVG_SURFACE) */
 
 static void
-topo_cairo_paint(struct draw_methods *methods, int logical, int legend, hwloc_topology_t topology, cairo_surface_t *cs)
+topo_cairo_paint(struct lstopo_cairo_output *coutput)
 {
-  cairo_t *c;
-  c = cairo_create(cs);
-  output_draw(methods, logical, legend, topology, c);
+  cairo_surface_t *cs = coutput->surface;
+  cairo_t *c = cairo_create(cs);
+  coutput->context = c;
+  cairo_set_font_size(c, fontsize);
+  output_draw(&coutput->loutput);
   cairo_show_page(c);
   cairo_destroy(c);
+  coutput->context = NULL;
 }
 
 static void null_declare_color (void *output __hwloc_attribute_unused, int r __hwloc_attribute_unused, int g __hwloc_attribute_unused, int b __hwloc_attribute_unused) {}
@@ -109,11 +164,12 @@ static void null_declare_color (void *output __hwloc_attribute_unused, int r __h
 
 #if CAIRO_HAS_XLIB_SURFACE
 /* X11 back-end */
+static struct draw_methods x11_draw_methods;
 
-struct display {
+struct lstopo_x11_output {
+  struct lstopo_cairo_output coutput; /* must be at the beginning */
   Display *dpy;
   int scr;
-  cairo_surface_t *cs;
   Window top, win;
   Cursor hand;
   unsigned int orig_fontsize, orig_gridsize;
@@ -124,7 +180,7 @@ struct display {
 };
 
 static void
-x11_create(struct display *disp, int width, int height)
+x11_create(struct lstopo_x11_output *disp, int width, int height)
 {
   disp->win = XCreateSimpleWindow(disp->dpy, disp->top, 0, 0, width, height, 0, WhitePixel(disp->dpy, disp->scr), WhitePixel(disp->dpy, disp->scr));
   disp->hand = XCreateFontCursor(disp->dpy, XC_fleur);
@@ -135,73 +191,85 @@ x11_create(struct display *disp, int width, int height)
       PointerMotionMask |
       ExposureMask);
   XMapWindow(disp->dpy, disp->win);
-  disp->cs = cairo_xlib_surface_create(disp->dpy, disp->win, DefaultVisual(disp->dpy, disp->scr), width, height);
-
+  disp->coutput.surface = cairo_xlib_surface_create(disp->dpy, disp->win, DefaultVisual(disp->dpy, disp->scr), width, height);
 }
 
 static void
-x11_destroy(struct display *disp)
+x11_destroy(struct lstopo_x11_output *disp)
 {
-  cairo_surface_destroy(disp->cs);
+  cairo_surface_destroy(disp->coutput.surface);
   XDestroyWindow(disp->dpy, disp->win);
 }
 
-static void *
-x11_start(void *output __hwloc_attribute_unused, int width, int height)
+static void
+x11_init(void *_disp)
 {
+  struct lstopo_x11_output *disp = _disp;
+  struct lstopo_cairo_output *coutput = &disp->coutput;
   Display *dpy;
   Window root, top;
   int scr;
   Screen *screen;
-  int screen_width = width, screen_height = height;
-  struct display *disp;
+  int screen_width, screen_height;
 
+  /* create the toplevel window */
   if (!(dpy = XOpenDisplay(NULL))) {
     fprintf(stderr, "couldn't connect to X\n");
     exit(EXIT_FAILURE);
   }
 
-  disp = malloc(sizeof(*disp));
   disp->dpy = dpy;
   disp->scr = scr = DefaultScreen(dpy);
-
   screen = ScreenOfDisplay(dpy, scr);
+
+  /* compute the maximal needed size using the root window */
+  root = RootWindow(dpy, scr);
+  disp->top = root;
+  coutput->drawing = 0;
+  x11_create(disp, 1, 1);
+  topo_cairo_paint(coutput);
+  x11_destroy(disp);
+  coutput->drawing = 1;
+
+  /* now create the actual window with the computed max size */
+  screen_width = coutput->max_x;
+  screen_height = coutput->max_y;
+
+  disp->top = top = XCreateSimpleWindow(dpy, root, 0, 0, screen_width, screen_height, 0, WhitePixel(dpy, scr), WhitePixel(dpy, scr));
+  XStoreName(dpy, top, "lstopo");
+  XSetIconName(dpy, top, "lstopo");
+  XSelectInput(dpy,top, StructureNotifyMask);
+
   if (screen_width >= screen->width)
     screen_width = screen->width;
   if (screen_height >= screen->height)
     screen_height = screen->height;
   disp->screen_width = screen_width;
   disp->screen_height = screen_height;
-  disp->width = width;
-  disp->height = height;
+  disp->width = coutput->max_x;
+  disp->height = coutput->max_y;
   disp->orig_fontsize = fontsize;
   disp->orig_gridsize = gridsize;
   disp->x = 0;
   disp->y = 0;
 
-  root = RootWindow(dpy, scr);
-  disp->top = top = XCreateSimpleWindow(dpy, root, 0, 0, screen_width, screen_height, 0, WhitePixel(dpy, scr), WhitePixel(dpy, scr));
-  XStoreName(dpy, top, "lstopo");
-  XSetIconName(dpy, top, "lstopo");
-  XSelectInput(dpy,top, StructureNotifyMask);
-  XMapWindow(dpy, top);
-
-  x11_create(disp, width, height);
+  x11_create(disp, coutput->max_x, coutput->max_y);
 
-  return disp;
+  XMapWindow(dpy, top);
 }
 
 static struct draw_methods x11_draw_methods = {
-  x11_start,
+  x11_init,
   null_declare_color,
   topo_cairo_box,
   topo_cairo_line,
   topo_cairo_text,
+  topo_cairo_textsize,
 };
 
 /** Clip coordinates of the visible part. */
 static void
-move_x11(struct display *disp, int logical, int legend, hwloc_topology_t topology)
+move_x11(struct lstopo_x11_output *disp)
 {
   if (disp->width <= disp->screen_width) {
     disp->x = 0;
@@ -243,20 +311,30 @@ move_x11(struct display *disp, int logical, int legend, hwloc_topology_t topolog
 
     x11_destroy(disp);
     x11_create(disp, disp->screen_width, disp->screen_height);
-    topo_cairo_paint(&x11_draw_methods, logical, legend, topology, disp->cs);
+    topo_cairo_paint(&disp->coutput);
   }
 }
 
 void
-output_x11(hwloc_topology_t topology, const char *filename __hwloc_attribute_unused, int overwrite __hwloc_attribute_unused, int logical, int legend, int verbose_mode __hwloc_attribute_unused)
+output_x11(struct lstopo_output *loutput, const char *filename)
 {
-  struct display *disp = output_draw_start(&x11_draw_methods, logical, legend, topology, NULL);
+  struct lstopo_x11_output _disp, *disp = &_disp;
+  struct lstopo_cairo_output *coutput;
   int finish = 0;
   int state = 0;
   int x = 0, y = 0; /* shut warning down */
-  int lastx = disp->x, lasty = disp->y;
+  int lastx, lasty;
+
+  coutput = &disp->coutput;
+  memset(coutput, 0, sizeof(*coutput));
+  memcpy(&coutput->loutput, loutput, sizeof(*loutput));
+  coutput->loutput.methods = &x11_draw_methods;
 
-  topo_cairo_paint(&x11_draw_methods, logical, legend, topology, disp->cs);
+  output_draw_start(&coutput->loutput);
+  lastx = disp->x;
+  lasty = disp->y;
+
+  topo_cairo_paint(coutput);
 
   while (!finish) {
     XEvent e;
@@ -272,7 +350,7 @@ output_x11(hwloc_topology_t topology, const char *filename __hwloc_attribute_unu
     switch (e.type) {
       case Expose:
 	if (e.xexpose.count < 1)
-	  topo_cairo_paint(&x11_draw_methods, logical, legend, topology, disp->cs);
+	  topo_cairo_paint(coutput);
 	break;
       case MotionNotify:
 	if (state) {
@@ -280,13 +358,13 @@ output_x11(hwloc_topology_t topology, const char *filename __hwloc_attribute_unu
 	  disp->y -= e.xmotion.y_root - y;
 	  x = e.xmotion.x_root;
 	  y = e.xmotion.y_root;
-          move_x11(disp, logical, legend, topology);
+          move_x11(disp);
 	}
 	break;
       case ConfigureNotify:
 	disp->screen_width = e.xconfigure.width;
 	disp->screen_height = e.xconfigure.height;
-        move_x11(disp, logical, legend, topology);
+        move_x11(disp);
 	if (disp->x != lastx || disp->y != lasty)
 	  XMoveWindow(disp->dpy, disp->win, -disp->x, -disp->y);
 	break;
@@ -315,47 +393,47 @@ output_x11(hwloc_topology_t topology, const char *filename __hwloc_attribute_unu
             break;
           case XK_Left:
             disp->x -= disp->screen_width/10;
-            move_x11(disp, logical, legend, topology);
+            move_x11(disp);
             break;
           case XK_Right:
             disp->x += disp->screen_width/10;
-            move_x11(disp, logical, legend, topology);
+            move_x11(disp);
             break;
           case XK_Up:
             disp->y -= disp->screen_height/10;
-            move_x11(disp, logical, legend, topology);
+            move_x11(disp);
             break;
           case XK_Down:
             disp->y += disp->screen_height/10;
-            move_x11(disp, logical, legend, topology);
+            move_x11(disp);
             break;
           case XK_Page_Up:
             if (e.xkey.state & ControlMask) {
               disp->x -= disp->screen_width;
-              move_x11(disp, logical, legend, topology);
+              move_x11(disp);
             } else {
               disp->y -= disp->screen_height;
-              move_x11(disp, logical, legend, topology);
+              move_x11(disp);
             }
             break;
           case XK_Page_Down:
             if (e.xkey.state & ControlMask) {
               disp->x += disp->screen_width;
-              move_x11(disp, logical, legend, topology);
+              move_x11(disp);
             } else {
               disp->y += disp->screen_height;
-              move_x11(disp, logical, legend, topology);
+              move_x11(disp);
             }
             break;
           case XK_Home:
             disp->x = 0;
             disp->y = 0;
-            move_x11(disp, logical, legend, topology);
+            move_x11(disp);
             break;
           case XK_End:
             disp->x = INT_MAX;
             disp->y = INT_MAX;
-            move_x11(disp, logical, legend, topology);
+            move_x11(disp);
             break;
         }
 	break;
@@ -366,43 +444,66 @@ output_x11(hwloc_topology_t topology, const char *filename __hwloc_attribute_unu
   XDestroyWindow(disp->dpy, disp->top);
   XFreeCursor(disp->dpy, disp->hand);
   XCloseDisplay(disp->dpy);
-  free(disp);
 }
 #endif /* CAIRO_HAS_XLIB_SURFACE */
 
 
 #if CAIRO_HAS_PNG_FUNCTIONS
 /* PNG back-end */
-static void *
-png_start(void *output __hwloc_attribute_unused, int width, int height)
+static struct draw_methods png_draw_methods;
+
+static void
+png_init(void *_coutput)
 {
-  return cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height);
+  struct lstopo_cairo_output *coutput = _coutput;
+  cairo_surface_t *fakecs, *cs;
+
+  /* create a fake surface */
+  fakecs = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 1, 1);
+  coutput->surface = fakecs;
+
+  /* compute the maximal size using the fake surface */
+  coutput->drawing = 0;
+  topo_cairo_paint(coutput);
+  coutput->drawing = 1;
+  cairo_surface_destroy(fakecs);
+
+  /* create the actual surface with the right size */
+  cs = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, coutput->max_x, coutput->max_y);
+  coutput->surface = cs;
 }
 
 static struct draw_methods png_draw_methods = {
-  png_start,
+  png_init,
   null_declare_color,
   topo_cairo_box,
   topo_cairo_line,
   topo_cairo_text,
+  topo_cairo_textsize,
 };
 
 void
-output_png(hwloc_topology_t topology, const char *filename, int overwrite, int logical, int legend, int verbose_mode __hwloc_attribute_unused)
+output_png(struct lstopo_output *loutput, const char *filename)
 {
-  FILE *output = open_output(filename, overwrite);
-  cairo_surface_t *cs;
+  struct lstopo_cairo_output coutput;
+  FILE *output;
 
+  output = open_output(filename, loutput->overwrite);
   if (!output) {
     fprintf(stderr, "Failed to open %s for writing (%s)\n", filename, strerror(errno));
     return;
   }
 
-  cs = output_draw_start(&png_draw_methods, logical, legend, topology, output);
+  memset(&coutput, 0, sizeof(coutput));
+  memcpy(&coutput.loutput, loutput, sizeof(*loutput));
+  coutput.loutput.file = output;
+  coutput.loutput.methods = &png_draw_methods;
+
+  output_draw_start(&coutput.loutput);
 
-  topo_cairo_paint(&png_draw_methods, logical, legend, topology, cs);
-  cairo_surface_write_to_png_stream(cs, topo_cairo_write, output);
-  cairo_surface_destroy(cs);
+  topo_cairo_paint(&coutput);
+  cairo_surface_write_to_png_stream(coutput.surface, topo_cairo_write, output);
+  cairo_surface_destroy(coutput.surface);
 
   if (output != stdout)
     fclose(output);
@@ -412,36 +513,60 @@ output_png(hwloc_topology_t topology, const char *filename, int overwrite, int l
 
 #if CAIRO_HAS_PDF_SURFACE
 /* PDF back-end */
-static void *
-pdf_start(void *output, int width, int height)
+static struct draw_methods pdf_draw_methods;
+
+static void
+pdf_init(void *_coutput)
 {
-  return cairo_pdf_surface_create_for_stream(topo_cairo_write, output, width, height);
+  struct lstopo_cairo_output *coutput = _coutput;
+  cairo_surface_t *fakecs, *cs;
+
+  /* create a fake surface */
+  fakecs = cairo_pdf_surface_create_for_stream(NULL, NULL, 1, 1);
+  coutput->surface = fakecs;
+
+  /* compute the maximal size using the fake surface */
+  coutput->drawing = 0;
+  topo_cairo_paint(coutput);
+  coutput->drawing = 1;
+  cairo_surface_destroy(fakecs);
+
+  /* create the actual surface with the right size */
+  cs = cairo_pdf_surface_create_for_stream(topo_cairo_write, coutput->loutput.file, coutput->max_x, coutput->max_y);
+  coutput->surface = cs;
 }
 
 static struct draw_methods pdf_draw_methods = {
-  pdf_start,
+  pdf_init,
   null_declare_color,
   topo_cairo_box,
   topo_cairo_line,
   topo_cairo_text,
+  topo_cairo_textsize,
 };
 
 void
-output_pdf(hwloc_topology_t topology, const char *filename, int overwrite, int logical, int legend, int verbose_mode __hwloc_attribute_unused)
+output_pdf(struct lstopo_output *loutput, const char *filename)
 {
-  FILE *output = open_output(filename, overwrite);
-  cairo_surface_t *cs;
+  struct lstopo_cairo_output coutput;
+  FILE *output;
 
+  output = open_output(filename, loutput->overwrite);
   if (!output) {
     fprintf(stderr, "Failed to open %s for writing (%s)\n", filename, strerror(errno));
     return;
   }
 
-  cs = output_draw_start(&pdf_draw_methods, logical, legend, topology, output);
+  memset(&coutput, 0, sizeof(coutput));
+  memcpy(&coutput.loutput, loutput, sizeof(*loutput));
+  coutput.loutput.file = output;
+  coutput.loutput.methods = &pdf_draw_methods;
+
+  output_draw_start(&coutput.loutput);
 
-  topo_cairo_paint(&pdf_draw_methods, logical, legend, topology, cs);
-  cairo_surface_flush(cs);
-  cairo_surface_destroy(cs);
+  topo_cairo_paint(&coutput);
+  cairo_surface_flush(coutput.surface);
+  cairo_surface_destroy(coutput.surface);
 
   if (output != stdout)
     fclose(output);
@@ -451,36 +576,60 @@ output_pdf(hwloc_topology_t topology, const char *filename, int overwrite, int l
 
 #if CAIRO_HAS_PS_SURFACE
 /* PS back-end */
-static void *
-ps_start(void *output, int width, int height)
+static struct draw_methods ps_draw_methods;
+
+static void
+ps_init(void *_coutput)
 {
-  return cairo_ps_surface_create_for_stream(topo_cairo_write, output, width, height);
+  struct lstopo_cairo_output *coutput = _coutput;
+  cairo_surface_t *fakecs, *cs;
+
+  /* create a fake surface */
+  fakecs = cairo_ps_surface_create_for_stream(NULL, NULL, 1, 1);
+  coutput->surface = fakecs;
+
+  /* compute the maximal size using the fake surface */
+  coutput->drawing = 0;
+  topo_cairo_paint(coutput);
+  coutput->drawing = 1;
+  cairo_surface_destroy(fakecs);
+
+  /* create the actual surface with the right size */
+  cs = cairo_ps_surface_create_for_stream(topo_cairo_write, coutput->loutput.file, coutput->max_x, coutput->max_y);
+  coutput->surface = cs;
 }
 
 static struct draw_methods ps_draw_methods = {
-  ps_start,
+  ps_init,
   null_declare_color,
   topo_cairo_box,
   topo_cairo_line,
   topo_cairo_text,
+  topo_cairo_textsize,
 };
 
 void
-output_ps(hwloc_topology_t topology, const char *filename, int overwrite, int logical, int legend, int verbose_mode __hwloc_attribute_unused)
+output_ps(struct lstopo_output *loutput, const char *filename)
 {
-  FILE *output = open_output(filename, overwrite);
-  cairo_surface_t *cs;
+  struct lstopo_cairo_output coutput;
+  FILE *output;
 
+  output = open_output(filename, loutput->overwrite);
   if (!output) {
     fprintf(stderr, "Failed to open %s for writing (%s)\n", filename, strerror(errno));
     return;
   }
 
-  cs = output_draw_start(&ps_draw_methods, logical, legend, topology, output);
+  memset(&coutput, 0, sizeof(coutput));
+  memcpy(&coutput.loutput, loutput, sizeof(*loutput));
+  coutput.loutput.file = output;
+  coutput.loutput.methods = &ps_draw_methods;
+
+  output_draw_start(&coutput.loutput);
 
-  topo_cairo_paint(&ps_draw_methods, logical, legend, topology, cs);
-  cairo_surface_flush(cs);
-  cairo_surface_destroy(cs);
+  topo_cairo_paint(&coutput);
+  cairo_surface_flush(coutput.surface);
+  cairo_surface_destroy(coutput.surface);
 
   if (output != stdout)
     fclose(output);
@@ -490,37 +639,60 @@ output_ps(hwloc_topology_t topology, const char *filename, int overwrite, int lo
 
 #if CAIRO_HAS_SVG_SURFACE
 /* SVG back-end */
-static void *
-svg_start(void *output, int width, int height)
+static struct draw_methods svg_draw_methods;
+
+static void
+svg_init(void *_coutput)
 {
-  return cairo_svg_surface_create_for_stream(topo_cairo_write, output, width, height);
+  struct lstopo_cairo_output *coutput = _coutput;
+  cairo_surface_t *fakecs, *cs;
+
+  /* create a fake surface */
+  fakecs = cairo_svg_surface_create_for_stream(NULL, NULL, 1, 1);
+  coutput->surface = fakecs;
+
+  /* compute the maximal size using the fake surface */
+  coutput->drawing = 0;
+  topo_cairo_paint(coutput);
+  coutput->drawing = 1;
+  cairo_surface_destroy(fakecs);
+
+  /* create the actual surface with the right size */
+  cs = cairo_svg_surface_create_for_stream(topo_cairo_write, coutput->loutput.file, coutput->max_x, coutput->max_y);
+  coutput->surface = cs;
 }
 
 static struct draw_methods svg_draw_methods = {
-  svg_start,
+  svg_init,
   null_declare_color,
   topo_cairo_box,
   topo_cairo_line,
   topo_cairo_text,
+  topo_cairo_textsize,
 };
 
 void
-output_svg(hwloc_topology_t topology, const char *filename, int overwrite, int logical, int legend, int verbose_mode __hwloc_attribute_unused)
+output_svg(struct lstopo_output *loutput, const char *filename)
 {
+  struct lstopo_cairo_output coutput;
   FILE *output;
-  cairo_surface_t *cs;
 
-  output = open_output(filename, overwrite);
+  output = open_output(filename, loutput->overwrite);
   if (!output) {
     fprintf(stderr, "Failed to open %s for writing (%s)\n", filename, strerror(errno));
     return;
   }
 
-  cs = output_draw_start(&svg_draw_methods, logical, legend, topology, output);
+  memset(&coutput, 0, sizeof(coutput));
+  memcpy(&coutput.loutput, loutput, sizeof(*loutput));
+  coutput.loutput.file = output;
+  coutput.loutput.methods = &svg_draw_methods;
+
+  output_draw_start(&coutput.loutput);
 
-  topo_cairo_paint(&svg_draw_methods, logical, legend, topology, cs);
-  cairo_surface_flush(cs);
-  cairo_surface_destroy(cs);
+  topo_cairo_paint(&coutput);
+  cairo_surface_flush(coutput.surface);
+  cairo_surface_destroy(coutput.surface);
 
   if (output != stdout)
     fclose(output);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-color.c b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-color.c
similarity index 95%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-color.c
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-color.c
index b31e00c..85bec01 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-color.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-color.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009 inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009 Université Bordeaux
  * See COPYING in top-level directory.
  */
 
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-draw.c b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-draw.c
similarity index 79%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-draw.c
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-draw.c
index 6822612..38b87bb 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-draw.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-draw.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2013 Université Bordeaux 1
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2013, 2015 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -30,9 +30,9 @@
 #define DARKER_EPOXY_G_COLOR ((DARK_EPOXY_G_COLOR * 100) / 110)
 #define DARKER_EPOXY_B_COLOR ((DARK_EPOXY_B_COLOR * 100) / 110)
 
-#define SOCKET_R_COLOR 0xde
-#define SOCKET_G_COLOR 0xde
-#define SOCKET_B_COLOR 0xde
+#define PACKAGE_R_COLOR 0xde
+#define PACKAGE_G_COLOR 0xde
+#define PACKAGE_B_COLOR 0xde
 
 #define MEMORY_R_COLOR 0xef
 #define MEMORY_G_COLOR 0xdf
@@ -98,6 +98,19 @@ struct style {
 	t2;	/* other text color */
 };
 
+unsigned get_textwidth(void *output, struct draw_methods *methods,
+		       const char *text, unsigned length,
+		       unsigned fontsize, unsigned gridsize)
+{
+  struct lstopo_output *loutput = output;
+  if (loutput->methods->textsize) {
+    unsigned width;
+    loutput->methods->textsize(output, text, length, fontsize, &width);
+    return width + gridsize;
+  }
+  return (length * fontsize * 3) / 4 + gridsize;
+}
+
 /* preferred width/height compromise */
 #define RATIO (4.f/3.f)
 
@@ -115,18 +128,18 @@ static int prefer_ratio(float ratio1, float ratio2) {
   return _ratio1 < _ratio2;
 }
 
-static void* null_start(void *output, int width __hwloc_attribute_unused, int height __hwloc_attribute_unused) { return output; }
 static void null_declare_color(void *output __hwloc_attribute_unused, int r __hwloc_attribute_unused, int g __hwloc_attribute_unused, int b __hwloc_attribute_unused) { }
 static void null_box(void *output __hwloc_attribute_unused, int r __hwloc_attribute_unused, int g __hwloc_attribute_unused, int b __hwloc_attribute_unused, unsigned depth __hwloc_attribute_unused, unsigned x __hwloc_attribute_unused, unsigned width __hwloc_attribute_unused, unsigned y __hwloc_attribute_unused, unsigned height __hwloc_attribute_unused) { }
 static void null_line(void *output __hwloc_attribute_unused, int r __hwloc_attribute_unused, int g __hwloc_attribute_unused, int b __hwloc_attribute_unused, unsigned depth __hwloc_attribute_unused, unsigned x1 __hwloc_attribute_unused, unsigned y1_arg __hwloc_attribute_unused, unsigned x2 __hwloc_attribute_unused, unsigned y2 __hwloc_attribute_unused) { }
 static void null_text(void *output __hwloc_attribute_unused, int r __hwloc_attribute_unused, int g __hwloc_attribute_unused, int b __hwloc_attribute_unused, int size __hwloc_attribute_unused, unsigned depth __hwloc_attribute_unused, unsigned x __hwloc_attribute_unused, unsigned y __hwloc_attribute_unused, const char *text __hwloc_attribute_unused) { }
 
 static struct draw_methods null_draw_methods = {
-  null_start,
+  NULL, /* init */
   null_declare_color,
   null_box,
   null_line,
   null_text,
+  NULL, /* no textsize needed, only native methods' textsize is used */
 };
 
 /*
@@ -168,8 +181,16 @@ static foo_draw get_type_fun(hwloc_obj_type_t type);
     for (i = 0; i < numsubobjs; i++) \
       if (subobjs[i]->type == HWLOC_OBJ_PU) \
         numignoredsubobjs++; \
-    numsubobjs -= numignoredsubobjs; \
   } \
+  if (obj->type == HWLOC_OBJ_BRIDGE && lstopo_collapse) { \
+    for (i = 0; i < numsubobjs; i++) \
+      if (subobjs[i]->type == HWLOC_OBJ_PCI_DEVICE) { \
+	const char *collapsestr = hwloc_obj_get_info_by_name(subobjs[i], "lstopoCollapse"); \
+	if (collapsestr && !strcmp(collapsestr, "0")) \
+	  numignoredsubobjs++; \
+      } \
+  } \
+  numsubobjs -= numignoredsubobjs; \
   if (numsubobjs) { \
 
 #define RECURSE_FOR() \
@@ -177,6 +198,11 @@ static foo_draw get_type_fun(hwloc_obj_type_t type);
     for (i = 0; i < numsubobjs+numignoredsubobjs; i++) { \
       if (lstopo_ignore_pus && subobjs[i]->type == HWLOC_OBJ_PU) \
 	continue; \
+      if (lstopo_collapse && subobjs[i]->type == HWLOC_OBJ_PCI_DEVICE) { \
+	const char *collapsestr = hwloc_obj_get_info_by_name(subobjs[i], "lstopoCollapse"); \
+	if (collapsestr && !strcmp(collapsestr, "0")) \
+	  continue; \
+      }
 
       /* Recursive call */
 #define RECURSE_CALL_FUN(methods) \
@@ -201,8 +227,8 @@ static foo_draw get_type_fun(hwloc_obj_type_t type);
     /* Add border on the right */ \
     totwidth += (border); \
   } \
-  if (totwidth < textwidth) \
-    totwidth = textwidth; \
+  if (totwidth < (border) + textwidth) \
+    totwidth = (border) + textwidth; \
   /* Update returned values */ \
   *retwidth = totwidth; \
   *retheight = totheight; \
@@ -226,8 +252,8 @@ static foo_draw get_type_fun(hwloc_obj_type_t type);
   } \
   \
   /* Make sure there is width for the heading text */ \
-  if (totwidth < textwidth) \
-    totwidth = textwidth; \
+  if (totwidth < (border) + textwidth) \
+    totwidth = (border) + textwidth; \
   /* Update returned values */ \
   *retwidth = totwidth; \
   *retheight = totheight; \
@@ -330,8 +356,8 @@ RECURSE_BEGIN(obj, border) \
     totheight += maxheight + (border); \
   } \
   /* Make sure there is width for the heading text */ \
-  if (totwidth < textwidth) \
-    totwidth = textwidth; \
+  if (totwidth < (border) + textwidth) \
+    totwidth = (border) + textwidth; \
   /* Update returned values */ \
   *retwidth = totwidth; \
   *retheight = totheight; \
@@ -339,7 +365,7 @@ RECURSE_BEGIN(obj, border) \
 
 /* Pack objects in a grid */
 #define RECURSE_RECT(obj, methods, separator, border) do {\
-  if (obj->arity && obj->children[0]->type == HWLOC_OBJ_NODE) { \
+  if (obj->arity && obj->children[0]->type == HWLOC_OBJ_NUMANODE && force_orient[obj->type] != LSTOPO_ORIENT_RECT) { \
     /* Nodes shouldn't be put with an arbitrary geometry, as NUMA distances may not be that way */ \
     int pvert = prefer_vert(topology, logical, level, output, depth, x, y, separator); \
     if (pvert) \
@@ -382,10 +408,12 @@ struct dyna_save {
     if (save->fontsize == fontsize && save->gridsize == gridsize) { \
       *retwidth = save->width; \
       *retheight = save->height; \
+      return; \
+    } else { \
+      /* Changed size, drop the existing computation */ \
+      free(level->userdata); \
+      level->userdata = NULL; \
     } \
-    free(level->userdata); \
-    level->userdata = NULL; \
-    return; \
   } \
 } while (0)
 
@@ -408,20 +436,39 @@ lstopo_obj_snprintf(char *text, size_t textlen, hwloc_obj_t obj, int logical)
 {
   unsigned idx = logical ? obj->logical_index : obj->os_index;
   const char *indexprefix = logical ? " L#" : " P#";
+  const char *value;
   char typestr[32];
   char indexstr[32]= "";
   char attrstr[256];
+  char totmemstr[64] = "";
   int attrlen;
-  hwloc_obj_type_snprintf(typestr, sizeof(typestr), obj, 0);
+
+  /* For OSDev, Misc and Group, name replaces type+index+attrs */
+  if (obj->name && (obj->type == HWLOC_OBJ_OS_DEVICE || obj->type == HWLOC_OBJ_MISC || obj->type == HWLOC_OBJ_GROUP)) {
+    return snprintf(text, textlen, "%s", obj->name);
+  }
+
+  /* Type replaces the basic type name */
+  if ((value = hwloc_obj_get_info_by_name(obj, "Type")) != NULL) {
+    snprintf(typestr, sizeof(typestr), "%s", value);
+  } else {
+    hwloc_obj_type_snprintf(typestr, sizeof(typestr), obj, 0);
+  }
+
   if (idx != (unsigned)-1 && obj->depth != 0
       && obj->type != HWLOC_OBJ_PCI_DEVICE
       && (obj->type != HWLOC_OBJ_BRIDGE || obj->attr->bridge.upstream_type == HWLOC_OBJ_BRIDGE_HOST))
     snprintf(indexstr, sizeof(indexstr), "%s%u", indexprefix, idx);
   attrlen = hwloc_obj_attr_snprintf(attrstr, sizeof(attrstr), obj, " ", 0);
+  /* display the root total_memory if different from the local_memory (already shown) */
+  if (!obj->parent && obj->memory.total_memory > obj->memory.local_memory)
+    snprintf(totmemstr, sizeof(totmemstr), " (%lu%s total)",
+             (unsigned long) hwloc_memory_size_printf_value(obj->memory.total_memory, 0),
+             hwloc_memory_size_printf_unit(obj->memory.total_memory, 0));
   if (attrlen > 0)
-    return snprintf(text, textlen, "%s%s (%s)", typestr, indexstr, attrstr);
+    return snprintf(text, textlen, "%s%s (%s)%s", typestr, indexstr, attrstr, totmemstr);
   else
-    return snprintf(text, textlen, "%s%s", typestr, indexstr);
+    return snprintf(text, textlen, "%s%s%s", typestr, indexstr, totmemstr);
 }
 
 static struct draw_methods getmax_draw_methods;
@@ -471,7 +518,7 @@ lstopo_set_object_color(struct draw_methods *methods,
     s->bg.b = MISC_B_COLOR;
     break;
 
-  case HWLOC_OBJ_NODE:
+  case HWLOC_OBJ_NUMANODE:
     s->bg.r = NODE_R_COLOR;
     s->bg.g = NODE_G_COLOR;
     s->bg.b = NODE_B_COLOR;
@@ -480,10 +527,10 @@ lstopo_set_object_color(struct draw_methods *methods,
     s->bg2.b = MEMORY_B_COLOR;
     break;
 
-  case HWLOC_OBJ_SOCKET:
-    s->bg.r = SOCKET_R_COLOR;
-    s->bg.g = SOCKET_G_COLOR;
-    s->bg.b = SOCKET_B_COLOR;
+  case HWLOC_OBJ_PACKAGE:
+    s->bg.r = PACKAGE_R_COLOR;
+    s->bg.g = PACKAGE_G_COLOR;
+    s->bg.b = PACKAGE_B_COLOR;
     break;
 
   case HWLOC_OBJ_CORE:
@@ -582,25 +629,54 @@ static void
 pci_device_draw(hwloc_topology_t topology __hwloc_attribute_unused, struct draw_methods *methods, int logical, hwloc_obj_t level, void *output, unsigned depth, unsigned x, unsigned *retwidth, unsigned y, unsigned *retheight)
 {
   unsigned textwidth = gridsize;
-  unsigned textheight = (fontsize ? (fontsize + gridsize) : 0);
+  unsigned textheight = (fontsize ? fontsize + gridsize : 0);
   unsigned myheight = textheight;
   unsigned mywidth = 0;
   unsigned totwidth, totheight;
+  unsigned overlaidoffset = 0;
   struct style style;
-  char text[64];
+  char text[64], _text[64];
+  const char *collapsestr = hwloc_obj_get_info_by_name(level, "lstopoCollapse");
+  unsigned collapse = collapsestr ? atoi(collapsestr) : 1;
   int n;
 
   DYNA_CHECK();
 
   if (fontsize) {
-    n = lstopo_obj_snprintf(text, sizeof(text), level, logical);
-    textwidth = (n * fontsize * 3) / 4;
+    if (collapse > 1) {
+      n = lstopo_obj_snprintf(_text, sizeof(_text), level, logical);
+      n = snprintf(text, sizeof(text), "%u x { %s }", collapse, _text);
+    } else {
+      n = lstopo_obj_snprintf(text, sizeof(text), level, logical);
+    }
+    textwidth = get_textwidth(output, methods, text, n, fontsize, gridsize);
+  }
+
+  if (collapse > 1) {
+    /* additional depths and height for overlaid boxes */
+    depth -= 2;
+    if (collapse > 2) {
+      overlaidoffset = gridsize;
+    } else {
+      overlaidoffset = gridsize/2;
+    }
+    textwidth += overlaidoffset;
+    textheight += overlaidoffset;
+    myheight = textheight;
   }
 
   RECURSE_RECT(level, &null_draw_methods, gridsize, gridsize);
 
   lstopo_set_object_color(methods, topology, level, 0, &style);
-  methods->box(output, style.bg.r, style.bg.g, style.bg.b, depth, x, *retwidth, y, *retheight);
+
+  if (collapse > 1) {
+    methods->box(output, style.bg.r, style.bg.g, style.bg.b, depth+2, x + overlaidoffset, *retwidth - overlaidoffset, y + overlaidoffset, *retheight - overlaidoffset);
+    if (collapse > 2)
+      methods->box(output, style.bg.r, style.bg.g, style.bg.b, depth+1, x + overlaidoffset/2, *retwidth - overlaidoffset, y + overlaidoffset/2, *retheight - overlaidoffset);
+    methods->box(output, style.bg.r, style.bg.g, style.bg.b, depth, x, *retwidth - overlaidoffset, y, *retheight - overlaidoffset);
+  } else {
+    methods->box(output, style.bg.r, style.bg.g, style.bg.b, depth, x, *retwidth, y, *retheight);
+  }
 
   if (fontsize)
     methods->text(output, style.t.r, style.t.g, style.t.b, fontsize, depth-1, x + gridsize, y + gridsize, text);
@@ -613,17 +689,20 @@ pci_device_draw(hwloc_topology_t topology __hwloc_attribute_unused, struct draw_
 static void
 os_device_draw(hwloc_topology_t topology __hwloc_attribute_unused, struct draw_methods *methods, int logical __hwloc_attribute_unused, hwloc_obj_t level, void *output, unsigned depth, unsigned x, unsigned *retwidth, unsigned y, unsigned *retheight)
 {
-  unsigned textwidth = 0;
+  unsigned textwidth = gridsize;
   unsigned totheight = gridsize;
   unsigned totwidth = gridsize;
   struct style style;
+  char text[64];
   int n;
   unsigned nmorelines = 0, i;
   char morelines[3][64];
 
   if (fontsize) {
-    if (HWLOC_OBJ_OSDEV_COPROC == level->attr->osdev.type) {
-      const char *coproctype = hwloc_obj_get_info_by_name(level, "CoProcType");
+    const char *coproctype;
+
+    if (HWLOC_OBJ_OSDEV_COPROC == level->attr->osdev.type
+        && (coproctype = hwloc_obj_get_info_by_name(level, "CoProcType")) != NULL) {
 
       if (!strcmp(coproctype, "CUDA")) {
 	const char *value, *value2, *value3;
@@ -689,15 +768,16 @@ os_device_draw(hwloc_topology_t topology __hwloc_attribute_unused, struct draw_m
       }
     }
 
-    n = strlen(level->name);
+    n = lstopo_obj_snprintf(text, sizeof(text), level, logical);
+    textwidth = get_textwidth(output, methods, text, n, fontsize, gridsize);
     for(i=0; i<nmorelines; i++) {
       int nn = strlen(morelines[i]);
-      if (nn > n)
-	n = nn;
+      int ntextwidth = get_textwidth(output, methods, morelines[i], nn, fontsize, gridsize);
+      if (ntextwidth > textwidth)
+	textwidth = ntextwidth;
     }
-    textwidth = (n * fontsize * 3) / 4;
     totheight = gridsize + (fontsize + gridsize)*(nmorelines+1);
-    totwidth = gridsize + textwidth + gridsize;
+    totwidth = gridsize + textwidth;
   }
 
   *retwidth = totwidth;
@@ -707,7 +787,7 @@ os_device_draw(hwloc_topology_t topology __hwloc_attribute_unused, struct draw_m
   methods->box(output, style.bg.r, style.bg.g, style.bg.b, depth, x, *retwidth, y, *retheight);
 
   if (fontsize) {
-    methods->text(output, style.t.r, style.t.g, style.t.b, fontsize, depth-1, x + gridsize, y + gridsize, level->name);
+    methods->text(output, style.t.r, style.t.g, style.t.b, fontsize, depth-1, x + gridsize, y + gridsize, text);
     for(i=0; i<nmorelines; i++)
       methods->text(output, style.t.r, style.t.g, style.t.b, fontsize, depth-1, x + gridsize, y + (i+2)*gridsize + (i+1)*fontsize, morelines[i]);
   }
@@ -780,14 +860,30 @@ bridge_draw(hwloc_topology_t topology, struct draw_methods *methods, int logical
 static void
 pu_draw(hwloc_topology_t topology, struct draw_methods *methods, int logical, hwloc_obj_t level, void *output, unsigned depth, unsigned x, unsigned *retwidth, unsigned y, unsigned *retheight)
 {
+  struct lstopo_output *loutput = output;
   unsigned myheight = (fontsize ? (fontsize + gridsize) : 0), totheight;
-  unsigned textwidth = fontsize ? 6*fontsize : gridsize;
+  unsigned textwidth = gridsize;
   unsigned mywidth = 0, totwidth;
+  unsigned textxoffset = 0;
+  char text[64];
+  int n;
   struct style style;
   int colorarg;
 
   DYNA_CHECK();
 
+  if (fontsize) {
+    n = lstopo_obj_snprintf(text, sizeof(text), level, logical);
+    textwidth = get_textwidth(output, methods, text, n, fontsize, gridsize);
+    /* if smaller than other PU, artificially extend/shift it
+     * to make PU boxes nicer when vertically stacked.
+     */
+    if (textwidth < loutput->min_pu_textwidth) {
+      textxoffset = (loutput->min_pu_textwidth - textwidth) / 2;
+      textwidth = loutput->min_pu_textwidth;
+    }
+  }
+
   RECURSE_RECT(level, &null_draw_methods, 0, gridsize);
 
   if (lstopo_pu_offline(level))
@@ -802,9 +898,7 @@ pu_draw(hwloc_topology_t topology, struct draw_methods *methods, int logical, hw
   methods->box(output, style.bg.r, style.bg.g, style.bg.b, depth, x, *retwidth, y, *retheight);
 
   if (fontsize) {
-    char text[64];
-    lstopo_obj_snprintf(text, sizeof(text), level, logical);
-    methods->text(output, style.t.r, style.t.g, style.t.b, fontsize, depth-1, x + gridsize, y + gridsize, text);
+    methods->text(output, style.t.r, style.t.g, style.t.b, fontsize, depth-1, x + gridsize + textxoffset, y + gridsize, text);
   }
 
   RECURSE_RECT(level, methods, 0, gridsize);
@@ -817,22 +911,27 @@ cache_draw(hwloc_topology_t topology, struct draw_methods *methods, int logical,
 {
   unsigned myheight = gridsize + (fontsize ? (fontsize + gridsize) : 0) + gridsize, totheight;
   unsigned mywidth = 0, totwidth;
-  unsigned textwidth = fontsize ? ((logical ? level->logical_index : level->os_index) == (unsigned) -1 ? 8*fontsize : 10*fontsize) : 0;
+  unsigned textwidth = gridsize;
   /* Do not separate objects when in L1 (SMT) */
   unsigned separator = level->attr->cache.depth > 1 ? gridsize : 0;
+  char text[64];
+  int n;
   struct style style;
 
   DYNA_CHECK();
 
+  if (fontsize) {
+    n = lstopo_obj_snprintf(text, sizeof(text), level, logical);
+    textwidth = get_textwidth(output, methods, text, n, fontsize, gridsize);
+    textwidth += gridsize; /* artificially extend the minimal inner size because RECURSE_RECT() uses 0 as border when computing totwidth */
+  }
+
   RECURSE_RECT(level, &null_draw_methods, separator, 0);
 
   lstopo_set_object_color(methods, topology, level, 0, &style);
   methods->box(output, style.bg.r, style.bg.g, style.bg.b, depth, x, totwidth, y, myheight - gridsize);
 
   if (fontsize) {
-    char text[64];
-
-    lstopo_obj_snprintf(text, sizeof(text), level, logical);
     methods->text(output, style.t.r, style.t.g, style.t.b, fontsize, depth-1, x + gridsize, y + gridsize, text);
   }
 
@@ -846,19 +945,24 @@ core_draw(hwloc_topology_t topology, struct draw_methods *methods, int logical,
 {
   unsigned myheight = (fontsize ? (fontsize + gridsize) : 0), totheight;
   unsigned mywidth = 0, totwidth;
-  unsigned textwidth = fontsize ? 8*fontsize : gridsize;
+  unsigned textwidth = gridsize;
+  char text[64];
+  int n;
   struct style style;
 
   DYNA_CHECK();
 
+  if (fontsize) {
+    n = lstopo_obj_snprintf(text, sizeof(text), level, logical);
+    textwidth = get_textwidth(output, methods, text, n, fontsize, gridsize);
+  }
+
   RECURSE_RECT(level, &null_draw_methods, 0, gridsize);
 
   lstopo_set_object_color(methods, topology, level, 0, &style);
   methods->box(output, style.bg.r, style.bg.g, style.bg.b, depth, x, totwidth, y, totheight);
 
   if (fontsize) {
-    char text[64];
-    lstopo_obj_snprintf(text, sizeof(text), level, logical);
     methods->text(output, style.t.r, style.t.g, style.t.b, fontsize, depth-1, x + gridsize, y + gridsize, text);
   }
 
@@ -868,23 +972,28 @@ core_draw(hwloc_topology_t topology, struct draw_methods *methods, int logical,
 }
 
 static void
-socket_draw(hwloc_topology_t topology, struct draw_methods *methods, int logical, hwloc_obj_t level, void *output, unsigned depth, unsigned x, unsigned *retwidth, unsigned y, unsigned *retheight)
+package_draw(hwloc_topology_t topology, struct draw_methods *methods, int logical, hwloc_obj_t level, void *output, unsigned depth, unsigned x, unsigned *retwidth, unsigned y, unsigned *retheight)
 {
   unsigned myheight = (fontsize ? (fontsize + gridsize) : 0), totheight;
   unsigned mywidth = 0, totwidth;
-  unsigned textwidth = 6*fontsize;
+  unsigned textwidth = gridsize;
+  char text[64];
+  int n;
   struct style style;
 
   DYNA_CHECK();
 
+  if (fontsize) {
+    n = lstopo_obj_snprintf(text, sizeof(text), level, logical);
+    textwidth = get_textwidth(output, methods, text, n, fontsize, gridsize);
+  }
+
   RECURSE_RECT(level, &null_draw_methods, gridsize, gridsize);
 
   lstopo_set_object_color(methods, topology, level, 0, &style);
   methods->box(output, style.bg.r, style.bg.g, style.bg.b, depth, x, totwidth, y, totheight);
 
   if (fontsize) {
-    char text[64];
-    lstopo_obj_snprintf(text, sizeof(text), level, logical);
     methods->text(output, style.t.r, style.t.g, style.t.b, fontsize, depth-1, x + gridsize, y + gridsize, text);
   }
 
@@ -905,12 +1014,20 @@ node_draw(hwloc_topology_t topology, struct draw_methods *methods, int logical,
   /* Currently filled width */
   unsigned totwidth;
   /* Width of the heading text, thus minimal width */
-  unsigned textwidth = 16*fontsize;
+  unsigned textwidth = gridsize;
+  char text[64];
+  int n;
   struct style style;
 
   /* Check whether dynamic programming can save us time */
   DYNA_CHECK();
 
+  if (fontsize) {
+    n = lstopo_obj_snprintf(text, sizeof(text), level, logical);
+    textwidth = get_textwidth(output, methods, text, n, fontsize, gridsize);
+    textwidth += 2*gridsize; /* so artificially extend the minimal inner size to include space between space between epoxy and memory box */
+  }
+
   /* Compute the size needed by sublevels */
   RECURSE_RECT(level, &null_draw_methods, gridsize, gridsize);
 
@@ -921,9 +1038,6 @@ node_draw(hwloc_topology_t topology, struct draw_methods *methods, int logical,
   methods->box(output, style.bg2.r, style.bg2.g, style.bg2.b, depth-1, x + gridsize, totwidth - 2 * gridsize, y + gridsize, myheight - gridsize);
 
   if (fontsize) {
-    char text[64];
-    /* Output text */
-    lstopo_obj_snprintf(text, sizeof(text), level, logical);
     methods->text(output, style.t2.r, style.t2.g, style.t2.b, fontsize, depth-2, x + 2 * gridsize, y + 2 * gridsize, text);
   }
 
@@ -939,19 +1053,24 @@ machine_draw(hwloc_topology_t topology, struct draw_methods *methods, int logica
 {
   unsigned myheight = (fontsize ? (fontsize + gridsize) : 0), totheight;
   unsigned mywidth = 0, totwidth;
-  unsigned textwidth = 8*fontsize;
+  unsigned textwidth = gridsize;
+  char text[64];
+  int n;
   struct style style;
 
   DYNA_CHECK();
 
+  if (fontsize) {
+    n = lstopo_obj_snprintf(text, sizeof(text), level, logical);
+    textwidth = get_textwidth(output, methods, text, n, fontsize, gridsize);
+  }
+
   RECURSE_RECT(level, &null_draw_methods, gridsize, gridsize);
 
   lstopo_set_object_color(methods, topology, level, 0 /* machine */, &style);
   methods->box(output, style.bg.r, style.bg.g, style.bg.b, depth, x, totwidth, y, totheight);
 
   if (fontsize) {
-    char text[64];
-    lstopo_obj_snprintf(text, sizeof(text), level, logical);
     methods->text(output, style.t.r, style.t.g, style.t.b, fontsize, depth-1, x + gridsize, y + gridsize, text);
   }
 
@@ -1006,12 +1125,19 @@ system_draw(hwloc_topology_t topology, struct draw_methods *methods, int logical
 {
   unsigned myheight = (fontsize ? (fontsize + gridsize) : 0), totheight;
   unsigned mywidth = 0, totwidth;
-  unsigned textwidth = 10*fontsize;
+  unsigned textwidth = gridsize;
   int vert = prefer_vert(topology, logical, level, output, depth, x, y, gridsize);
+  char text[64];
+  int n;
   struct style style;
 
   DYNA_CHECK();
 
+  if (fontsize) {
+    n = lstopo_obj_snprintf(text, sizeof(text), level, logical);
+    textwidth = get_textwidth(output, methods, text, n, fontsize, gridsize);
+  }
+
   if (level->arity > 1 && (level->children[0]->type == HWLOC_OBJ_MACHINE || !level->children[0]->cpuset))
     NETWORK_DRAW_BEGIN();
   else
@@ -1021,8 +1147,6 @@ system_draw(hwloc_topology_t topology, struct draw_methods *methods, int logical
   methods->box(output, style.bg.r, style.bg.g, style.bg.b, depth, x, totwidth, y, totheight);
 
   if (fontsize) {
-    char text[64];
-    lstopo_obj_snprintf(text, sizeof(text), level, logical);
     methods->text(output, style.t.r, style.t.g, style.t.b, fontsize, depth-1, x + gridsize, y + gridsize, text);
   }
 
@@ -1039,18 +1163,18 @@ group_draw(hwloc_topology_t topology, struct draw_methods *methods, int logical,
 {
   unsigned myheight = (fontsize ? (fontsize + gridsize) : 0), totheight;
   unsigned mywidth = 0, totwidth;
-  unsigned textwidth = level->name ? strlen(level->name) * fontsize : 6*fontsize;
+  unsigned textwidth = gridsize;
   int vert = prefer_vert(topology, logical, level, output, depth, x, y, gridsize);
+  char text[64];
+  int n;
   struct style style;
 
   DYNA_CHECK();
 
-#if 0
   if (fontsize) {
     n = lstopo_obj_snprintf(text, sizeof(text), level, logical);
-    textwidth = (n * fontsize * 3) / 4;
+    textwidth = get_textwidth(output, methods, text, n, fontsize, gridsize);
   }
-#endif
 
   if (level->arity > 1 && (level->children[0]->type == HWLOC_OBJ_MACHINE || !level->children[0]->cpuset))
     NETWORK_DRAW_BEGIN();
@@ -1061,13 +1185,7 @@ group_draw(hwloc_topology_t topology, struct draw_methods *methods, int logical,
   methods->box(output, style.bg.r, style.bg.g, style.bg.b, depth, x, totwidth, y, totheight);
 
   if (fontsize) {
-    if (level->name) {
-      methods->text(output, style.t.r, style.t.g, style.t.b, fontsize, depth-1, x + gridsize, y + gridsize, level->name);
-    } else {
-      char text[64];
-      lstopo_obj_snprintf(text, sizeof(text), level, logical);
-      methods->text(output, style.t.r, style.t.g, style.t.b, fontsize, depth-1, x + gridsize, y + gridsize, text);
-    }
+    methods->text(output, style.t.r, style.t.g, style.t.b, fontsize, depth-1, x + gridsize, y + gridsize, text);
   }
 
   if (level->arity > 1 && (level->children[0]->type == HWLOC_OBJ_MACHINE || !level->children[0]->cpuset))
@@ -1084,12 +1202,20 @@ misc_draw(hwloc_topology_t topology, struct draw_methods *methods, int logical,
   unsigned boxheight = gridsize + (fontsize ? (fontsize + gridsize) : 0);
   unsigned myheight = boxheight + (level->arity?gridsize:0), totheight;
   unsigned mywidth = 0, totwidth;
-  unsigned textwidth = level->name ? strlen(level->name) * fontsize : 6*fontsize;
+  unsigned textwidth = gridsize;
   int vert = prefer_vert(topology, logical, level, output, depth, x, y, gridsize);
+  char text[64];
+  int n;
   struct style style;
 
   DYNA_CHECK();
 
+  if (fontsize) {
+    n = lstopo_obj_snprintf(text, sizeof(text), level, logical);
+    textwidth = get_textwidth(output, methods, text, n, fontsize, gridsize);
+    textwidth += gridsize; /* artificially extend the minimal inner size because RECURSE_RECT() uses 0 as border when computing totwidth */
+  }
+
   if (level->arity > 1 && (level->children[0]->type == HWLOC_OBJ_MACHINE || !level->children[0]->cpuset))
     NETWORK_DRAW_BEGIN();
   else
@@ -1099,13 +1225,7 @@ misc_draw(hwloc_topology_t topology, struct draw_methods *methods, int logical,
   methods->box(output, style.bg.r, style.bg.g, style.bg.b, depth, x, totwidth, y, boxheight);
 
   if (fontsize) {
-    if (level->name) {
-      methods->text(output, style.t.r, style.t.g, style.t.b, fontsize, depth-1, x + gridsize, y + gridsize, level->name);
-    } else {
-      char text[64];
-      lstopo_obj_snprintf(text, sizeof(text), level, logical);
-      methods->text(output, style.t.r, style.t.g, style.t.b, fontsize, depth-1, x + gridsize, y + gridsize, text);
-    }
+    methods->text(output, style.t.r, style.t.g, style.t.b, fontsize, depth-1, x + gridsize, y + gridsize, text);
   }
 
   if (level->arity > 1 && (level->children[0]->type == HWLOC_OBJ_MACHINE || !level->children[0]->cpuset))
@@ -1193,8 +1313,8 @@ get_type_fun(hwloc_obj_type_t type)
   switch (type) {
     case HWLOC_OBJ_SYSTEM: return system_draw;
     case HWLOC_OBJ_MACHINE: return machine_draw;
-    case HWLOC_OBJ_NODE: return node_draw;
-    case HWLOC_OBJ_SOCKET: return socket_draw;
+    case HWLOC_OBJ_NUMANODE: return node_draw;
+    case HWLOC_OBJ_PACKAGE: return package_draw;
     case HWLOC_OBJ_CACHE: return cache_draw;
     case HWLOC_OBJ_CORE: return core_draw;
     case HWLOC_OBJ_PU: return pu_draw;
@@ -1208,62 +1328,14 @@ get_type_fun(hwloc_obj_type_t type)
   }
 }
 
-/*
- * Dummy drawing methods to get the bounding box.
- */
-
-struct coords {
-  unsigned x;
-  unsigned y;
-};
-
-static void
-getmax_box(void *output, int r __hwloc_attribute_unused, int g __hwloc_attribute_unused, int b __hwloc_attribute_unused, unsigned depth __hwloc_attribute_unused, unsigned x, unsigned width, unsigned y, unsigned height)
-{
-  struct coords *coords = output;
-
-  if (x > coords->x)
-    coords->x = x;
-  if (x + width > coords->x)
-    coords->x = x + width;
-  if (y > coords->y)
-    coords->y = y;
-  if (y + height > coords->y)
-    coords->y = y + height;
-}
-
-static void
-getmax_line(void *output, int r __hwloc_attribute_unused, int g __hwloc_attribute_unused, int b __hwloc_attribute_unused, unsigned depth __hwloc_attribute_unused, unsigned x1_arg, unsigned y1_arg, unsigned x2_arg, unsigned y2_arg)
-{
-  struct coords *coords = output;
-
-  if (x1_arg > coords->x)
-    coords->x = x1_arg;
-  if (x2_arg > coords->x)
-    coords->x = x2_arg;
-  if (y1_arg > coords->y)
-    coords->y = y1_arg;
-  if (y2_arg > coords->y)
-    coords->y = y2_arg;
-}
-
-static struct draw_methods getmax_draw_methods = {
-  null_start,
-  null_declare_color,
-  getmax_box,
-  getmax_line,
-  null_text,
-};
-
-void *
-output_draw_start(struct draw_methods *methods, int logical, int legend, hwloc_topology_t topology, void *output)
+void
+output_draw_start(struct lstopo_output *output)
 {
-  struct coords coords = { 0, 0 };
-  fig(topology, &getmax_draw_methods, logical, legend, hwloc_get_root_obj(topology), &coords, 100, 0, 0);
-  output = methods->start(output, coords.x, coords.y);
+  struct draw_methods *methods = output->methods;
+  methods->init(output);
   methods->declare_color(output, 0, 0, 0);
   methods->declare_color(output, NODE_R_COLOR, NODE_G_COLOR, NODE_B_COLOR);
-  methods->declare_color(output, SOCKET_R_COLOR, SOCKET_G_COLOR, SOCKET_B_COLOR);
+  methods->declare_color(output, PACKAGE_R_COLOR, PACKAGE_G_COLOR, PACKAGE_B_COLOR);
   methods->declare_color(output, MEMORY_R_COLOR, MEMORY_G_COLOR, MEMORY_B_COLOR);
   methods->declare_color(output, CORE_R_COLOR, CORE_G_COLOR, CORE_B_COLOR);
   methods->declare_color(output, THREAD_R_COLOR, THREAD_G_COLOR, THREAD_B_COLOR);
@@ -1276,11 +1348,55 @@ output_draw_start(struct draw_methods *methods, int logical, int legend, hwloc_t
   methods->declare_color(output, MISC_R_COLOR, MISC_G_COLOR, MISC_B_COLOR);
   methods->declare_color(output, PCI_DEVICE_R_COLOR, PCI_DEVICE_G_COLOR, PCI_DEVICE_B_COLOR);
   methods->declare_color(output, BRIDGE_R_COLOR, BRIDGE_G_COLOR, BRIDGE_B_COLOR);
-  return output;
+}
+
+static void
+output_compute_pu_min_textwidth(struct lstopo_output *output)
+{
+  char text[64];
+  int n;
+  hwloc_topology_t topology = output->topology;
+  hwloc_obj_t lastpu;
+
+  if (!output->methods->textsize) {
+    output->min_pu_textwidth = 0;
+    return;
+  }
+
+  if (output->logical) {
+    unsigned depth = hwloc_get_type_depth(topology, HWLOC_OBJ_PU);
+    lastpu = hwloc_get_obj_by_depth(topology, HWLOC_OBJ_PU, hwloc_get_nbobjs_by_depth(topology, depth)-1);
+  } else {
+    unsigned lastidx = hwloc_bitmap_last(hwloc_topology_get_topology_cpuset(topology));
+    lastpu = hwloc_get_pu_obj_by_os_index(topology, lastidx);
+  }
+
+  n = lstopo_obj_snprintf(text, sizeof(text), lastpu, output->logical);
+  output->min_pu_textwidth = get_textwidth(output, output->methods, text, n, fontsize, gridsize);
+}
+
+void
+output_draw(struct lstopo_output *output)
+{
+  output_compute_pu_min_textwidth(output);
+  fig(output->topology, output->methods, output->logical, output->legend, hwloc_get_root_obj(output->topology), output, 100, 0, 0);
+}
+
+static void
+draw_clear(hwloc_topology_t topology, hwloc_obj_t level)
+{
+  unsigned i;
+
+  free(level->userdata);
+  level->userdata = NULL;
+
+  for (i = 0; i < level->arity; i++)
+    draw_clear(topology, level->children[i]);
 }
 
 void
-output_draw(struct draw_methods *methods, int logical, int legend, hwloc_topology_t topology, void *output)
+output_draw_clear(struct lstopo_output *loutput)
 {
-	fig(topology, methods, logical, legend, hwloc_get_root_obj(topology), output, 100, 0, 0);
+  hwloc_topology_t topology = loutput->topology;
+  draw_clear(topology, hwloc_get_root_obj(topology));
 }
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-fig.c b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-fig.c
new file mode 100644
index 0000000..020df03
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-fig.c
@@ -0,0 +1,140 @@
+/*
+ * Copyright © 2009 CNRS
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2010 Université Bordeaux
+ * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
+ * See COPYING in top-level directory.
+ */
+
+#include <hwloc.h>
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+
+#include "lstopo.h"
+
+/* .fig back-end.  */
+
+#define FIG_FACTOR 20
+
+static void
+fig_init(void *loutput_)
+{
+  struct lstopo_output *loutput = loutput_;
+  FILE *file = loutput->file;
+  fprintf(file, "#FIG 3.2  Produced by hwloc's lstopo\n");
+  fprintf(file, "Landscape\n");
+  fprintf(file, "Center\n");
+  fprintf(file, "Inches\n");
+  fprintf(file, "letter\n");
+  fprintf(file, "100.00\n");	/* magnification */
+  fprintf(file, "Single\n");	/* single page */
+  fprintf(file, "-2\n");	/* no transparent color */
+  fprintf(file, "1200 2\n");	/* 1200 ppi resolution, upper left origin */
+}
+
+static int __hwloc_attribute_const
+rgb_to_fig(int r, int g, int b)
+{
+  if (r == 0xff && g == 0xff && b == 0xff)
+    return 7;
+
+  if (!r && !g && !b)
+    return 0;
+
+  return 32 + rgb_to_color(r, g, b);
+}
+
+static void
+fig_declare_color(void *loutput_, int r, int g, int b)
+{
+  struct lstopo_output *loutput = loutput_;
+  FILE *file = loutput->file;
+  int color;
+
+  if (r == 0xff && g == 0xff && b == 0xff)
+    return;
+
+  if (!r && !g && !b)
+    return;
+
+  color = declare_color(r, g, b);
+
+  fprintf(file, "0 %d #%02x%02x%02x\n", 32 + color, r, g, b);
+}
+
+static void
+fig_box(void *loutput_, int r, int g, int b, unsigned depth, unsigned x, unsigned width, unsigned y, unsigned height)
+{
+  struct lstopo_output *loutput = loutput_;
+  FILE *file = loutput->file;
+  x *= FIG_FACTOR;
+  y *= FIG_FACTOR;
+  width *= FIG_FACTOR;
+  height *= FIG_FACTOR;
+  fprintf(file, "2 2 0 1 0 %d %u -1 20 0.0 0 0 -1 0 0 5\n\t", rgb_to_fig(r, g, b), depth);
+  fprintf(file, " %u %u", x, y);
+  fprintf(file, " %u %u", x + width, y);
+  fprintf(file, " %u %u", x + width, y + height);
+  fprintf(file, " %u %u", x, y + height);
+  fprintf(file, " %u %u", x, y);
+  fprintf(file, "\n");
+}
+
+static void
+fig_line(void *loutput_, int r, int g, int b, unsigned depth, unsigned x1, unsigned y1, unsigned x2, unsigned y2)
+{
+  struct lstopo_output *loutput = loutput_;
+  FILE *file = loutput->file;
+  x1 *= FIG_FACTOR;
+  y1 *= FIG_FACTOR;
+  x2 *= FIG_FACTOR;
+  y2 *= FIG_FACTOR;
+  fprintf(file, "2 1 0 1 0 %d %u -1 -1 0.0 0 0 -1 0 0 2\n\t", rgb_to_fig(r, g, b), depth);
+  fprintf(file, " %u %u", x1, y1);
+  fprintf(file, " %u %u", x2, y2);
+  fprintf(file, "\n");
+}
+
+static void
+fig_text(void *loutput_, int r, int g, int b, int size, unsigned depth, unsigned x, unsigned y, const char *text)
+{
+  struct lstopo_output *loutput = loutput_;
+  FILE *file = loutput->file;
+  unsigned len = strlen(text);
+  int color = rgb_to_fig(r, g, b);
+  x *= FIG_FACTOR;
+  y *= FIG_FACTOR;
+  size = (size * 16) / 10;
+  fprintf(file, "4 0 %d %u -1 0 %d 0.0 4 %d %u %u %u %s\\001\n", color, depth, size, size * 10, len * size * 10, x, y + size * 10, text);
+}
+
+static struct draw_methods fig_draw_methods = {
+  fig_init,
+  fig_declare_color,
+  fig_box,
+  fig_line,
+  fig_text,
+  NULL, /* textsize not supported, fallback to default estimation in get_textsize() */
+};
+
+void
+output_fig (struct lstopo_output *loutput, const char *filename)
+{
+  FILE *output = open_output(filename, loutput->overwrite);
+  if (!output) {
+    fprintf(stderr, "Failed to open %s for writing (%s)\n", filename, strerror(errno));
+    return;
+  }
+
+  loutput->file = output;
+  loutput->methods = &fig_draw_methods;
+
+  output_draw_start(loutput);
+  output_draw(loutput);
+
+  if (output != stdout)
+    fclose(output);
+}
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo.1in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-no-graphics.1in
similarity index 89%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo.1in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-no-graphics.1in
index 3e4ebe9..8ae0fc9 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo.1in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-no-graphics.1in
@@ -1,11 +1,11 @@
 .\" -*- nroff -*-
-.\" Copyright © 2009-2014 Inria.  All rights reserved.
+.\" Copyright © 2009-2015 Inria.  All rights reserved.
 .\" Copyright © 2009-2010 Université of Bordeaux
 .\" Copyright © 2009-2010 Cisco Systems, Inc.  All rights reserved.
 .\" See COPYING in top-level directory.
 .TH LSTOPO "1" "#HWLOC_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
 .SH NAME
-lstopo, lstopo-no-graphics \- Show the topology of the system
+lstopo, lstopo-no-graphics, hwloc-ls \- Show the topology of the system
 .
 .\" **************************
 .\"    Synopsis Section
@@ -20,6 +20,10 @@ lstopo, lstopo-no-graphics \- Show the topology of the system
 [ \fIoptions \fR]... [ \fIfilename \fR]
 .
 .PP
+.B hwloc-ls
+[ \fIoptions \fR]... [ \fIfilename \fR]
+.
+.PP
 Note that hwloc(7) provides a detailed explanation of the hwloc system; it
 should be read before reading this man page
 .
@@ -55,6 +59,12 @@ The <specification> string must end with a number of PUs.
 Enforce the input in the given format, among \fBxml\fR, \fBfsroot\fR
 and \fBsynthetic\fR.
 .TP
+\fB\-\-export\-synthetic\-flags\fR <flags>
+Enforce flags when exporting to the synthetic format.
+These flags are passed to \fIhwloc_topology_export_synthetic()\fR.
+A value of 2 reverts to the format of hwloc v1.9.
+A value of 3 reverts to the original minimalistic format (before v1.9).
+.TP
 \fB\-v\fR \fB\-\-verbose\fR
 Include additional detail.
 The hwloc-info tool may be used to display even more information
@@ -63,7 +73,7 @@ about specific objects.
 \fB\-s\fR \fB\-\-silent\fR
 Reduce the amount of details to show.
 .TP
-\fB\s\fR \fB\-\-force\fR
+\fB\-f\fR \fB\-\-force\fR
 If the destination file already exists, overwrite it.
 .TP
 \fB\-l\fR \fB\-\-logical\fR
@@ -98,6 +108,7 @@ hwloc supports ignoring any type except PUs and I/O devices.
 However lstopo still offers PU ignoring by hiding PU objects
 in the graphical and textual outputs.
 Note that PU may not be ignored in the XML output.
+Note also that the top-level object type cannot be ignored (usually Machine or System).
 .TP
 \fB\-\-no\-caches\fR
 Do not show caches.
@@ -114,6 +125,11 @@ Do not consider administration limitations.
 \fB\-\-merge\fR
 Do not show levels that do not have a hierarchical impact.
 .TP
+\fB\-\-no\-collapse\fR
+Do not collapse identical PCI devices.
+By default, identical sibling PCI devices (such as many virtual functions
+inside a single physical device) are collapsed.
+.TP
 \fB\-\-restrict\fR <cpuset>
 Restrict the topology to the given cpuset.
 .TP
@@ -123,6 +139,11 @@ This option requires the use of the actual current machine topology
 (or any other topology with \fB\-\-thissystem\fR or with
 HWLOC_THISSYSTEM set to 1 in the environment).
 .TP
+\fB\-\-restrict\-flags\fR <flags>
+Enforce flags when restricting the topology.
+The default is \fB0\fR.
+These flags are passed to \fIhwloc_topology_restrict()\fR.
+.TP
 \fB\-\-no\-io\fB
 Do not show any I/O device or bridge.
 By default, common devices (GPUs, NICs, block devices, ...) and
@@ -140,7 +161,7 @@ interesting bridges are shown.
 .TP
 \fB\-\-thissystem\fR
 Assume that the selected backend provides the topology for the
-system on which we are running. 
+system on which we are running.
 This is useful when using \fB\-\-restrict\fR binding and loading
 a custom topology such as an XML file.
 .TP
@@ -176,6 +197,12 @@ Vertical graphical layout instead of nearly 4/3 ratio.
 If a comma-separated list of types is given, the layout only
 applies to the corresponding containers.
 .TP
+\fB\-\-rect\fR, \fB\-\-rect\fR=<type1,...>
+Rectangular graphical layout with nearly 4/3 ratio,
+including when placing NUMA nodes.
+If a comma-separated list of types is given, the layout only
+applies to the corresponding containers.
+.TP
 \fB\-\-no\-legend\fR
 Remove the text legend at the bottom.
 .TP
@@ -197,13 +224,7 @@ lstopo and lstopo-no-graphics are capable of displaying a topological map of
 the system in a variety of different output formats.  The only difference
 between lstopo and lstopo-no-graphics is that graphical outputs are only
 supported by lstopo, to reduce dependencies on external libraries.
-.
-.PP
-If no filename is specified and the DISPLAY environment variable is set,
-lstopo displays the map in a graphical window.  If no filename is
-specified and the DISPLAY environment variable is
-.I not
-set, a text summary is displayed.
+hwloc-ls is identical to lstopo-no-graphics.
 .
 .PP
 The filename specified directly implies the output format that will be
@@ -217,16 +238,22 @@ CPUs by their color; see the COLORS section, below.
 .SH OUTPUT FORMATS
 .
 .PP
+By default, if no output filename is specific, the output is sent
+to a graphical window if possible in the current environment
+(DISPLAY environment variable set on Unix, etc.).
+Otherwise, a text summary is displayed in the console.
+.
+.PP
 The filename on the command line usually determines the format of the output.
 There are a few filenames that indicate specific output formats and
 devices (e.g., a filename of "-" will output a text summary to
-stdout), but most filenames indicate the desired output format by 
+stdout), but most filenames indicate the desired output format by
 their suffix (e.g., "topo.png" will output a PNG-format file).
 .PP
 The format of the output may also be changed with "\-\-of".
 For instance, "\-\-of pdf" will generate a PDF-format file on the standard
 output, while "\-\-of fig toto" will output a Xfig-format file named "toto".
-
+.
 .PP
 The list of currently supported formats is given below. Any of them may
 be used with "\-\-of" or as a filename suffix.
@@ -241,8 +268,9 @@ Binding, unallowed or offline processors are only annotated in this mode
 if verbose; see the COLORS section, below.
 .
 .TP
-.B txt
-Output an ASCII art representation of the map.
+.B ascii
+Output an ASCII art representation of the map
+(formerly called \fBtxt\fR).
 If outputting to stdout and if colors are supported on the terminal,
 the output will be colorized.
 .
@@ -314,7 +342,7 @@ graphical output formats are supported in your hwloc installation.
 .\"    Colors Section
 .\" **************************
 .SH COLORS
-Individual CPUs are colored in the semi-graphical and graphical output
+Individual CPUs are colored in the graphical output
 formats to indicate different characteristics:
 .TP
 Green
@@ -392,7 +420,8 @@ in the particular case of NUMA nodes, the layout is always a flat
 rectangle, to avoid letting the user believe any particular NUMA
 topology (lstopo is not able to render that yet).
 .
-The layout of a level may be changed with \-\-vert and \-\-horiz.
+The layout of a level may be changed with \-\-vert, \-\-horiz,
+and \-\-rect.
 .
 .\" **************************
 .\"    Examples Section
@@ -403,9 +432,9 @@ To display the machine topology in textual mode:
 
     lstopo-no-graphics
 
-To display the machine topology in pseudo-graphical mode:
+To display the machine topology in ascii-art mode:
 
-    lstopo-no-graphics -.txt
+    lstopo-no-graphics -.ascii
 
 To display in graphical mode (assuming that the DISPLAY environment
 variable is set to a relevant value):
@@ -454,9 +483,9 @@ To show cpusets:
 
     lstopo --cpuset
 
-To only show the cpusets of sockets:
+To only show the cpusets of package:
 
-    lstopo --only socket --cpuset-only
+    lstopo --only package --cpuset-only
 
 Simulate a fake hierarchy; this example shows with 2 NUMA nodes of 2
 processor units:
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-text.c b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-text.c
new file mode 100644
index 0000000..40d8f7f
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-text.c
@@ -0,0 +1,308 @@
+/*
+ * Copyright © 2009 CNRS
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2012 Université Bordeaux
+ * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
+ * See COPYING in top-level directory.
+ */
+
+#include <private/autogen/config.h>
+#include <private/private.h>
+#include <hwloc.h>
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+
+#include "lstopo.h"
+#include "misc.h"
+
+#define indent(output, i) \
+  fprintf (output, "%*s", (int) i, "");
+
+/*
+ * Console fashion text output
+ */
+
+static void
+output_console_obj (hwloc_topology_t topology, hwloc_obj_t l, FILE *output, int logical, int verbose_mode, int collapsed)
+{
+  unsigned idx = logical ? l->logical_index : l->os_index;
+  const char *value;
+  char pidxstr[16] = "P#[collapsed]";
+  char lidxstr[16] = "L#[collapsed]";
+
+  if (!collapsed || l->type != HWLOC_OBJ_PCI_DEVICE) {
+    snprintf(pidxstr, sizeof(pidxstr), "P#%u", l->os_index);
+    snprintf(lidxstr, sizeof(lidxstr), "L#%u", l->logical_index);
+  }
+
+  if (lstopo_show_cpuset < 2) {
+    char type[64], *attr, phys[32] = "";
+    int len;
+    value = hwloc_obj_get_info_by_name(l, "Type");
+    hwloc_obj_type_snprintf (type, sizeof(type), l, verbose_mode-1);
+    if (value)
+      fprintf(output, "%s(%s)", type, value);
+    else
+      fprintf(output, "%s", type);
+    if (l->depth != 0 && idx != (unsigned)-1
+        && l->type != HWLOC_OBJ_MISC
+        && l->type != HWLOC_OBJ_PCI_DEVICE
+        && (l->type != HWLOC_OBJ_BRIDGE || l->attr->bridge.upstream_type == HWLOC_OBJ_BRIDGE_HOST))
+      fprintf(output, " %s", logical ? lidxstr : pidxstr);
+    if (l->name && (l->type == HWLOC_OBJ_MISC || l->type == HWLOC_OBJ_GROUP))
+      fprintf(output, " %s", l->name);
+    if (logical && l->os_index != (unsigned) -1 &&
+	(verbose_mode >= 2 || l->type == HWLOC_OBJ_PU || l->type == HWLOC_OBJ_NUMANODE))
+      snprintf(phys, sizeof(phys), "%s", pidxstr);
+    /* display attributes */
+    len = hwloc_obj_attr_snprintf (NULL, 0, l, " ", verbose_mode-1);
+    attr = malloc(len+1);
+    *attr = '\0';
+    hwloc_obj_attr_snprintf (attr, len+1, l, " ", verbose_mode-1);
+    if (*phys || *attr) {
+      const char *separator = *phys != '\0' && *attr!= '\0' ? " " : "";
+      fprintf(output, " (%s%s%s)",
+	      phys, separator, attr);
+    }
+    free(attr);
+    /* display the root total_memory if not verbose (already shown)
+     * and different from the local_memory (already shown) */
+    if (verbose_mode == 1 && !l->parent && l->memory.total_memory > l->memory.local_memory)
+      fprintf(output, " (%lu%s total)",
+	      (unsigned long) hwloc_memory_size_printf_value(l->memory.total_memory, 0),
+	      hwloc_memory_size_printf_unit(l->memory.total_memory, 0));
+    /* append the name */
+    if (l->name && (l->type == HWLOC_OBJ_OS_DEVICE || verbose_mode >= 2)
+	&& l->type != HWLOC_OBJ_MISC && l->type != HWLOC_OBJ_GROUP)
+      fprintf(output, " \"%s\"", l->name);
+  }
+  if (!l->cpuset)
+    return;
+  if (lstopo_show_cpuset == 1)
+    fprintf(output, " cpuset=");
+  if (lstopo_show_cpuset) {
+    char *cpusetstr;
+    if (lstopo_show_taskset)
+      hwloc_bitmap_taskset_asprintf(&cpusetstr, l->cpuset);
+    else
+      hwloc_bitmap_asprintf(&cpusetstr, l->cpuset);
+    fprintf(output, "%s", cpusetstr);
+    free(cpusetstr);
+  }
+
+  /* annotate if the PU is forbidden/offline/running */
+  if (l->type == HWLOC_OBJ_PU && verbose_mode >= 2) {
+    if (lstopo_pu_offline(l))
+      fprintf(output, " (offline)");
+    else if (lstopo_pu_forbidden(l))
+      fprintf(output, " (forbidden)");
+    else if (lstopo_pu_running(topology, l))
+      fprintf(output, " (running)");
+  }
+}
+
+/* Recursively output topology in a console fashion */
+static void
+output_topology (hwloc_topology_t topology, hwloc_obj_t l, hwloc_obj_t parent, FILE *output, int i, int logical, int verbose_mode)
+{
+  unsigned x;
+  int group_identical = (verbose_mode <= 1) && !lstopo_show_cpuset;
+  unsigned collapse = 1;
+
+  if (l->type == HWLOC_OBJ_PCI_DEVICE) {
+    const char *collapsestr = hwloc_obj_get_info_by_name(l, "lstopoCollapse");
+    if (collapsestr)
+      collapse = atoi(collapsestr);
+    if (!collapse)
+      return;
+  }
+
+  if (group_identical
+      && parent && parent->arity == 1
+      && l->cpuset && parent->cpuset && hwloc_bitmap_isequal(l->cpuset, parent->cpuset)) {
+    /* in non-verbose mode, merge objects with their parent is they are exactly identical */
+    fprintf(output, " + ");
+  } else {
+    if (parent)
+      fprintf(output, "\n");
+    indent (output, 2*i);
+    i++;
+  }
+
+  if (collapse > 1)
+    fprintf(output, "%u x { ", collapse);
+  output_console_obj(topology, l, output, logical, verbose_mode, collapse > 1);
+  if (collapse > 1)
+    fprintf(output, " }");
+
+  for (x=0; x<l->arity; x++)
+    if (l->children[x]->type != HWLOC_OBJ_PU || !lstopo_ignore_pus)
+      output_topology (topology, l->children[x], l, output, i, logical, verbose_mode);
+}
+
+/* Recursive so that multiple depth types are properly shown */
+static void
+output_only (hwloc_topology_t topology, hwloc_obj_t l, FILE *output, int logical, int verbose_mode)
+{
+  unsigned x;
+  if (lstopo_show_only == l->type) {
+    output_console_obj (topology, l, output, logical, verbose_mode, 0);
+    fprintf (output, "\n");
+  }
+  for (x=0; x<l->arity; x++)
+    output_only (topology, l->children[x], output, logical, verbose_mode);
+}
+
+void output_console(struct lstopo_output *loutput, const char *filename)
+{
+  hwloc_topology_t topology = loutput->topology;
+  unsigned topodepth;
+  int verbose_mode = loutput->verbose_mode;
+  int logical = loutput->logical;
+  FILE *output;
+
+  output = open_output(filename, loutput->overwrite);
+  if (!output) {
+    fprintf(stderr, "Failed to open %s for writing (%s)\n", filename, strerror(errno));
+    return;
+  }
+
+  topodepth = hwloc_topology_get_depth(topology);
+
+  /*
+   * if verbose_mode == 0, only print the summary.
+   * if verbose_mode == 1, only print the topology tree.
+   * if verbose_mode > 1, print both.
+   */
+
+  if (lstopo_show_only != (hwloc_obj_type_t)-1) {
+    if (verbose_mode > 1)
+      fprintf(output, "Only showing %s objects\n", hwloc_obj_type_string(lstopo_show_only));
+    output_only (topology, hwloc_get_root_obj(topology), output, logical, verbose_mode);
+  } else if (verbose_mode >= 1) {
+    output_topology (topology, hwloc_get_root_obj(topology), NULL, output, 0, logical, verbose_mode);
+    fprintf(output, "\n");
+  }
+
+  if ((verbose_mode > 1 || !verbose_mode) && lstopo_show_only == (hwloc_obj_type_t)-1) {
+    hwloc_lstopo_show_summary(output, topology);
+ }
+
+  if (verbose_mode > 1 && lstopo_show_only == (hwloc_obj_type_t)-1) {
+    const struct hwloc_distances_s * distances;
+    unsigned depth;
+
+    for (depth = 0; depth < topodepth; depth++) {
+      distances = hwloc_get_whole_distance_matrix_by_depth(topology, depth);
+      if (!distances || !distances->latency)
+        continue;
+      fprintf(output, "relative latency matrix between %ss (depth %u) by %s indexes:\n",
+	      hwloc_obj_type_string(hwloc_get_depth_type(topology, depth)),
+	      depth,
+	      logical ? "logical" : "physical");
+      hwloc_utils_print_distance_matrix(output, topology, hwloc_get_root_obj(topology), distances->nbobjs, depth, distances->latency, logical);
+    }
+  }
+
+  if (verbose_mode > 1 && lstopo_show_only == (hwloc_obj_type_t)-1) {
+    hwloc_const_bitmap_t complete = hwloc_topology_get_complete_cpuset(topology);
+    hwloc_const_bitmap_t topo = hwloc_topology_get_topology_cpuset(topology);
+    hwloc_const_bitmap_t online = hwloc_topology_get_online_cpuset(topology);
+    hwloc_const_bitmap_t allowed = hwloc_topology_get_allowed_cpuset(topology);
+
+    if (complete && !hwloc_bitmap_isequal(topo, complete)) {
+      hwloc_bitmap_t unknown = hwloc_bitmap_alloc();
+      char *unknownstr;
+      hwloc_bitmap_copy(unknown, complete);
+      hwloc_bitmap_andnot(unknown, unknown, topo);
+      hwloc_bitmap_asprintf(&unknownstr, unknown);
+      fprintf (output, "%d processors not represented in topology: %s\n", hwloc_bitmap_weight(unknown), unknownstr);
+      free(unknownstr);
+      hwloc_bitmap_free(unknown);
+    }
+    if (complete && !hwloc_bitmap_isequal(online, complete)) {
+      hwloc_bitmap_t offline = hwloc_bitmap_alloc();
+      char *offlinestr;
+      hwloc_bitmap_copy(offline, complete);
+      hwloc_bitmap_andnot(offline, offline, online);
+      hwloc_bitmap_asprintf(&offlinestr, offline);
+      fprintf (output, "%d processors offline: %s\n", hwloc_bitmap_weight(offline), offlinestr);
+      free(offlinestr);
+      hwloc_bitmap_free(offline);
+    }
+    if (complete && !hwloc_bitmap_isequal(allowed, online)) {
+      if (!hwloc_bitmap_isincluded(online, allowed)) {
+        hwloc_bitmap_t forbidden = hwloc_bitmap_alloc();
+        char *forbiddenstr;
+        hwloc_bitmap_copy(forbidden, online);
+        hwloc_bitmap_andnot(forbidden, forbidden, allowed);
+        hwloc_bitmap_asprintf(&forbiddenstr, forbidden);
+        fprintf(output, "%d processors online but not allowed: %s\n", hwloc_bitmap_weight(forbidden), forbiddenstr);
+        free(forbiddenstr);
+        hwloc_bitmap_free(forbidden);
+      }
+      if (!hwloc_bitmap_isincluded(allowed, online)) {
+        hwloc_bitmap_t potential = hwloc_bitmap_alloc();
+        char *potentialstr;
+        hwloc_bitmap_copy(potential, allowed);
+        hwloc_bitmap_andnot(potential, potential, online);
+        hwloc_bitmap_asprintf(&potentialstr, potential);
+        fprintf(output, "%d processors allowed but not online: %s\n", hwloc_bitmap_weight(potential), potentialstr);
+        free(potentialstr);
+        hwloc_bitmap_free(potential);
+      }
+    }
+    if (!hwloc_topology_is_thissystem(topology))
+      fprintf (output, "Topology not from this system\n");
+  }
+
+  if (output != stdout)
+    fclose(output);
+}
+
+void output_synthetic(struct lstopo_output *loutput, const char *filename)
+{
+  hwloc_topology_t topology = loutput->topology;
+  FILE *output;
+  int length;
+  char sbuffer[1024];
+  char * dbuffer = NULL;
+
+  if (!hwloc_get_root_obj(topology)->symmetric_subtree) {
+    fprintf(stderr, "Cannot output assymetric topology in synthetic format.\n");
+    fprintf(stderr, "Adding --no-io may help making the topology symmetric.\n");
+    return;
+  }
+
+  length = hwloc_topology_export_synthetic(topology, sbuffer, sizeof(sbuffer), lstopo_export_synthetic_flags);
+  if (length < 0)
+    return;
+
+  if (length >= sizeof(sbuffer)) {
+    dbuffer = malloc(length+1 /* \0 */);
+    if (!dbuffer)
+      return;
+
+    length = hwloc_topology_export_synthetic(topology, dbuffer, length+1, lstopo_export_synthetic_flags);
+    if (length < 0)
+      goto out;
+  }
+
+  output = open_output(filename, loutput->overwrite);
+  if (!output) {
+    fprintf(stderr, "Failed to open %s for writing (%s)\n", filename, strerror(errno));
+    goto out;
+  }
+
+  fprintf(output, "%s\n", dbuffer ? dbuffer : sbuffer);
+
+  if (output != stdout)
+    fclose(output);
+
+ out:
+  if (dbuffer)
+    free(dbuffer);
+}
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-windows.c b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-windows.c
similarity index 62%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-windows.c
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-windows.c
index b3b27ca..e41515b 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-windows.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-windows.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2010, 2012 Université Bordeaux 1
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2010, 2012 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -27,6 +27,15 @@ static struct color {
   HGDIOBJ brush;
 } *colors;
 
+struct lstopo_windows_output {
+  struct lstopo_output loutput; /* must be at the beginning */
+  int drawing;
+  PAINTSTRUCT ps;
+  HWND toplevel;
+  unsigned max_x;
+  unsigned max_y;
+};
+
 static int numcolors;
 
 static HGDIOBJ
@@ -44,9 +53,7 @@ rgb_to_brush(int r, int g, int b)
 
 struct draw_methods windows_draw_methods;
 
-static hwloc_topology_t the_topology;
-static int the_logical;
-static int the_legend;
+static struct lstopo_windows_output the_output;
 static int state, control;
 static int x, y, x_delta, y_delta;
 static int finish;
@@ -63,20 +70,22 @@ WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam)
   int redraw = 0;
   switch (message) {
     case WM_PAINT: {
-      HDC hdc;
-      PAINTSTRUCT ps;
-      hdc = BeginPaint(hwnd, &ps);
-      windows_box(&ps, 0xff, 0xff, 0xff, 0, 0, win_width, 0, win_height);
-      output_draw(&windows_draw_methods, the_logical, the_legend, the_topology, &ps);
-      EndPaint(hwnd, &ps);
+      HFONT font;
+      BeginPaint(hwnd, &the_output.ps);
+      font = CreateFont(fontsize, 0, 0, 0, 0, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, NULL);
+      SelectObject(the_output.ps.hdc, (HGDIOBJ) font);
+      windows_box(&the_output, 0xff, 0xff, 0xff, 0, 0, win_width, 0, win_height);
+      output_draw(&the_output.loutput);
+      DeleteObject(font);
+      EndPaint(hwnd, &the_output.ps);
       break;
     }
-    case WM_LBUTTONDOWN: 
+    case WM_LBUTTONDOWN:
       state = 1;
       x = GET_X_LPARAM(lparam);
       y = GET_Y_LPARAM(lparam);
       break;
-    case WM_LBUTTONUP: 
+    case WM_LBUTTONUP:
       state = 0;
       break;
     case WM_MOUSEMOVE:
@@ -156,7 +165,9 @@ WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam)
       }
       break;
     case WM_DESTROY:
-      PostQuitMessage(0);
+      /* only kill the program if closing the actual toplevel, not the fake one */
+      if (hwnd == the_output.toplevel)
+	PostQuitMessage(0);
       return 0;
     case WM_SIZE:
       win_width = LOWORD(lparam);
@@ -194,12 +205,19 @@ WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam)
   return DefWindowProc(hwnd, message, wparam, lparam);
 }
 
-static void *
-windows_start(void *output_ __hwloc_attribute_unused, int width, int height)
+static void
+windows_init(void *output)
 {
+  struct lstopo_windows_output *woutput = output;
   WNDCLASS wndclass;
-  HWND toplevel;
+  HWND toplevel, faketoplevel;
+  unsigned width, height;
+  HFONT font;
 
+  /* make sure WM_DESTROY on the faketoplevel won't kill the program */
+  woutput->toplevel = NULL;
+
+  /* create the toplevel window, with random size for now */
   memset(&wndclass, 0, sizeof(wndclass));
   wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
   wndclass.hCursor = LoadCursor(NULL, IDC_SIZEALL);
@@ -207,6 +225,28 @@ windows_start(void *output_ __hwloc_attribute_unused, int width, int height)
   wndclass.lpfnWndProc = WndProc;
   wndclass.lpszClassName = "lstopo";
 
+  RegisterClass(&wndclass);
+
+  /* compute the maximal needed size, this may require the toplevel window in the future */
+  woutput->max_x = 0;
+  woutput->max_y = 0;
+  woutput->drawing = 0;
+  faketoplevel = CreateWindow("lstopo", "lstopo", WS_OVERLAPPEDWINDOW,
+			      CW_USEDEFAULT, CW_USEDEFAULT,
+			      10, 10, NULL, NULL, NULL, NULL);
+  BeginPaint(faketoplevel, &woutput->ps);
+  font = CreateFont(fontsize, 0, 0, 0, 0, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, NULL);
+  SelectObject(woutput->ps.hdc, (HGDIOBJ) font);
+  output_draw(&woutput->loutput);
+  DeleteObject(font);
+  EndPaint(faketoplevel, &woutput->ps);
+  DestroyWindow(faketoplevel);
+  woutput->drawing = 1;
+
+  /* now create the actual toplevel with the sizes */
+  width = woutput->max_x;
+  height = woutput->max_y;
+
   win_width = width + 2*GetSystemMetrics(SM_CXSIZEFRAME);
   win_height = height + 2*GetSystemMetrics(SM_CYSIZEFRAME) + GetSystemMetrics(SM_CYCAPTION);
 
@@ -216,10 +256,10 @@ windows_start(void *output_ __hwloc_attribute_unused, int width, int height)
   if (win_height > GetSystemMetrics(SM_CYFULLSCREEN))
     win_height = GetSystemMetrics(SM_CYFULLSCREEN);
 
-  RegisterClass(&wndclass);
   toplevel = CreateWindow("lstopo", "lstopo", WS_OVERLAPPEDWINDOW,
 		  CW_USEDEFAULT, CW_USEDEFAULT,
 		  win_width, win_height, NULL, NULL, NULL, NULL);
+  woutput->toplevel = toplevel;
 
   the_width = width;
   the_height = height;
@@ -227,17 +267,21 @@ windows_start(void *output_ __hwloc_attribute_unused, int width, int height)
   the_fontsize = fontsize;
   the_gridsize = gridsize;
 
+  /* and display the window */
   ShowWindow(toplevel, SW_SHOWDEFAULT);
-
-  return toplevel;
 }
 
 static void
-windows_declare_color(void *output_ __hwloc_attribute_unused, int r, int g, int b)
+windows_declare_color(void *output, int r, int g, int b)
 {
+  struct lstopo_windows_output *woutput = output;
   HBRUSH brush;
-  COLORREF color = RGB(r, g, b);
+  COLORREF color;
 
+  if (!woutput->drawing)
+    return;
+
+  color = RGB(r, g, b);
   brush = CreateSolidBrush(color);
   if (!brush) {
     fprintf(stderr,"Could not allocate color %02x%02x%02x\n", r, g, b);
@@ -255,7 +299,21 @@ windows_declare_color(void *output_ __hwloc_attribute_unused, int r, int g, int
 static void
 windows_box(void *output, int r, int g, int b, unsigned depth __hwloc_attribute_unused, unsigned x, unsigned width, unsigned y, unsigned height)
 {
-  PAINTSTRUCT *ps = output;
+  struct lstopo_windows_output *woutput = output;
+  PAINTSTRUCT *ps = &woutput->ps;
+
+  if (!woutput->drawing) {
+    if (x > woutput->max_x)
+      woutput->max_x = x;
+    if (x+width > woutput->max_x)
+      woutput->max_x = x + width;
+    if (y > woutput->max_y)
+      woutput->max_y = y;
+    if (y + height > woutput->max_y)
+      woutput->max_y = y + height;
+    return;
+  }
+
   SelectObject(ps->hdc, rgb_to_brush(r, g, b));
   SetBkColor(ps->hdc, RGB(r, g, b));
   Rectangle(ps->hdc, x - x_delta, y - y_delta, x + width - x_delta, y + height - y_delta);
@@ -264,42 +322,70 @@ windows_box(void *output, int r, int g, int b, unsigned depth __hwloc_attribute_
 static void
 windows_line(void *output, int r, int g, int b, unsigned depth __hwloc_attribute_unused, unsigned x1, unsigned y1, unsigned x2, unsigned y2)
 {
-  PAINTSTRUCT *ps = output;
+  struct lstopo_windows_output *woutput = output;
+  PAINTSTRUCT *ps = &woutput->ps;
+
+  if (!woutput->drawing) {
+    if (x1 > woutput->max_x)
+      woutput->max_x = x1;
+    if (x2 > woutput->max_x)
+      woutput->max_x = x2;
+    if (y1 > woutput->max_y)
+      woutput->max_y = y1;
+    if (y2 > woutput->max_y)
+      woutput->max_y = y2;
+    return;
+  }
+
   SelectObject(ps->hdc, rgb_to_brush(r, g, b));
   MoveToEx(ps->hdc, x1 - x_delta, y1 - y_delta, NULL);
   LineTo(ps->hdc, x2 - x_delta, y2 - y_delta);
 }
 
 static void
-windows_text(void *output, int r, int g, int b, int size, unsigned depth __hwloc_attribute_unused, unsigned x, unsigned y, const char *text)
+windows_text(void *output, int r, int g, int b, int size __hwloc_attribute_unused, unsigned depth __hwloc_attribute_unused, unsigned x, unsigned y, const char *text)
 {
-  PAINTSTRUCT *ps = output;
-  HFONT font;
+  struct lstopo_windows_output *woutput = output;
+  PAINTSTRUCT *ps = &woutput->ps;
+
+  if (!woutput->drawing)
+    return;
+
   SetTextColor(ps->hdc, RGB(r, g, b));
-  font = CreateFont(size, 0, 0, 0, 0, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, NULL);
-  SelectObject(ps->hdc, (HGDIOBJ) font);
   TextOut(ps->hdc, x - x_delta, y - y_delta, text, strlen(text));
-  DeleteObject(font);
+}
+
+static void
+windows_textsize(void *output, const char *text, unsigned textlength, unsigned fontsize __hwloc_attribute_unused, unsigned *width)
+{
+  struct lstopo_windows_output *woutput = output;
+  PAINTSTRUCT *ps = &woutput->ps;
+  SIZE size;
+
+  GetTextExtentPoint32(ps->hdc, text, textlength, &size);
+  *width = size.cx;
 }
 
 struct draw_methods windows_draw_methods = {
-  windows_start,
+  windows_init,
   windows_declare_color,
   windows_box,
   windows_line,
   windows_text,
+  windows_textsize,
 };
 
 void
-output_windows (hwloc_topology_t topology, const char *filename __hwloc_attribute_unused, int overwrite __hwloc_attribute_unused, int logical, int legend, int verbose_mode __hwloc_attribute_unused)
+output_windows (struct lstopo_output *loutput, const char *filename __hwloc_attribute_unused)
 {
-  HWND toplevel;
   MSG msg;
-  the_topology = topology;
-  the_logical = logical;
-  the_legend = legend;
-  toplevel = output_draw_start(&windows_draw_methods, logical, legend, topology, NULL);
-  UpdateWindow(toplevel);
+
+  memset(&the_output, 0, sizeof(the_output));
+  memcpy(&the_output.loutput, loutput, sizeof(*loutput));
+  the_output.loutput.methods = &windows_draw_methods;
+
+  output_draw_start(&the_output.loutput);
+  UpdateWindow(the_output.toplevel);
   while (!finish && GetMessage(&msg, NULL, 0, 0)) {
     TranslateMessage(&msg);
     DispatchMessage(&msg);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-xml.c b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-xml.c
similarity index 59%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-xml.c
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-xml.c
index c8a336a..10d86b9 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-xml.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-xml.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009 Université Bordeaux 1
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -14,7 +14,7 @@
 
 #include "lstopo.h"
 
-void output_xml(hwloc_topology_t topology, const char *filename, int overwrite, int logical __hwloc_attribute_unused, int legend __hwloc_attribute_unused, int verbose_mode __hwloc_attribute_unused)
+void output_xml(struct lstopo_output *loutput, const char *filename)
 {
   struct stat st;
 
@@ -22,12 +22,12 @@ void output_xml(hwloc_topology_t topology, const char *filename, int overwrite,
     filename = "-";
   /* hwloc_topology_export_xml() writes to stdout if "-" is given */
 
-  if (strcmp(filename, "-") && !stat(filename, &st) && !overwrite) {
+  if (strcmp(filename, "-") && !stat(filename, &st) && !loutput->overwrite) {
     fprintf(stderr, "Failed to export XML to %s (%s)\n", filename, strerror(EEXIST));
     return;
   }
 
-  if (hwloc_topology_export_xml(topology, filename) < 0) {
+  if (hwloc_topology_export_xml(loutput->topology, filename) < 0) {
     fprintf(stderr, "Failed to export XML to %s (%s)\n", filename, strerror(errno));
     return;
   }
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo.c b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo.c
similarity index 80%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo.c
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo.c
index 5651265..1928ab6 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo.c
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo.c
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2012 Université Bordeaux 1
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2012, 2015 Université Bordeaux
  * Copyright © 2009-2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -41,6 +41,8 @@ hwloc_obj_type_t lstopo_show_only = (hwloc_obj_type_t) -1;
 int lstopo_show_cpuset = 0;
 int lstopo_show_taskset = 0;
 int lstopo_ignore_pus = 0;
+int lstopo_collapse = 1;
+unsigned long lstopo_export_synthetic_flags = 0;
 
 char **lstopo_append_legends = NULL;
 unsigned lstopo_append_legends_nr = 0;
@@ -49,9 +51,6 @@ unsigned int fontsize = 10;
 unsigned int gridsize = 10;
 enum lstopo_orient_e force_orient[HWLOC_OBJ_TYPE_MAX];
 
-static int overwrite = 0;
-static int logical = -1;
-static unsigned int legend = 1;
 static unsigned int top = 0;
 
 FILE *open_output(const char *filename, int overwrite)
@@ -96,6 +95,8 @@ static hwloc_obj_t insert_task(hwloc_topology_t topology, hwloc_cpuset_t cpuset,
       fprintf(stderr, "Failed to insert process `%s' with cpuset %s\n", name, s);
     }
     free(s);
+  } else {
+    hwloc_obj_add_info(obj, "Type", "Process");
   }
 
   return obj;
@@ -230,11 +231,67 @@ static void add_process_objects(hwloc_topology_t topology)
 #endif /* HAVE_DIRENT_H */
 }
 
+static void
+lstopo_add_collapse_attributes(hwloc_topology_t topology)
+{
+  hwloc_obj_t obj, collapser = NULL;
+  unsigned collapsed = 0;
+  /* collapse identical PCI devs */
+  for(obj = hwloc_get_next_pcidev(topology, NULL); obj; obj = hwloc_get_next_pcidev(topology, obj)) {
+    if (collapser) {
+      if (!obj->arity
+	  && obj->parent == collapser->parent
+	  && obj->attr->pcidev.vendor_id == collapser->attr->pcidev.vendor_id
+	  && obj->attr->pcidev.device_id == collapser->attr->pcidev.device_id
+	  && obj->attr->pcidev.subvendor_id == collapser->attr->pcidev.subvendor_id
+	  && obj->attr->pcidev.subdevice_id == collapser->attr->pcidev.subdevice_id) {
+	/* collapse another one */
+	hwloc_obj_add_info(obj, "lstopoCollapse", "0");
+	collapsed++;
+	continue;
+      } else if (collapsed > 1) {
+	/* end this collapsing */
+	char text[10];
+	snprintf(text, sizeof(text), "%u", collapsed);
+	hwloc_obj_add_info(collapser, "lstopoCollapse", text);
+	collapser = NULL;
+	collapsed = 0;
+      }
+    }
+    if (!obj->arity) {
+      /* start a new collapsing */
+      collapser = obj;
+      collapsed = 1;
+    }
+  }
+  if (collapsed > 1) {
+    /* end this collapsing */
+    char text[10];
+    snprintf(text, sizeof(text), "%u", collapsed);
+    hwloc_obj_add_info(collapser, "lstopoCollapse", text);
+  }
+}
+
 void usage(const char *name, FILE *where)
 {
   fprintf (where, "Usage: %s [ options ] ... [ filename.format ]\n\n", name);
-  fprintf (where, "See lstopo(1) for more details.\n\n");
-  fprintf (where, "Supported output file formats: console, txt, fig"
+  fprintf (where, "See lstopo(1) for more details.\n");
+
+  fprintf (where, "\nDefault output is "
+#ifdef LSTOPO_HAVE_GRAPHICS
+#ifdef HWLOC_WIN_SYS
+		  "graphical"
+#elif CAIRO_HAS_XLIB_SURFACE && (defined HWLOC_HAVE_X11_KEYSYM)
+		  "graphical (X11) if DISPLAY is set, console otherwise"
+#else
+		  "console"
+#endif
+#else
+		  "console"
+#endif
+		  ".\n");
+
+  fprintf (where, "Supported output file formats: console, ascii, fig"
 #ifdef LSTOPO_HAVE_GRAPHICS
 #if CAIRO_HAS_PDF_SURFACE
 		  ", pdf"
@@ -275,8 +332,10 @@ void usage(const char *name, FILE *where)
   fprintf (where, "  --no-icaches          Do not show instruction caches\n");
   fprintf (where, "  --merge               Do not show levels that do not have a hierarchical\n"
                   "                        impact\n");
+  fprintf (where, "  --no-collapse         Do not collapse identical PCI devices\n");
   fprintf (where, "  --restrict <cpuset>   Restrict the topology to processors listed in <cpuset>\n");
   fprintf (where, "  --restrict binding    Restrict the topology to the current process binding\n");
+  fprintf (where, "  --restrict-flags <n>  Set the flags to be used during restrict\n");
   fprintf (where, "  --no-io               Do not show any I/O device or bridge\n");
   fprintf (where, "  --no-bridges          Do not any I/O bridge except hostbridges\n");
   fprintf (where, "  --whole-io            Show all I/O devices and bridges\n");
@@ -291,9 +350,12 @@ void usage(const char *name, FILE *where)
   fprintf (where, "  --gridsize 10         Set size of margin between elements\n");
   fprintf (where, "  --horiz[=<type,...>]  Horizontal graphical layout instead of nearly 4/3 ratio\n");
   fprintf (where, "  --vert[=<type,...>]   Vertical graphical layout instead of nearly 4/3 ratio\n");
+  fprintf (where, "  --rect[=<type,...>]   Rectangular graphical layout with nearly 4/3 ratio\n");
   fprintf (where, "  --no-legend           Remove the text legend at the bottom\n");
   fprintf (where, "  --append-legend <s>   Append a new line of text at the bottom of the legend\n");
   fprintf (where, "Miscellaneous options:\n");
+  fprintf (where, "  --export-synthetic-flags <n>\n"
+		  "                        Set flags during the synthetic topology export\n");
   fprintf (where, "  --ps --top            Display processes within the hierarchy\n");
   fprintf (where, "  --version             Report version and exit\n");
 }
@@ -302,7 +364,7 @@ enum output_format {
   LSTOPO_OUTPUT_DEFAULT,
   LSTOPO_OUTPUT_CONSOLE,
   LSTOPO_OUTPUT_SYNTHETIC,
-  LSTOPO_OUTPUT_TEXT,
+  LSTOPO_OUTPUT_ASCII,
   LSTOPO_OUTPUT_FIG,
   LSTOPO_OUTPUT_PNG,
   LSTOPO_OUTPUT_PDF,
@@ -320,8 +382,9 @@ parse_output_format(const char *name, char *callname)
     return LSTOPO_OUTPUT_CONSOLE;
   else if (!strcasecmp(name, "synthetic"))
     return LSTOPO_OUTPUT_SYNTHETIC;
-  else if (!strcasecmp(name, "txt"))
-    return LSTOPO_OUTPUT_TEXT;
+  else if (!strcasecmp(name, "ascii")
+	   || !strcasecmp(name, "txt") /* backward compat with 1.10 */)
+    return LSTOPO_OUTPUT_ASCII;
   else if (!strcasecmp(name, "fig"))
     return LSTOPO_OUTPUT_FIG;
   else if (!strcasecmp(name, "png"))
@@ -346,10 +409,10 @@ int
 main (int argc, char *argv[])
 {
   int err;
-  int verbose_mode = LSTOPO_VERBOSE_MODE_DEFAULT;
   hwloc_topology_t topology;
   const char *filename = NULL;
   unsigned long flags = HWLOC_TOPOLOGY_FLAG_IO_DEVICES | HWLOC_TOPOLOGY_FLAG_IO_BRIDGES | HWLOC_TOPOLOGY_FLAG_ICACHES;
+  unsigned long restrict_flags = 0;
   int merge = 0;
   int ignorecache = 0;
   char * callname;
@@ -357,14 +420,20 @@ main (int argc, char *argv[])
   enum hwloc_utils_input_format input_format = HWLOC_UTILS_INPUT_DEFAULT;
   enum output_format output_format = LSTOPO_OUTPUT_DEFAULT;
   char *restrictstring = NULL;
+  struct lstopo_output loutput;
   int opt;
   unsigned i;
 
+  loutput.overwrite = 0;
+  loutput.logical = -1;
+  loutput.legend = 1;
+  loutput.verbose_mode = LSTOPO_VERBOSE_MODE_DEFAULT;
+
   for(i=0; i<HWLOC_OBJ_TYPE_MAX; i++)
     force_orient[i] = LSTOPO_ORIENT_NONE;
   force_orient[HWLOC_OBJ_PU] = LSTOPO_ORIENT_HORIZ;
   force_orient[HWLOC_OBJ_CACHE] = LSTOPO_ORIENT_HORIZ;
-  force_orient[HWLOC_OBJ_NODE] = LSTOPO_ORIENT_HORIZ;
+  force_orient[HWLOC_OBJ_NUMANODE] = LSTOPO_ORIENT_HORIZ;
 
   /* enable verbose backends */
   putenv("HWLOC_XML_VERBOSE=1");
@@ -391,18 +460,18 @@ main (int argc, char *argv[])
     {
       opt = 0;
       if (!strcmp (argv[0], "-v") || !strcmp (argv[0], "--verbose")) {
-	verbose_mode++;
+	loutput.verbose_mode++;
       } else if (!strcmp (argv[0], "-s") || !strcmp (argv[0], "--silent")) {
-	verbose_mode--;
+	loutput.verbose_mode--;
       } else if (!strcmp (argv[0], "-h") || !strcmp (argv[0], "--help")) {
 	usage(callname, stdout);
         exit(EXIT_SUCCESS);
       } else if (!strcmp (argv[0], "-f") || !strcmp (argv[0], "--force"))
-	overwrite = 1;
+	loutput.overwrite = 1;
       else if (!strcmp (argv[0], "-l") || !strcmp (argv[0], "--logical"))
-	logical = 1;
+	loutput.logical = 1;
       else if (!strcmp (argv[0], "-p") || !strcmp (argv[0], "--physical"))
-	logical = 0;
+	loutput.logical = 0;
       else if (!strcmp (argv[0], "-c") || !strcmp (argv[0], "--cpuset"))
 	lstopo_show_cpuset = 1;
       else if (!strcmp (argv[0], "-C") || !strcmp (argv[0], "--cpuset-only"))
@@ -450,6 +519,8 @@ main (int argc, char *argv[])
 	flags |= HWLOC_TOPOLOGY_FLAG_WHOLE_IO;
       else if (!strcmp (argv[0], "--merge"))
 	merge = 1;
+      else if (!strcmp (argv[0], "--no-collapse"))
+	lstopo_collapse = 0;
       else if (!strcmp (argv[0], "--thissystem"))
 	flags |= HWLOC_TOPOLOGY_FLAG_IS_THISSYSTEM;
       else if (!strcmp (argv[0], "--restrict")) {
@@ -460,16 +531,35 @@ main (int argc, char *argv[])
 	restrictstring = strdup(argv[1]);
 	opt = 1;
       }
-
+      else if (!strcmp (argv[0], "--restrict-flags")) {
+	if (argc < 2) {
+	  usage (callname, stderr);
+	  exit(EXIT_FAILURE);
+	}
+	restrict_flags = (unsigned long) strtoull(argv[1], NULL, 0);
+	opt = 1;
+      }
+      else if (!strcmp (argv[0], "--export-synthetic-flags")) {
+	if (argc < 2) {
+	  usage (callname, stderr);
+	  exit(EXIT_FAILURE);
+	}
+	lstopo_export_synthetic_flags = (unsigned long) strtoull(argv[1], NULL, 0);
+	opt = 1;
+      }
       else if (!strcmp (argv[0], "--horiz"))
 	for(i=0; i<HWLOC_OBJ_TYPE_MAX; i++)
 	  force_orient[i] = LSTOPO_ORIENT_HORIZ;
       else if (!strcmp (argv[0], "--vert"))
 	for(i=0; i<HWLOC_OBJ_TYPE_MAX; i++)
 	  force_orient[i] = LSTOPO_ORIENT_VERT;
+      else if (!strcmp (argv[0], "--rect"))
+	for(i=0; i<HWLOC_OBJ_TYPE_MAX; i++)
+	  force_orient[i] = LSTOPO_ORIENT_RECT;
       else if (!strncmp (argv[0], "--horiz=", 8)
-	       || !strncmp (argv[0], "--vert=", 7)) {
-	enum lstopo_orient_e orient = (argv[0][2] == 'h') ? LSTOPO_ORIENT_HORIZ : LSTOPO_ORIENT_VERT;
+	       || !strncmp (argv[0], "--vert=", 7)
+	       || !strncmp (argv[0], "--rect=", 7)) {
+	enum lstopo_orient_e orient = (argv[0][2] == 'h') ? LSTOPO_ORIENT_HORIZ : (argv[0][2] == 'v') ? LSTOPO_ORIENT_VERT : LSTOPO_ORIENT_RECT;
 	char *tmp = argv[0] + ((argv[0][2] == 'h') ? 8 : 7);
 	while (tmp) {
 	  char *end = strchr(tmp, ',');
@@ -503,7 +593,7 @@ main (int argc, char *argv[])
 	opt = 1;
       }
       else if (!strcmp (argv[0], "--no-legend")) {
-	legend = 0;
+	loutput.legend = 0;
       }
       else if (!strcmp (argv[0], "--append-legend")) {
 	if (argc < 2) {
@@ -530,7 +620,7 @@ main (int argc, char *argv[])
       } else if (!strcmp (argv[0], "--ps") || !strcmp (argv[0], "--top"))
         top = 1;
       else if (!strcmp (argv[0], "--version")) {
-          printf("%s %s\n", callname, VERSION);
+          printf("%s %s\n", callname, HWLOC_VERSION);
           exit(EXIT_SUCCESS);
       } else if (!strcmp (argv[0], "--output-format") || !strcmp (argv[0], "--of")) {
 	if (argc < 2) {
@@ -565,7 +655,7 @@ main (int argc, char *argv[])
     hwloc_topology_ignore_all_keep_structure(topology);
 
   if (input) {
-    err = hwloc_utils_enable_input_format(topology, input, input_format, verbose_mode > 1, callname);
+    err = hwloc_utils_enable_input_format(topology, input, input_format, loutput.verbose_mode > 1, callname);
     if (err)
       return err;
   }
@@ -597,7 +687,7 @@ main (int argc, char *argv[])
     } else {
       hwloc_bitmap_sscanf(restrictset, restrictstring);
     }
-    err = hwloc_topology_restrict (topology, restrictset, 0);
+    err = hwloc_topology_restrict (topology, restrictset, restrict_flags);
     if (err) {
       perror("Restricting the topology");
       /* fallthrough */
@@ -626,80 +716,86 @@ main (int argc, char *argv[])
   if (output_format == LSTOPO_OUTPUT_DEFAULT) {
     if (lstopo_show_cpuset
         || lstopo_show_only != (hwloc_obj_type_t)-1
-        || verbose_mode != LSTOPO_VERBOSE_MODE_DEFAULT)
+        || loutput.verbose_mode != LSTOPO_VERBOSE_MODE_DEFAULT)
       output_format = LSTOPO_OUTPUT_CONSOLE;
   }
 
-  if (logical == -1) {
+  if (loutput.logical == -1) {
     if (output_format == LSTOPO_OUTPUT_CONSOLE)
-      logical = 1;
+      loutput.logical = 1;
     else if (output_format != LSTOPO_OUTPUT_DEFAULT)
-      logical = 0;
+      loutput.logical = 0;
   }
 
+  loutput.topology = topology;
+  loutput.file = NULL;
+
+  if (output_format != LSTOPO_OUTPUT_XML && lstopo_collapse)
+    lstopo_add_collapse_attributes(topology);
+
   switch (output_format) {
     case LSTOPO_OUTPUT_DEFAULT:
 #ifdef LSTOPO_HAVE_GRAPHICS
 #if CAIRO_HAS_XLIB_SURFACE && defined HWLOC_HAVE_X11_KEYSYM
       if (getenv("DISPLAY")) {
-        if (logical == -1)
-          logical = 0;
-        output_x11(topology, NULL, overwrite, logical, legend, verbose_mode);
+        if (loutput.logical == -1)
+          loutput.logical = 0;
+        output_x11(&loutput, NULL);
       } else
 #endif /* CAIRO_HAS_XLIB_SURFACE */
 #ifdef HWLOC_WIN_SYS
       {
-        if (logical == -1)
-          logical = 0;
-        output_windows(topology, NULL, overwrite, logical, legend, verbose_mode);
+        if (loutput.logical == -1)
+          loutput.logical = 0;
+        output_windows(&loutput, NULL);
       }
 #endif
 #endif /* !LSTOPO_HAVE_GRAPHICS */
 #if !defined HWLOC_WIN_SYS || !defined LSTOPO_HAVE_GRAPHICS
       {
-        if (logical == -1)
-          logical = 1;
-        output_console(topology, NULL, overwrite, logical, legend, verbose_mode);
+        if (loutput.logical == -1)
+          loutput.logical = 1;
+        output_console(&loutput, NULL);
       }
 #endif
       break;
 
     case LSTOPO_OUTPUT_CONSOLE:
-      output_console(topology, filename, overwrite, logical, legend, verbose_mode);
+      output_console(&loutput, filename);
       break;
     case LSTOPO_OUTPUT_SYNTHETIC:
-      output_synthetic(topology, filename, overwrite, logical, legend, verbose_mode);
+      output_synthetic(&loutput, filename);
       break;
-    case LSTOPO_OUTPUT_TEXT:
-      output_text(topology, filename, overwrite, logical, legend, verbose_mode);
+    case LSTOPO_OUTPUT_ASCII:
+      output_ascii(&loutput, filename);
       break;
     case LSTOPO_OUTPUT_FIG:
-      output_fig(topology, filename, overwrite, logical, legend, verbose_mode);
+      output_fig(&loutput, filename);
       break;
 #ifdef LSTOPO_HAVE_GRAPHICS
 # if CAIRO_HAS_PNG_FUNCTIONS
     case LSTOPO_OUTPUT_PNG:
-      output_png(topology, filename, overwrite, logical, legend, verbose_mode);
+      output_png(&loutput, filename);
       break;
 # endif /* CAIRO_HAS_PNG_FUNCTIONS */
 # if CAIRO_HAS_PDF_SURFACE
     case LSTOPO_OUTPUT_PDF:
-      output_pdf(topology, filename, overwrite, logical, legend, verbose_mode);
+      output_pdf(&loutput, filename);
       break;
 # endif /* CAIRO_HAS_PDF_SURFACE */
 # if CAIRO_HAS_PS_SURFACE
     case LSTOPO_OUTPUT_PS:
-      output_ps(topology, filename, overwrite, logical, legend, verbose_mode);
+      output_ps(&loutput, filename);
       break;
 #endif /* CAIRO_HAS_PS_SURFACE */
 #if CAIRO_HAS_SVG_SURFACE
     case LSTOPO_OUTPUT_SVG:
-      output_svg(topology, filename, overwrite, logical, legend, verbose_mode);
+      output_svg(&loutput, filename);
       break;
 #endif /* CAIRO_HAS_SVG_SURFACE */
 #endif /* LSTOPO_HAVE_GRAPHICS */
     case LSTOPO_OUTPUT_XML:
-      output_xml(topology, filename, overwrite, logical, legend, verbose_mode);
+      output_xml(&loutput, filename);
       break;
     default:
       fprintf(stderr, "file format not supported\n");
@@ -707,6 +803,7 @@ main (int argc, char *argv[])
       exit(EXIT_FAILURE);
   }
 
+  output_draw_clear(&loutput);
   hwloc_topology_destroy (topology);
 
   for(i=0; i<lstopo_append_legends_nr; i++)
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo.desktop b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo.desktop
new file mode 100644
index 0000000..92a7302
--- /dev/null
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo.desktop
@@ -0,0 +1,10 @@
+# should only be used when lstopo is built with Cairo/X11 support
+# so that no terminal is required
+[Desktop Entry]
+Name=Hardware Locality lstopo
+Comment=Show hardware topology
+Exec=lstopo
+Terminal=false
+Type=Application
+Categories=System;
+Keywords=System;Utility;
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo.h b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo.h
similarity index 65%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo.h
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo.h
index 9747447..0a8b164 100644
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo.h
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo.h
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
- * Copyright © 2009-2014 Inria.  All rights reserved.
- * Copyright © 2009-2010, 2012 Université Bordeaux 1
+ * Copyright © 2009-2015 Inria.  All rights reserved.
+ * Copyright © 2009-2010, 2012, 2015 Université Bordeaux
  * Copyright © 2011 Cisco Systems, Inc.  All rights reserved.
  * See COPYING in top-level directory.
  */
@@ -12,6 +12,7 @@
 #include <hwloc.h>
 
 extern int lstopo_ignore_pus;
+extern int lstopo_collapse;
 extern hwloc_obj_type_t lstopo_show_only;
 extern int lstopo_show_cpuset;
 extern int lstopo_show_taskset;
@@ -19,19 +20,35 @@ extern int lstopo_pid_number;
 extern hwloc_pid_t lstopo_pid;
 extern char ** lstopo_append_legends;
 extern unsigned lstopo_append_legends_nr;
-
-typedef void output_method (struct hwloc_topology *topology, const char *output, int overwrite, int logical, int legend, int verbose_mode);
+extern unsigned long lstopo_export_synthetic_flags;
 
 FILE *open_output(const char *filename, int overwrite) __hwloc_attribute_malloc;
 
-extern output_method output_console, output_synthetic, output_text, output_x11, output_fig, output_png, output_pdf, output_ps, output_svg, output_windows, output_xml;
+struct draw_methods;
+
+/* if embedded in backend-specific output structure, must be at the beginning */
+struct lstopo_output {
+  FILE *file;
+  hwloc_topology_t topology;
+  int logical;
+  int legend;
+  int overwrite;
+  int verbose_mode;
+  struct draw_methods *methods;
+  unsigned min_pu_textwidth;
+};
+
+typedef void output_method (struct lstopo_output *output, const char *filename);
+
+extern output_method output_console, output_synthetic, output_ascii, output_x11, output_fig, output_png, output_pdf, output_ps, output_svg, output_windows, output_xml;
 
 struct draw_methods {
-  void* (*start) (void *output, int width, int height);
+  void (*init) (void *output);
   void (*declare_color) (void *output, int r, int g, int b);
   void (*box) (void *output, int r, int g, int b, unsigned depth, unsigned x, unsigned width, unsigned y, unsigned height);
   void (*line) (void *output, int r, int g, int b, unsigned depth, unsigned x1, unsigned y1, unsigned x2, unsigned y2);
   void (*text) (void *output, int r, int g, int b, int size, unsigned depth, unsigned x, unsigned y, const char *text);
+  void (*textsize) (void *output, const char *text, unsigned textlength, unsigned fontsize, unsigned *width);
 };
 
 extern unsigned int gridsize, fontsize;
@@ -39,13 +56,15 @@ extern unsigned int gridsize, fontsize;
 enum lstopo_orient_e {
   LSTOPO_ORIENT_NONE = 0,
   LSTOPO_ORIENT_HORIZ,
-  LSTOPO_ORIENT_VERT
+  LSTOPO_ORIENT_VERT,
+  LSTOPO_ORIENT_RECT
 };
 /* orientation of children within an object of the given type */
 extern enum lstopo_orient_e force_orient[];
 
-extern void *output_draw_start(struct draw_methods *draw_methods, int logical, int legend, struct hwloc_topology *topology, void *output);
-extern void output_draw(struct draw_methods *draw_methods, int logical, int legend, struct hwloc_topology *topology, void *output);
+extern void output_draw_start(struct lstopo_output *output);
+extern void output_draw(struct lstopo_output *output);
+extern void output_draw_clear(struct lstopo_output *output);
 
 int rgb_to_color(int r, int g, int b) __hwloc_attribute_const;
 int declare_color(int r, int g, int b);
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-ls.output b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/test-hwloc-ls.output
similarity index 100%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-ls.output
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/test-hwloc-ls.output
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-ls.sh.in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/test-hwloc-ls.sh.in
similarity index 87%
rename from src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-ls.sh.in
rename to src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/test-hwloc-ls.sh.in
index e8e6cb8..e440982 100755
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-ls.sh.in
+++ b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/test-hwloc-ls.sh.in
@@ -4,12 +4,12 @@
 #
 # Copyright © 2009 CNRS
 # Copyright © 2009-2013 Inria.  All rights reserved.
-# Copyright © 2009, 2011 Université Bordeaux 1
+# Copyright © 2009, 2011 Université Bordeaux
 # See COPYING in top-level directory.
 #
 
 HWLOC_top_builddir="@HWLOC_top_builddir@"
-ls="$HWLOC_top_builddir/utils/lstopo-no-graphics"
+ls="$HWLOC_top_builddir/utils/lstopo/lstopo-no-graphics"
 HWLOC_top_srcdir="@HWLOC_top_srcdir@"
 
 HWLOC_PLUGINS_PATH=${HWLOC_top_builddir}/src
@@ -51,5 +51,5 @@ $ls
   HWLOC_NO_LIBXML_EXPORT=1 $ls $tmp/test.xml
   $ls --input "ma:1 no:2 so:1 ca:2 2" $tmp/test.synthetic
 ) > "$file"
-diff @HWLOC_DIFF_U@ $HWLOC_top_srcdir/utils/test-hwloc-ls.output "$file"
+diff @HWLOC_DIFF_U@ $HWLOC_top_srcdir/utils/lstopo/test-hwloc-ls.output "$file"
 rm -rf "$tmp"
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-annotate.output b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-annotate.output
deleted file mode 100644
index b6c934f..0000000
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-annotate.output
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE topology SYSTEM "hwloc.dtd">
-<topology>
-  <object type="Machine" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" local_memory="4014030848">
-    <page_type size="4096" count="979988"/>
-    <page_type size="2097152" count="0"/>
-    <info name="DMIProductName" value="Latitude E6410"/>
-    <info name="DMIProductVersion" value="0001"/>
-    <info name="DMIBoardVendor" value="Dell Inc."/>
-    <info name="DMIBoardName" value=" "/>
-    <info name="DMIBoardVersion" value=" "/>
-    <info name="DMIBoardAssetTag" value=" "/>
-    <info name="DMIChassisVendor" value="Dell Inc."/>
-    <info name="DMIChassisType" value="9"/>
-    <info name="DMIChassisVersion" value=" "/>
-    <info name="DMIChassisAssetTag" value=""/>
-    <info name="DMIBIOSVendor" value="Dell Inc."/>
-    <info name="DMIBIOSVersion" value="A12"/>
-    <info name="DMIBIOSDate" value="05/09/2012"/>
-    <info name="DMISysVendor" value="Dell Inc."/>
-    <info name="Backend" value="Linux"/>
-    <info name="OSName" value="Linux"/>
-    <info name="OSRelease" value="3.2.0-3-amd64"/>
-    <info name="OSVersion" value="#1 SMP Thu Jun 28 09:07:26 UTC 2012"/>
-    <info name="HostName" value="rhododendron"/>
-    <info name="Architecture" value="x86_64"/>
-    <info name="Foo" value="Bar"/>
-    <object type="Socket" os_index="0" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f">
-      <info name="CPUModel" value="Intel(R) Core(TM) i7 CPU       M 620  @ 2.67GHz"/>
-      <info name="CPUType" value="x86_64"/>
-      <info name="Foo2" value="Bar3"/>
-      <object type="Cache" cpuset="0x0000000f" complete_cpuset="0x0000000f" online_cpuset="0x0000000f" allowed_cpuset="0x0000000f" cache_size="4194304" depth="3" cache_linesize="64" cache_associativity="16" cache_type="0">
-        <info name="Foo" value="Bar"/>
-        <object type="Cache" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-          <object type="Cache" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-            <info name="Foo" value="Bar"/>
-            <object type="Core" os_index="0" cpuset="0x00000005" complete_cpuset="0x00000005" online_cpuset="0x00000005" allowed_cpuset="0x00000005">
-              <info name="Foo2" value="Bar2"/>
-              <object type="PU" os_index="0" cpuset="0x00000001" complete_cpuset="0x00000001" online_cpuset="0x00000001" allowed_cpuset="0x00000001">
-                <info name="Foo" value="Bar"/>
-              </object>
-              <object type="PU" os_index="2" cpuset="0x00000004" complete_cpuset="0x00000004" online_cpuset="0x00000004" allowed_cpuset="0x00000004">
-                <info name="Foo" value="Bar"/>
-              </object>
-            </object>
-          </object>
-        </object>
-        <object type="Cache" cpuset="0x0000000a" complete_cpuset="0x0000000a" online_cpuset="0x0000000a" allowed_cpuset="0x0000000a" cache_size="262144" depth="2" cache_linesize="64" cache_associativity="8" cache_type="0">
-          <info name="Foo" value="Bar"/>
-          <object type="Cache" cpuset="0x0000000a" complete_cpuset="0x0000000a" online_cpuset="0x0000000a" allowed_cpuset="0x0000000a" cache_size="32768" depth="1" cache_linesize="64" cache_associativity="8" cache_type="1">
-            <info name="Foo" value="Bar"/>
-            <object type="Core" os_index="2" cpuset="0x0000000a" complete_cpuset="0x0000000a" online_cpuset="0x0000000a" allowed_cpuset="0x0000000a">
-              <info name="Foo2" value="Bar2"/>
-              <object type="PU" os_index="1" cpuset="0x00000002" complete_cpuset="0x00000002" online_cpuset="0x00000002" allowed_cpuset="0x00000002">
-                <info name="Foo" value="Bar"/>
-              </object>
-              <object type="PU" os_index="3" cpuset="0x00000008" complete_cpuset="0x00000008" online_cpuset="0x00000008" allowed_cpuset="0x00000008">
-                <info name="Foo" value="Bar"/>
-              </object>
-            </object>
-          </object>
-        </object>
-      </object>
-    </object>
-  </object>
-</topology>
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-annotate.sh.in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-annotate.sh.in
deleted file mode 100644
index 39ca906..0000000
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-annotate.sh.in
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/sh
-#-*-sh-*-
-
-#
-# Copyright © 2009-2013 Inria.  All rights reserved.
-# See COPYING in top-level directory.
-#
-
-HWLOC_top_builddir="@HWLOC_top_builddir@"
-annotate="$HWLOC_top_builddir/utils/hwloc-annotate"
-HWLOC_top_srcdir="@HWLOC_top_srcdir@"
-
-HWLOC_PLUGINS_PATH=${HWLOC_top_builddir}/src
-export HWLOC_PLUGINS_PATH
-
-if test x at HWLOC_XML_LOCALIZED@ = x1; then
-  # make sure we use default numeric formats
-  LANG=C
-  LC_ALL=C
-  export LANG LC_ALL
-fi
-
-: ${TMPDIR=/tmp}
-{
-  tmp=`
-    (umask 077 && mktemp -d "$TMPDIR/fooXXXXXX") 2>/dev/null
-  ` &&
-  test -n "$tmp" && test -d "$tmp"
-} || {
-  tmp=$TMPDIR/foo$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || exit $?
-file="$tmp/test-hwloc-annotate.output"
-
-set -e
-
-$annotate $HWLOC_top_srcdir/utils/test-hwloc-annotate.input $file all info Foo Bar
-$annotate --ci $file $file Core:all info Foo2 Bar2
-$annotate --ci $file $file L2Cache:0 none
-$annotate --ri $file $file socket:all info Foo
-$annotate $file $file socket:0 info Foo2 Bar
-$annotate $file $file socket:0 info Foo2 Bar2
-$annotate --ri $file $file socket:0 info Foo2 Bar3
-
-diff @HWLOC_DIFF_U@ $HWLOC_top_srcdir/utils/test-hwloc-annotate.output "$file"
-rm -rf "$tmp"
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-assembler.sh.in b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-assembler.sh.in
deleted file mode 100755
index cdd0406..0000000
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-assembler.sh.in
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh
-#-*-sh-*-
-
-#
-# Copyright © 2009-2013 Inria.  All rights reserved.
-# Copyright © 2009, 2011 Université Bordeaux 1
-# See COPYING in top-level directory.
-#
-
-HWLOC_top_builddir="@HWLOC_top_builddir@"
-assembler="$HWLOC_top_builddir/utils/hwloc-assembler"
-HWLOC_top_srcdir="@HWLOC_top_srcdir@"
-
-HWLOC_PLUGINS_PATH=${HWLOC_top_builddir}/src
-export HWLOC_PLUGINS_PATH
-
-if test x at HWLOC_XML_LOCALIZED@ = x1; then
-  # make sure we use default numeric formats
-  LANG=C
-  LC_ALL=C
-  export LANG LC_ALL
-fi
-
-: ${TMPDIR=/tmp}
-{
-  tmp=`
-    (umask 077 && mktemp -d "$TMPDIR/fooXXXXXX") 2>/dev/null
-  ` &&
-  test -n "$tmp" && test -d "$tmp"
-} || {
-  tmp=$TMPDIR/foo$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || exit $?
-file="$tmp/test-hwloc-assembler.output"
-
-set -e
-
-$assembler $file \
-	--name input1 $HWLOC_top_srcdir/utils/test-hwloc-assembler.input1 \
-	--name input2 $HWLOC_top_srcdir/utils/test-hwloc-assembler.input2 \
-	--name input1again $HWLOC_top_srcdir/utils/test-hwloc-assembler.input1
-diff @HWLOC_DIFF_U@ $HWLOC_top_srcdir/utils/test-hwloc-assembler.output "$file"
-rm -rf "$tmp"
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-compress-dir.input.tar.gz b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-compress-dir.input.tar.gz
deleted file mode 100644
index 5e34c78..0000000
Binary files a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-compress-dir.input.tar.gz and /dev/null differ
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-compress-dir.output.tar.gz b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-compress-dir.output.tar.gz
deleted file mode 100644
index 6678428..0000000
Binary files a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-compress-dir.output.tar.gz and /dev/null differ
diff --git a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-distrib.output b/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-distrib.output
deleted file mode 100644
index b74d5a3..0000000
--- a/src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-distrib.output
+++ /dev/null
@@ -1,67 +0,0 @@
-0x0000000f
-0x000000f0
-
-0x00000003
-0x0000000c
-0x00000030
-0x000000c0
-
-0x00000001
-0x00000002
-0x00000004
-0x00000008
-0x00000010
-0x00000020
-0x00000040
-0x00000080
-
-0x00000001
-0x00000001
-0x00000002
-0x00000002
-0x00000004
-0x00000004
-0x00000008
-0x00000010
-0x00000010
-0x00000020
-0x00000040
-0x00000040
-0x00000080
-
-0x00000001
-0x00000001
-0x00000002
-0x00000002
-0x00000004
-0x00000004
-0x00000008
-0x00000008
-0x00000010
-0x00000010
-0x00000020
-0x00000020
-0x00000040
-0x00000040
-0x00000080
-0x00000080
-
-0x00000007
-0x00000038
-0x0003fe00
-0x07fc0000
-
-0x00000001
-0x00000008
-0x00000200
-0x00040000
-
-0x07000000
-0x00e00000
-0x0003fe00
-0x000001ff
-
-0x04000000
-0x00800000
-0x00020000
-0x00000100

-----------------------------------------------------------------------

Summary of changes:
 src/pm/hydra/tools/topo/hwloc/hwloc/.gitignore     |   90 +-
 src/pm/hydra/tools/topo/hwloc/hwloc/COPYING        |    2 +-
 src/pm/hydra/tools/topo/hwloc/hwloc/HACKING        |    2 +-
 src/pm/hydra/tools/topo/hwloc/hwloc/Makefile.am    |   12 +-
 src/pm/hydra/tools/topo/hwloc/hwloc/NEWS           |  186 ++-
 src/pm/hydra/tools/topo/hwloc/hwloc/README         |  254 +--
 src/pm/hydra/tools/topo/hwloc/hwloc/README.debian  |   14 -
 src/pm/hydra/tools/topo/hwloc/hwloc/VERSION        |   18 +-
 src/pm/hydra/tools/topo/hwloc/hwloc/config/decl.m4 |    2 +-
 .../tools/topo/hwloc/hwloc/config/distscript.csh   |  107 -
 .../tools/topo/hwloc/hwloc/config/distscript.sh    |  130 +
 .../hydra/tools/topo/hwloc/hwloc/config/hwloc.m4   |  345 +--
 .../hwloc/hwloc/config/hwloc_check_attributes.m4   |   34 +-
 .../topo/hwloc/hwloc/config/hwloc_check_vendor.m4  |   42 +-
 .../hwloc/hwloc/config/hwloc_check_visibility.m4   |   40 +-
 .../topo/hwloc/hwloc/config/hwloc_get_version.sh   |   23 +-
 .../topo/hwloc/hwloc/config/hwloc_internal.m4      |  106 +-
 .../tools/topo/hwloc/hwloc/config/hwloc_pkg.m4     |   36 +-
 src/pm/hydra/tools/topo/hwloc/hwloc/configure.ac   |  138 +-
 .../contrib/ci.inria.fr/hwloc-windows-build.sh     |    4 +-
 .../hwloc/hwloc/contrib/dist/make_dist_tarball     |   14 +-
 .../tools/topo/hwloc/hwloc/contrib/hg/.hgignore    |    2 -
 .../topo/hwloc/hwloc/contrib/hg/build-hgignore.pl  |  145 -
 .../hwloc/hwloc/contrib/hg/set-hg-share-perms.csh  |   18 -
 .../hwloc/contrib/nightly/make_snapshot_tarball    |    8 +-
 .../hwloc/hwloc/contrib/update-my-copyright.pl     |  209 +-
 .../hwloc/contrib/windows/hwloc-annotate.vcxproj   |    6 +-
 .../contrib/windows/hwloc-annotate.vcxproj.filters |    4 +-
 .../hwloc/contrib/windows/hwloc-assembler.vcxproj  |    4 +-
 .../windows/hwloc-assembler.vcxproj.filters        |    2 +-
 .../hwloc/hwloc/contrib/windows/hwloc-bind.vcxproj |    8 +-
 .../contrib/windows/hwloc-bind.vcxproj.filters     |    6 +-
 .../hwloc/hwloc/contrib/windows/hwloc-calc.vcxproj |    8 +-
 .../contrib/windows/hwloc-calc.vcxproj.filters     |    6 +-
 .../hwloc/hwloc/contrib/windows/hwloc-diff.vcxproj |    4 +-
 .../contrib/windows/hwloc-diff.vcxproj.filters     |    2 +-
 .../hwloc/contrib/windows/hwloc-distances.vcxproj  |    6 +-
 .../windows/hwloc-distances.vcxproj.filters        |    4 +-
 .../hwloc/contrib/windows/hwloc-distrib.vcxproj    |    6 +-
 .../contrib/windows/hwloc-distrib.vcxproj.filters  |    4 +-
 .../hwloc/hwloc/contrib/windows/hwloc-info.vcxproj |    8 +-
 .../contrib/windows/hwloc-info.vcxproj.filters     |    6 +-
 .../hwloc/contrib/windows/hwloc-patch.vcxproj      |    4 +-
 .../contrib/windows/hwloc-patch.vcxproj.filters    |    2 +-
 .../hwloc/hwloc/contrib/windows/hwloc_config.h     |    3 +-
 .../contrib/windows/lstopo-no-graphics.vcxproj     |   18 +-
 .../windows/lstopo-no-graphics.vcxproj.filters     |   16 +-
 .../hwloc/hwloc/contrib/windows/lstopo-win.vcxproj |   20 +-
 .../contrib/windows/lstopo-win.vcxproj.filters     |   18 +-
 .../hwloc/hwloc/contrib/windows/lstopo.vcxproj     |   20 +-
 .../hwloc/contrib/windows/lstopo.vcxproj.filters   |   18 +-
 .../hwloc/hwloc/contrib/windows/private_config.h   |   27 +-
 .../hydra/tools/topo/hwloc/hwloc/doc/Makefile.am   |   45 +-
 .../topo/hwloc/hwloc/doc/examples/Makefile.am      |   30 +
 .../hwloc/doc/examples/cpuset+bitmap+cpubind.c     |  148 +
 .../topo/hwloc/hwloc/doc/examples/hwloc-hello.c    |  177 ++
 .../hwloc/doc/examples/nodeset+membind+policy.c    |  148 +
 .../topo/hwloc/hwloc/doc/examples/sharedcaches.c   |   98 +
 .../hydra/tools/topo/hwloc/hwloc/doc/hwloc-hello.c |  169 -
 src/pm/hydra/tools/topo/hwloc/hwloc/doc/hwloc.doxy |  632 +++--
 .../topo/hwloc/hwloc/doc/images/devel09-pci.pdf    |  Bin 11203 -> 11100 bytes
 .../topo/hwloc/hwloc/doc/images/devel09-pci.png    |  Bin 21070 -> 21025 bytes
 .../topo/hwloc/hwloc/doc/images/devel09-pci.xml    |    4 +-
 .../tools/topo/hwloc/hwloc/doc/images/diagram.fig  |    6 +-
 .../tools/topo/hwloc/hwloc/doc/images/dudley.png   |  Bin 18087 -> 15842 bytes
 .../tools/topo/hwloc/hwloc/doc/images/dudley.xml   |    8 +-
 .../tools/topo/hwloc/hwloc/doc/images/emmett.png   |  Bin 14006 -> 12343 bytes
 .../tools/topo/hwloc/hwloc/doc/images/emmett.xml   |    4 +-
 .../tools/topo/hwloc/hwloc/doc/images/hagrid.png   |  Bin 13491 -> 12055 bytes
 .../tools/topo/hwloc/hwloc/doc/images/hagrid.xml   |    8 +-
 .../hwloc/hwloc/doc/images/ppc64-full-with-smt.pdf |  Bin 11354 -> 11429 bytes
 .../hwloc/hwloc/doc/images/ppc64-full-with-smt.png |  Bin 67355 -> 61859 bytes
 .../hwloc/hwloc/doc/images/ppc64-full-with-smt.xml |   32 +-
 .../topo/hwloc/hwloc/doc/images/ppc64-with-smt.pdf |  Bin 8995 -> 9192 bytes
 .../topo/hwloc/hwloc/doc/images/ppc64-with-smt.png |  Bin 22469 -> 19616 bytes
 .../hwloc/hwloc/doc/images/ppc64-without-smt.pdf   |  Bin 8693 -> 8636 bytes
 .../hwloc/hwloc/doc/images/ppc64-without-smt.png   |  Bin 17779 -> 15700 bytes
 .../topo/hwloc/hwloc/doc/www.open-mpi.org.cfg      |    4 +-
 src/pm/hydra/tools/topo/hwloc/hwloc/hwloc.pc.in    |    2 +-
 .../tools/topo/hwloc/hwloc/include/Makefile.am     |    4 +-
 .../hydra/tools/topo/hwloc/hwloc/include/hwloc.h   |  374 ++-
 .../hwloc/hwloc/include/hwloc/autogen/config.h.in  |   17 +-
 .../tools/topo/hwloc/hwloc/include/hwloc/bitmap.h  |   19 +-
 .../tools/topo/hwloc/hwloc/include/hwloc/cuda.h    |    6 +-
 .../tools/topo/hwloc/hwloc/include/hwloc/cudart.h  |    7 +-
 .../topo/hwloc/hwloc/include/hwloc/deprecated.h    |   15 +-
 .../tools/topo/hwloc/hwloc/include/hwloc/diff.h    |    2 +-
 .../topo/hwloc/hwloc/include/hwloc/glibc-sched.h   |    2 +-
 .../tools/topo/hwloc/hwloc/include/hwloc/helper.h  |  109 +-
 .../tools/topo/hwloc/hwloc/include/hwloc/inlines.h |    2 +-
 .../topo/hwloc/hwloc/include/hwloc/linux-libnuma.h |   24 +-
 .../tools/topo/hwloc/hwloc/include/hwloc/linux.h   |    2 +-
 .../topo/hwloc/hwloc/include/hwloc/myriexpress.h   |    4 +-
 .../tools/topo/hwloc/hwloc/include/hwloc/opencl.h  |    2 +-
 .../hwloc/hwloc/include/hwloc/openfabrics-verbs.h  |    2 +-
 .../tools/topo/hwloc/hwloc/include/hwloc/plugins.h |   49 +-
 .../tools/topo/hwloc/hwloc/include/hwloc/rename.h  |   22 +-
 .../topo/hwloc/hwloc/include/private/cpuid-x86.h   |   12 +-
 .../tools/topo/hwloc/hwloc/include/private/debug.h |    2 +-
 .../tools/topo/hwloc/hwloc/include/private/misc.h  |   29 +-
 .../topo/hwloc/hwloc/include/private/private.h     |   26 +-
 .../hwloc/hwloc/include/private/solaris-chiptype.h |    6 +-
 .../tools/topo/hwloc/hwloc/include/private/xml.h   |   25 +-
 .../hydra/tools/topo/hwloc/hwloc/src/Makefile.am   |   10 +-
 src/pm/hydra/tools/topo/hwloc/hwloc/src/base64.c   |    8 +-
 src/pm/hydra/tools/topo/hwloc/hwloc/src/bind.c     |    2 +-
 src/pm/hydra/tools/topo/hwloc/hwloc/src/bitmap.c   |  410 +++-
 .../hydra/tools/topo/hwloc/hwloc/src/components.c  |   87 +-
 src/pm/hydra/tools/topo/hwloc/hwloc/src/diff.c     |    7 +-
 .../hydra/tools/topo/hwloc/hwloc/src/distances.c   |  108 +-
 src/pm/hydra/tools/topo/hwloc/hwloc/src/dolib.c    |    2 +-
 src/pm/hydra/tools/topo/hwloc/hwloc/src/hwloc.dtd  |    6 +-
 src/pm/hydra/tools/topo/hwloc/hwloc/src/misc.c     |   51 +-
 .../hydra/tools/topo/hwloc/hwloc/src/pci-common.c  |  107 +-
 .../tools/topo/hwloc/hwloc/src/topology-aix.c      |   39 +-
 .../tools/topo/hwloc/hwloc/src/topology-bgq.c      |   11 +-
 .../tools/topo/hwloc/hwloc/src/topology-cuda.c     |   18 +-
 .../tools/topo/hwloc/hwloc/src/topology-custom.c   |    3 +-
 .../tools/topo/hwloc/hwloc/src/topology-darwin.c   |    9 +-
 .../tools/topo/hwloc/hwloc/src/topology-fake.c     |   26 +-
 .../tools/topo/hwloc/hwloc/src/topology-freebsd.c  |   11 +-
 .../hydra/tools/topo/hwloc/hwloc/src/topology-gl.c |   16 +-
 .../tools/topo/hwloc/hwloc/src/topology-hpux.c     |   17 +-
 .../tools/topo/hwloc/hwloc/src/topology-linux.c    |  682 ++++-
 .../tools/topo/hwloc/hwloc/src/topology-netbsd.c   |   25 +-
 .../tools/topo/hwloc/hwloc/src/topology-noos.c     |    5 +-
 .../tools/topo/hwloc/hwloc/src/topology-nvml.c     |   17 +-
 .../tools/topo/hwloc/hwloc/src/topology-opencl.c   |   16 +-
 .../tools/topo/hwloc/hwloc/src/topology-osf.c      |   11 +-
 .../tools/topo/hwloc/hwloc/src/topology-pci.c      |  219 +-
 .../hwloc/hwloc/src/topology-solaris-chiptype.c    |   19 +-
 .../tools/topo/hwloc/hwloc/src/topology-solaris.c  |  101 +-
 .../topo/hwloc/hwloc/src/topology-synthetic.c      |  833 +++++-
 .../tools/topo/hwloc/hwloc/src/topology-windows.c  |   18 +-
 .../tools/topo/hwloc/hwloc/src/topology-x86.c      |  359 ++-
 .../topo/hwloc/hwloc/src/topology-xml-libxml.c     |   91 +-
 .../topo/hwloc/hwloc/src/topology-xml-nolibxml.c   |   51 +-
 .../tools/topo/hwloc/hwloc/src/topology-xml.c      |  349 ++-
 src/pm/hydra/tools/topo/hwloc/hwloc/src/topology.c |  899 +++---
 .../hydra/tools/topo/hwloc/hwloc/src/traversal.c   |   51 +-
 .../hydra/tools/topo/hwloc/hwloc/tests/Makefile.am |    7 +-
 src/pm/hydra/tools/topo/hwloc/hwloc/tests/cuda.c   |    8 +-
 src/pm/hydra/tools/topo/hwloc/hwloc/tests/cudart.c |    8 +-
 .../hwloc/hwloc/tests/embedded/config/README.txt   |    3 +-
 .../topo/hwloc/hwloc/tests/embedded/do_test.c      |    2 +-
 .../tools/topo/hwloc/hwloc/tests/embedded/main.c   |    2 +-
 src/pm/hydra/tools/topo/hwloc/hwloc/tests/gl.c     |    4 +-
 .../tools/topo/hwloc/hwloc/tests/glibc-sched.c     |    2 +-
 .../tools/topo/hwloc/hwloc/tests/hwloc_backends.c  |   10 +-
 .../tools/topo/hwloc/hwloc/tests/hwloc_bind.c      |    8 +-
 .../tools/topo/hwloc/hwloc/tests/hwloc_bitmap.c    |   23 +-
 .../hwloc/tests/hwloc_bitmap_compare_inclusion.c   |   99 +
 .../hwloc/tests/hwloc_bitmap_first_last_weight.c   |    2 +-
 .../topo/hwloc/hwloc/tests/hwloc_bitmap_singlify.c |    2 +-
 .../topo/hwloc/hwloc/tests/hwloc_bitmap_string.c   |   60 +-
 .../tools/topo/hwloc/hwloc/tests/hwloc_custom.c    |    6 +-
 .../tools/topo/hwloc/hwloc/tests/hwloc_distances.c |    8 +-
 .../hwloc/tests/hwloc_get_cache_covering_cpuset.c  |    2 +-
 .../hwloc/hwloc/tests/hwloc_get_closest_objs.c     |    4 +-
 .../tests/hwloc_get_largest_objs_inside_cpuset.c   |    2 +-
 .../hwloc/tests/hwloc_get_last_cpu_location.c      |    2 +-
 .../tests/hwloc_get_next_obj_covering_cpuset.c     |   20 +-
 .../tests/hwloc_get_obj_below_array_by_type.c      |   18 +-
 .../hwloc/tests/hwloc_get_obj_covering_cpuset.c    |    2 +-
 .../hwloc/tests/hwloc_get_obj_inside_cpuset.c      |   20 +-
 .../tests/hwloc_get_shared_cache_covering_obj.c    |    2 +-
 .../tools/topo/hwloc/hwloc/tests/hwloc_groups.c    |   22 +-
 .../topo/hwloc/hwloc/tests/hwloc_insert_misc.c     |    8 +-
 .../tools/topo/hwloc/hwloc/tests/hwloc_iodevs.c    |    2 +-
 .../topo/hwloc/hwloc/tests/hwloc_is_thissystem.c   |    2 +-
 .../topo/hwloc/hwloc/tests/hwloc_object_userdata.c |   11 +-
 .../tools/topo/hwloc/hwloc/tests/hwloc_synthetic.c |   93 +-
 .../topo/hwloc/hwloc/tests/hwloc_topology_diff.c   |   16 +-
 .../topo/hwloc/hwloc/tests/hwloc_topology_dup.c    |    8 +-
 .../hwloc/hwloc/tests/hwloc_topology_restrict.c    |   12 +-
 .../topo/hwloc/hwloc/tests/hwloc_type_depth.c      |   16 +-
 .../hydra/tools/topo/hwloc/hwloc/tests/intel-mic.c |    8 +-
 .../tools/topo/hwloc/hwloc/tests/linux-libnuma.c   |   12 +-
 .../hwloc/hwloc/tests/linux/128ia64-17n4s2c.output |  132 +-
 .../16amd64-4n4c-cgroup-distance-merge.output      |    2 +-
 .../hwloc/tests/linux/16amd64-8n2c-cpusets.output  |   20 +-
 .../hwloc/tests/linux/16amd64-8n2c-cpusets.tar.bz2 |  Bin 7025 -> 7004 bytes
 .../hwloc/tests/linux/16amd64-8n2c-cpusets.xml.env |    2 +
 .../tests/linux/16amd64-8n2c-cpusets.xml.output    |  262 +-
 .../linux/16amd64-8n2c-cpusets_noadmin.output      |   20 +-
 .../hwloc/hwloc/tests/linux/16amd64-8n2c.output    |   20 +-
 .../hwloc/hwloc/tests/linux/16em64t-2m4c2t.output  |    6 +-
 .../tests/linux/16em64t-4s2c2t-offlines.output     |   10 +-
 .../tests/linux/16em64t-4s2c2t-offlines.xml.output |    8 +-
 .../linux/16em64t-4s2c2t-offlines_noadmin.output   |   10 +-
 .../hwloc/hwloc/tests/linux/16em64t-4s2c2t.output  |   10 +-
 .../hwloc/tests/linux/16em64t-4s2c2t.xml.output    |    8 +-
 .../hwloc/tests/linux/16em64t-4s2c2t_merge.output  |   10 +-
 .../tests/linux/16em64t-4s2c2t_ncaches.output      |   10 +-
 .../16em64t-4s2ca2c-cpusetreorder-merge.options    |    1 +
 .../16em64t-4s2ca2c-cpusetreorder-merge.output     |   26 +
 .../16em64t-4s2ca2c-cpusetreorder-merge.source     |    1 +
 .../linux/16em64t-4s2ca2c-cpusetreorder.output     |   28 +-
 .../linux/16em64t-4s2ca2c-cpusetreorder.tar.bz2    |  Bin 5677 -> 5662 bytes
 .../hwloc/hwloc/tests/linux/16ia64-8n2s.output     |   36 +-
 .../hwloc/hwloc/tests/linux/20s390-2g6s4c.output   |   22 +-
 .../linux/24em64t-2n6c2t+2mic.olddriver.output     |   12 +-
 .../hwloc/hwloc/tests/linux/256ia64-64n2s2c.output |  260 +-
 .../hwloc/tests/linux/256ppc-8n8s4t-nocache.output |  132 +-
 .../hwloc/hwloc/tests/linux/256ppc-8n8s4t.output   |  132 +-
 .../linux/28em64t-2s2n7c-buggycoresiblings.output  |  167 +
 .../linux/28em64t-2s2n7c-buggycoresiblings.tar.bz2 |  Bin 0 -> 26177 bytes
 .../topo/hwloc/hwloc/tests/linux/2amd64-2n.output  |    8 +-
 .../topo/hwloc/hwloc/tests/linux/2arm-2c.output    |    4 +-
 .../tests/linux/2i386-2c-nohugepage.xml.output     |    2 +-
 .../linux/2i386-2t-hugepagesizecount.xml.output    |    2 +-
 .../topo/hwloc/hwloc/tests/linux/2s390-2c.output   |    4 +-
 .../hwloc/tests/linux/32amd64-4s2n4c-cgroup.output |   12 +-
 .../tests/linux/32amd64-4s2n4c-cgroup.xml.output   |   16 +-
 .../hwloc/tests/linux/32em64t-2n8c+1mic.output     |   96 +-
 .../hwloc/tests/linux/32em64t-2n8c+1mic.tar.bz2    |  Bin 66889 -> 68952 bytes
 .../hwloc/hwloc/tests/linux/32ppc-4n4c2c.output    |    4 +-
 .../hwloc/hwloc/tests/linux/32ppc-4n4c2c.tar.bz2   |  Bin 20156 -> 20369 bytes
 .../hwloc/tests/linux/40intel64-2g2n4c+pci.output  |   44 +-
 .../tests/linux/40intel64-4n10c+pci-conflicts.env  |    6 +
 .../linux/40intel64-4n10c+pci-conflicts.output     |  237 ++
 .../linux/40intel64-4n10c+pci-conflicts.tar.bz2    |  Bin 0 -> 59131 bytes
 .../hwloc/tests/linux/48amd64-4d2n6c-sparse.output |   12 +-
 .../tests/linux/4em64t-2c2t-ignore-reorder.options |    2 +-
 .../topo/hwloc/hwloc/tests/linux/4ia64-4s.output   |   10 +-
 .../topo/hwloc/hwloc/tests/linux/4qs22-2s2t.output |    2 +-
 .../hwloc/tests/linux/64amd64-4s2n4ca2co.output    |   12 +-
 .../hwloc/tests/linux/64fake-4n2s2ca2c2t.output    |   18 +-
 .../hwloc/hwloc/tests/linux/8amd64-4n2c.output     |   12 +-
 .../tests/linux/8em64t-2s2ca2c-buggynuma.output    |    6 +-
 .../hwloc/hwloc/tests/linux/8em64t-2s2ca2c.output  |    6 +-
 .../tests/linux/8em64t-2s4c-heterogeneous.output   |    6 +-
 .../hwloc/hwloc/tests/linux/8em64t-4c2t.output     |    4 +-
 .../hwloc/hwloc/tests/linux/8ia64-2n2s2c.output    |   12 +-
 .../hwloc/hwloc/tests/linux/8ia64-2s2c2t.output    |    6 +-
 .../topo/hwloc/hwloc/tests/linux/8ia64-4s2c.output |   10 +-
 .../linux/96em64t-4n4d3ca2co-forcecpuinfo.output   |   36 +-
 .../hwloc/tests/linux/96em64t-4n4d3ca2co.output    |   36 +-
 .../tools/topo/hwloc/hwloc/tests/linux/Makefile.am |   22 +-
 .../tests/linux/gather/test-gather-topology.sh.in  |    8 +-
 .../hwloc/tests/linux/hwloc-gather-topology.in     |  184 --
 .../hwloc/hwloc/tests/linux/test-topology.sh.in    |   20 +-
 src/pm/hydra/tools/topo/hwloc/hwloc/tests/nvml.c   |    8 +-
 src/pm/hydra/tools/topo/hwloc/hwloc/tests/opencl.c |    6 +-
 .../topo/hwloc/hwloc/tests/openfabrics-verbs.c     |    2 +-
 .../tools/topo/hwloc/hwloc/tests/ports/Makefile.am |   12 +-
 .../hwloc/tests/ports/include/aix/sys/processor.h  |    2 +-
 .../hwloc/hwloc/tests/ports/include/aix/sys/rset.h |    2 +-
 .../hwloc/tests/ports/include/aix/sys/systemcfg.h  |    2 +-
 .../hwloc/tests/ports/include/aix/sys/thread.h     |    2 +-
 .../hwloc/hwloc/tests/ports/include/cuda/cuda.h    |   11 +
 .../tests/ports/include/cuda/cuda_runtime_api.h    |    3 +-
 .../hwloc/tests/ports/include/darwin/sys/sysctl.h  |    2 +-
 .../hwloc/tests/ports/include/freebsd/pthread_np.h |    2 +-
 .../hwloc/tests/ports/include/freebsd/sys/cpuset.h |    7 +-
 .../hwloc/tests/ports/include/freebsd/sys/sysctl.h |    2 +-
 .../hwloc/tests/ports/include/hpux/sys/mpctl.h     |    2 +-
 .../hwloc/tests/ports/include/netbsd/sys/sysctl.h  |   14 +
 .../hwloc/hwloc/tests/ports/include/osf/cpuset.h   |    2 +-
 .../hwloc/hwloc/tests/ports/include/osf/numa.h     |    2 +-
 .../hwloc/hwloc/tests/ports/include/osf/radset.h   |    2 +-
 .../hwloc/tests/ports/include/solaris/kstat.h      |    2 +-
 .../tests/ports/include/solaris/sys/lgrp_user.h    |    2 +-
 .../tests/ports/include/solaris/sys/processor.h    |    2 +-
 .../tests/ports/include/solaris/sys/procset.h      |    2 +-
 .../hwloc/tests/ports/include/windows/windows.h    |    2 +-
 .../tests/xml/16-2gr2gr2n2c+misc.console.options   |    1 +
 .../tests/xml/16-2gr2gr2n2c+misc.console.output    |   56 +
 .../tests/xml/16-2gr2gr2n2c+misc.console.source    |    1 +
 .../hwloc/hwloc/tests/xml/16-2gr2gr2n2c+misc.xml   |  103 +
 .../hwloc/hwloc/tests/xml/16amd64-8n2c-cpusets.xml |   68 +-
 .../hwloc/tests/xml/16em64t-4s2c2t-offlines.xml    |    8 +-
 .../hwloc/tests/xml/16em64t-4s2c2t.console.options |    1 +
 .../hwloc/tests/xml/16em64t-4s2c2t.console.output  |   29 +
 .../hwloc/tests/xml/16em64t-4s2c2t.console.source  |    1 +
 .../topo/hwloc/hwloc/tests/xml/16em64t-4s2c2t.xml  |    8 +-
 .../16intel64-manyVFs.console.nocollapse.options   |    1 +
 .../16intel64-manyVFs.console.nocollapse.output    |  142 +
 .../16intel64-manyVFs.console.nocollapse.source    |    1 +
 .../tests/xml/16intel64-manyVFs.console.options    |    1 +
 .../tests/xml/16intel64-manyVFs.console.output     |  135 +
 .../tests/xml/16intel64-manyVFs.console.source     |    1 +
 .../hwloc/hwloc/tests/xml/16intel64-manyVFs.xml    |  344 +++
 .../xml/192em64t-12gr2n8c2t-distancegroups.env     |    2 +
 .../xml/192em64t-12gr2n8c2t-distancegroups.xml     |   78 +-
 .../tests/xml/192em64t-24n8c2t-distancegroups.env  |    2 +
 .../tests/xml/192em64t-24n8c2t-distancegroups.xml  |   78 +-
 .../xml/192em64t-24n8c2t-nodistancegroups.env      |    3 +-
 .../xml/192em64t-24n8c2t-nodistancegroups.xml      | 3212 ++++++++++----------
 .../hwloc/hwloc/tests/xml/24em64t-2n6c2t-pci.xml   |   16 +-
 .../hwloc/tests/xml/32em64t-2n8c2t-pci-noio.xml    |    4 +-
 .../tests/xml/32em64t-2n8c2t-pci-normalio.xml      |   16 +-
 .../hwloc/tests/xml/32em64t-2n8c2t-pci-wholeio.xml |   20 +-
 ...intel64-3g2n+2n-irregulargroups+pci.console.env |    5 +
 ...l64-3g2n+2n-irregulargroups+pci.console.options |    1 +
 ...el64-3g2n+2n-irregulargroups+pci.console.output |  398 +++
 ...el64-3g2n+2n-irregulargroups+pci.console.source |    1 +
 .../64intel64-3g2n+2n-irregulargroups+pci.options  |    1 +
 .../xml/64intel64-3g2n+2n-irregulargroups+pci.xml  |  868 ++++++
 .../topo/hwloc/hwloc/tests/xml/8em64t-2mi2ma2c.xml |    8 +-
 .../hwloc/tests/xml/96em64t-4n4d3ca2co-pci.xml     |   56 +-
 .../tools/topo/hwloc/hwloc/tests/xml/Makefile.am   |   83 +-
 .../topo/hwloc/hwloc/tests/xml/test-topology.sh.in |   73 +-
 .../hydra/tools/topo/hwloc/hwloc/utils/Makefile.am |  172 +--
 .../topo/hwloc/hwloc/utils/hwloc-annotate.1in      |  124 -
 .../tools/topo/hwloc/hwloc/utils/hwloc-annotate.c  |  201 --
 .../hwloc/hwloc/utils/hwloc-assembler-remote.in    |  121 -
 .../tools/topo/hwloc/hwloc/utils/hwloc-bind.1in    |  246 --
 .../tools/topo/hwloc/hwloc/utils/hwloc-bind.c      |  402 ---
 .../tools/topo/hwloc/hwloc/utils/hwloc-calc.1in    |  287 --
 .../tools/topo/hwloc/hwloc/utils/hwloc-calc.c      |  506 ---
 .../tools/topo/hwloc/hwloc/utils/hwloc-calc.h      |  641 ----
 .../topo/hwloc/hwloc/utils/hwloc-compress-dir.in   |  161 -
 .../tools/topo/hwloc/hwloc/utils/hwloc-diff.1in    |  120 -
 .../tools/topo/hwloc/hwloc/utils/hwloc-diff.c      |  149 -
 .../topo/hwloc/hwloc/utils/hwloc-distances.1in     |  109 -
 .../tools/topo/hwloc/hwloc/utils/hwloc-distances.c |  166 -
 .../tools/topo/hwloc/hwloc/utils/hwloc-distrib.1in |  176 --
 .../tools/topo/hwloc/hwloc/utils/hwloc-distrib.c   |  288 --
 .../hwloc/hwloc/utils/hwloc-gather-topology.1in    |  124 -
 .../tools/topo/hwloc/hwloc/utils/hwloc-info.1in    |  179 --
 .../tools/topo/hwloc/hwloc/utils/hwloc-info.c      |  434 ---
 .../tools/topo/hwloc/hwloc/utils/hwloc-patch.c     |  167 -
 .../tools/topo/hwloc/hwloc/utils/hwloc-ps.1in      |  132 -
 .../hydra/tools/topo/hwloc/hwloc/utils/hwloc-ps.c  |  334 --
 .../hydra/tools/topo/hwloc/hwloc/utils/hwloc.7in   |  331 --
 .../tools/topo/hwloc/hwloc/utils/hwloc/Makefile.am |  124 +
 .../hwloc/hwloc/utils/hwloc/hwloc-annotate.1in     |  131 +
 .../topo/hwloc/hwloc/utils/hwloc/hwloc-annotate.c  |  200 ++
 .../utils/{ => hwloc}/hwloc-assembler-remote.1in   |    0
 .../hwloc/utils/hwloc/hwloc-assembler-remote.in    |  121 +
 .../hwloc/utils/{ => hwloc}/hwloc-assembler.1in    |    0
 .../hwloc/utils/{ => hwloc}/hwloc-assembler.c      |    0
 .../topo/hwloc/hwloc/utils/hwloc/hwloc-bind.1in    |  269 ++
 .../topo/hwloc/hwloc/utils/hwloc/hwloc-bind.c      |  413 +++
 .../topo/hwloc/hwloc/utils/hwloc/hwloc-calc.1in    |  287 ++
 .../topo/hwloc/hwloc/utils/hwloc/hwloc-calc.c      |  506 +++
 .../topo/hwloc/hwloc/utils/hwloc/hwloc-calc.h      |  664 ++++
 .../hwloc/utils/{ => hwloc}/hwloc-compress-dir.1in |    0
 .../hwloc/hwloc/utils/hwloc/hwloc-compress-dir.in  |  161 +
 .../topo/hwloc/hwloc/utils/hwloc/hwloc-diff.1in    |  120 +
 .../topo/hwloc/hwloc/utils/hwloc/hwloc-diff.c      |  149 +
 .../hwloc/hwloc/utils/hwloc/hwloc-distances.1in    |  124 +
 .../topo/hwloc/hwloc/utils/hwloc/hwloc-distances.c |  166 +
 .../topo/hwloc/hwloc/utils/hwloc/hwloc-distrib.1in |  176 ++
 .../topo/hwloc/hwloc/utils/hwloc/hwloc-distrib.c   |  288 ++
 .../hwloc/utils/hwloc/hwloc-gather-topology.1in    |  129 +
 .../hwloc/utils/hwloc/hwloc-gather-topology.in     |  188 ++
 .../topo/hwloc/hwloc/utils/hwloc/hwloc-info.1in    |  179 ++
 .../topo/hwloc/hwloc/utils/hwloc/hwloc-info.c      |  434 +++
 .../hwloc/hwloc/utils/{ => hwloc}/hwloc-patch.1in  |    0
 .../topo/hwloc/hwloc/utils/hwloc/hwloc-patch.c     |  167 +
 .../topo/hwloc/hwloc/utils/hwloc/hwloc-ps.1in      |  132 +
 .../tools/topo/hwloc/hwloc/utils/hwloc/hwloc-ps.c  |  334 ++
 .../tools/topo/hwloc/hwloc/utils/hwloc/hwloc.7in   |  331 ++
 .../tools/topo/hwloc/hwloc/utils/hwloc/misc.h      |  280 ++
 .../hwloc/hwloc/utils/hwloc/test-fake-plugin.sh.in |   39 +
 .../hwloc/utils/hwloc/test-hwloc-annotate.input    |   88 +
 .../hwloc/utils/hwloc/test-hwloc-annotate.output   |  135 +
 .../hwloc/utils/hwloc/test-hwloc-annotate.sh.in    |   52 +
 .../hwloc/utils/hwloc/test-hwloc-assembler.input1  |   48 +
 .../hwloc/utils/hwloc/test-hwloc-assembler.input2  |  139 +
 .../hwloc/utils/hwloc/test-hwloc-assembler.output  |  230 ++
 .../hwloc/utils/hwloc/test-hwloc-assembler.sh.in   |   54 +
 .../hwloc/hwloc/utils/hwloc/test-hwloc-calc.output |   61 +
 .../hwloc/hwloc/utils/hwloc/test-hwloc-calc.sh.in  |   97 +
 .../hwloc/test-hwloc-compress-dir.input.tar.gz     |  Bin 0 -> 41971 bytes
 .../hwloc/test-hwloc-compress-dir.output.tar.gz    |  Bin 0 -> 24235 bytes
 .../utils/hwloc/test-hwloc-compress-dir.sh.in      |   49 +
 .../hwloc/utils/hwloc/test-hwloc-diffpatch.input1  |  170 ++
 .../hwloc/utils/hwloc/test-hwloc-diffpatch.input2  |  170 ++
 .../hwloc/utils/hwloc/test-hwloc-diffpatch.sh.in   |   52 +
 .../hwloc/utils/hwloc/test-hwloc-distances.output  |   53 +
 .../hwloc/utils/hwloc/test-hwloc-distances.sh.in   |   66 +
 .../hwloc/utils/hwloc/test-hwloc-distrib.output    |   96 +
 .../hwloc/utils/hwloc/test-hwloc-distrib.sh.in     |   59 +
 .../hwloc/utils/{ => hwloc}/test-hwloc-info.output |    0
 .../hwloc/hwloc/utils/hwloc/test-hwloc-info.sh.in  |   52 +
 .../tools/topo/hwloc/hwloc/utils/lstopo-cairo.c    |  528 ----
 .../tools/topo/hwloc/hwloc/utils/lstopo-color.c    |   58 -
 .../tools/topo/hwloc/hwloc/utils/lstopo-draw.c     | 1286 --------
 .../tools/topo/hwloc/hwloc/utils/lstopo-fig.c      |  132 -
 .../tools/topo/hwloc/hwloc/utils/lstopo-text.c     |  781 -----
 .../tools/topo/hwloc/hwloc/utils/lstopo-windows.c  |  307 --
 .../tools/topo/hwloc/hwloc/utils/lstopo-xml.c      |   34 -
 .../hydra/tools/topo/hwloc/hwloc/utils/lstopo.1in  |  481 ---
 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo.c |  717 -----
 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo.h |   77 -
 .../topo/hwloc/hwloc/utils/lstopo/Makefile.am      |  103 +
 .../topo/hwloc/hwloc/utils/lstopo/lstopo-ascii.c   |  591 ++++
 .../topo/hwloc/hwloc/utils/lstopo/lstopo-cairo.c   |  700 +++++
 .../topo/hwloc/hwloc/utils/lstopo/lstopo-color.c   |   58 +
 .../topo/hwloc/hwloc/utils/lstopo/lstopo-draw.c    | 1402 +++++++++
 .../topo/hwloc/hwloc/utils/lstopo/lstopo-fig.c     |  140 +
 .../hwloc/utils/lstopo/lstopo-no-graphics.1in      |  510 ++++
 .../topo/hwloc/hwloc/utils/lstopo/lstopo-text.c    |  308 ++
 .../topo/hwloc/hwloc/utils/lstopo/lstopo-windows.c |  393 +++
 .../topo/hwloc/hwloc/utils/lstopo/lstopo-xml.c     |   34 +
 .../tools/topo/hwloc/hwloc/utils/lstopo/lstopo.c   |  814 +++++
 .../topo/hwloc/hwloc/utils/lstopo/lstopo.desktop   |   10 +
 .../tools/topo/hwloc/hwloc/utils/lstopo/lstopo.h   |   96 +
 .../hwloc/utils/{ => lstopo}/test-hwloc-ls.output  |    0
 .../hwloc/hwloc/utils/lstopo/test-hwloc-ls.sh.in   |   55 +
 src/pm/hydra/tools/topo/hwloc/hwloc/utils/misc.h   |  279 --
 .../topo/hwloc/hwloc/utils/test-fake-plugin.sh.in  |   37 -
 .../hwloc/hwloc/utils/test-hwloc-annotate.input    |   86 -
 .../hwloc/hwloc/utils/test-hwloc-annotate.output   |   66 -
 .../hwloc/hwloc/utils/test-hwloc-annotate.sh.in    |   46 -
 .../hwloc/hwloc/utils/test-hwloc-assembler.input1  |   48 -
 .../hwloc/hwloc/utils/test-hwloc-assembler.input2  |  139 -
 .../hwloc/hwloc/utils/test-hwloc-assembler.output  |  230 --
 .../hwloc/hwloc/utils/test-hwloc-assembler.sh.in   |   43 -
 .../topo/hwloc/hwloc/utils/test-hwloc-calc.output  |   59 -
 .../topo/hwloc/hwloc/utils/test-hwloc-calc.sh.in   |   95 -
 .../utils/test-hwloc-compress-dir.input.tar.gz     |  Bin 43074 -> 0 bytes
 .../utils/test-hwloc-compress-dir.output.tar.gz    |  Bin 25411 -> 0 bytes
 .../hwloc/utils/test-hwloc-compress-dir.sh.in      |   49 -
 .../hwloc/hwloc/utils/test-hwloc-diffpatch.input1  |  170 --
 .../hwloc/hwloc/utils/test-hwloc-diffpatch.input2  |  170 --
 .../hwloc/hwloc/utils/test-hwloc-diffpatch.sh.in   |   52 -
 .../hwloc/hwloc/utils/test-hwloc-distances.output  |   53 -
 .../hwloc/hwloc/utils/test-hwloc-distances.sh.in   |   66 -
 .../hwloc/hwloc/utils/test-hwloc-distrib.output    |   67 -
 .../hwloc/hwloc/utils/test-hwloc-distrib.sh.in     |   51 -
 .../topo/hwloc/hwloc/utils/test-hwloc-info.sh.in   |   45 -
 .../topo/hwloc/hwloc/utils/test-hwloc-ls.sh.in     |   55 -
 426 files changed, 24676 insertions(+), 18043 deletions(-)
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/README.debian
 delete mode 100755 src/pm/hydra/tools/topo/hwloc/hwloc/config/distscript.csh
 create mode 100755 src/pm/hydra/tools/topo/hwloc/hwloc/config/distscript.sh
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/contrib/hg/.hgignore
 delete mode 100755 src/pm/hydra/tools/topo/hwloc/hwloc/contrib/hg/build-hgignore.pl
 delete mode 100755 src/pm/hydra/tools/topo/hwloc/hwloc/contrib/hg/set-hg-share-perms.csh
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/doc/examples/Makefile.am
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/doc/examples/cpuset+bitmap+cpubind.c
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/doc/examples/hwloc-hello.c
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/doc/examples/nodeset+membind+policy.c
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/doc/examples/sharedcaches.c
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/doc/hwloc-hello.c
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/hwloc_bitmap_compare_inclusion.c
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16amd64-8n2c-cpusets.xml.env
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2ca2c-cpusetreorder-merge.options
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2ca2c-cpusetreorder-merge.output
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/16em64t-4s2ca2c-cpusetreorder-merge.source
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/28em64t-2s2n7c-buggycoresiblings.output
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/28em64t-2s2n7c-buggycoresiblings.tar.bz2
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/40intel64-4n10c+pci-conflicts.env
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/40intel64-4n10c+pci-conflicts.output
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/40intel64-4n10c+pci-conflicts.tar.bz2
 delete mode 100755 src/pm/hydra/tools/topo/hwloc/hwloc/tests/linux/hwloc-gather-topology.in
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/cuda/cuda.h
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/ports/include/netbsd/sys/sysctl.h
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16-2gr2gr2n2c+misc.console.options
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16-2gr2gr2n2c+misc.console.output
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16-2gr2gr2n2c+misc.console.source
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16-2gr2gr2n2c+misc.xml
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16em64t-4s2c2t.console.options
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16em64t-4s2c2t.console.output
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16em64t-4s2c2t.console.source
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.nocollapse.options
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.nocollapse.output
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.nocollapse.source
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.options
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.output
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.console.source
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/16intel64-manyVFs.xml
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-12gr2n8c2t-distancegroups.env
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/192em64t-24n8c2t-distancegroups.env
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.console.env
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.console.options
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.console.output
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.console.source
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.options
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/tests/xml/64intel64-3g2n+2n-irregulargroups+pci.xml
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-annotate.1in
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-annotate.c
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-assembler-remote.in
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-bind.1in
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-bind.c
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-calc.1in
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-calc.c
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-calc.h
 delete mode 100755 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-compress-dir.in
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-diff.1in
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-diff.c
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-distances.1in
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-distances.c
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-distrib.1in
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-distrib.c
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-gather-topology.1in
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-info.1in
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-info.c
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-patch.c
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-ps.1in
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc-ps.c
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc.7in
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/Makefile.am
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-annotate.1in
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-annotate.c
 rename src/pm/hydra/tools/topo/hwloc/hwloc/utils/{ => hwloc}/hwloc-assembler-remote.1in (100%)
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-assembler-remote.in
 rename src/pm/hydra/tools/topo/hwloc/hwloc/utils/{ => hwloc}/hwloc-assembler.1in (100%)
 rename src/pm/hydra/tools/topo/hwloc/hwloc/utils/{ => hwloc}/hwloc-assembler.c (100%)
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-bind.1in
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-bind.c
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-calc.1in
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-calc.c
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-calc.h
 rename src/pm/hydra/tools/topo/hwloc/hwloc/utils/{ => hwloc}/hwloc-compress-dir.1in (100%)
 create mode 100755 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-compress-dir.in
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-diff.1in
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-diff.c
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-distances.1in
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-distances.c
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-distrib.1in
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-distrib.c
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-gather-topology.1in
 create mode 100755 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-gather-topology.in
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-info.1in
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-info.c
 rename src/pm/hydra/tools/topo/hwloc/hwloc/utils/{ => hwloc}/hwloc-patch.1in (100%)
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-patch.c
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-ps.1in
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc-ps.c
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/hwloc.7in
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/misc.h
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-fake-plugin.sh.in
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-annotate.input
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-annotate.output
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-annotate.sh.in
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-assembler.input1
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-assembler.input2
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-assembler.output
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-assembler.sh.in
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-calc.output
 create mode 100755 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-calc.sh.in
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-compress-dir.input.tar.gz
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-compress-dir.output.tar.gz
 create mode 100755 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-compress-dir.sh.in
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-diffpatch.input1
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-diffpatch.input2
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-diffpatch.sh.in
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-distances.output
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-distances.sh.in
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-distrib.output
 create mode 100755 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-distrib.sh.in
 rename src/pm/hydra/tools/topo/hwloc/hwloc/utils/{ => hwloc}/test-hwloc-info.output (100%)
 create mode 100755 src/pm/hydra/tools/topo/hwloc/hwloc/utils/hwloc/test-hwloc-info.sh.in
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-cairo.c
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-color.c
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-draw.c
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-fig.c
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-text.c
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-windows.c
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo-xml.c
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo.1in
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo.c
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo.h
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/Makefile.am
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-ascii.c
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-cairo.c
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-color.c
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-draw.c
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-fig.c
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-no-graphics.1in
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-text.c
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-windows.c
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo-xml.c
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo.c
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo.desktop
 create mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/lstopo.h
 rename src/pm/hydra/tools/topo/hwloc/hwloc/utils/{ => lstopo}/test-hwloc-ls.output (100%)
 create mode 100755 src/pm/hydra/tools/topo/hwloc/hwloc/utils/lstopo/test-hwloc-ls.sh.in
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/misc.h
 delete mode 100755 src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-fake-plugin.sh.in
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-annotate.input
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-annotate.output
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-annotate.sh.in
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-assembler.input1
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-assembler.input2
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-assembler.output
 delete mode 100755 src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-assembler.sh.in
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-calc.output
 delete mode 100755 src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-calc.sh.in
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-compress-dir.input.tar.gz
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-compress-dir.output.tar.gz
 delete mode 100755 src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-compress-dir.sh.in
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-diffpatch.input1
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-diffpatch.input2
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-diffpatch.sh.in
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-distances.output
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-distances.sh.in
 delete mode 100644 src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-distrib.output
 delete mode 100755 src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-distrib.sh.in
 delete mode 100755 src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-info.sh.in
 delete mode 100755 src/pm/hydra/tools/topo/hwloc/hwloc/utils/test-hwloc-ls.sh.in


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list