Subject: CVS commit: pkgsrc/parallel/hwloc
From: Aleksej Saushev
Date: 2015-08-15 23:27:46
Message id: 20150815212747.01D5598@cvs.netbsd.org

Log Message:
Update to hwloc 1.11.1
From Benedek Gergely on pkgsrc-users.

Version 1.11.1
--------------
* hwloc-annotate does not drop unavailable resources from the output anymore
  and those may be annotated as well.
* Fix an overzealous assertion when intermediate Group object while Groups
  are totally ignored.
* Fix a memory leak on failure to load a xml diff file.
* Fix some segfaults when inputting an invalid synthetic description.

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
  + Add hwloc_obj_type_sscanf() to extend hwloc_obj_type_of_string() with
    type-specific attributes such as Cache/Group depth and Cache type.
    hwloc_obj_type_of_string() is moved to hwloc/deprecated.h.
  + Add hwloc_linux_get_tid_last_cpu_location() for retrieving the
    last CPU where a Linux thread given by TID ran.
  + Add hwloc_distrib() to extend the old hwloc_distribute[v]() functions.
    hwloc_distribute[v]() is moved to hwloc/deprecated.h.
  + Don't mix total and local memory when displaying verbose object attributes
    with hwloc_obj_attr_snprintf() or in lstopo.
* Backends
  + Add CPUVendor, CPUModelNumber and CPUFamilyNumber info attributes for
    x86, ia64 and Xeon Phi sockets on Linux, to extend the x86-specific
    support added in v1.8.1. Requested by Ralph Castain.
  + Add many CPU- and Platform-related info attributes on ARM and POWER
    platforms, in the Machine and Socket objects.
  + Add CUDA info attributes describing the number of multiprocessors and
    cores and the size of the global, shared and L2 cache memories in CUDA
    OS devices.
  + Add OpenCL info attributes describing the number of compute units and
    the global memory size in OpenCL OS devices.
  + The synthetic backend now accepts extended types such as L2Cache, L1i or
    Group3. lstopo also exports synthetic strings using these extended types.
* Tools
  + lstopo
    - Do not overwrite output files by default anymore.
      Pass -f or --force to enforce it.
    - Display OpenCL, CUDA and Xeon Phi numbers of cores and memory sizes
      in the graphical output.
    - Fix export to stdout when specifying a Cairo-based output type
      with --of.
  + hwloc-ps
    - Add -e or --get-last-cpu-location to report where processes/threads
      run instead of where they are bound.
    - Report locations as likely-more-useful objects such as Cores or Sockets
      instead of Caches when possible.
  + hwloc-bind
    - Fix failure on Windows when not using --pid.
    - Add -e as a synonym to --get-last-cpu-location.
  + hwloc-distrib
    - Add --reverse to distribute using last objects first and singlify
      into last bits first. Thanks to Jirka Hladky for the suggestion.
  + hwloc-info
    - Report unified caches when looking for data or instruction cache
      ancestor objects.
* Misc
  + Add experimental Visual Studio support under contrib/windows.
    Thanks to Eloi Gaudry for his help and for providing the first draft.
  + Fix some overzealous assertions and warnings about the ordering of
    objects on a level with respect to cpusets. The ordering is only
    guaranteed for complete cpusets (based on the first bit in sets).
  + Fix some memory leaks when importing xml diffs and when exporting a
    "too complex" entry.

Version 1.8.1
-------------
* Fix the cpuid code on Windows 64bits so that the x86 backend gets
  enabled as expected and can populate CPU information.
  Thanks to Robin Scher for reporting the problem.
* Add CPUVendor/CPUModelNumber/CPUFamilyNumber attributes when running
  on x86 architecture. Thanks to Ralph Castain for the suggestion.
* Work around buggy BIOS reporting duplicate NUMA nodes on Linux.
  Thanks to Jeff Becker for reporting the problem and testing the patch.
* Add a name to the lstopo graphical window. Thanks to Michael Prokop
  for reporting the issue.

Version 1.8.0
-------------
* New components
  + Add the "linuxpci" component that always works on Linux even when
    libpciaccess and libpci aren't available (and even with a modified
    file-system root). By default the old "pci" component runs first
    because "linuxpci" lacks device names (obj->name is always NULL).
* API
  + Add the topology difference API in hwloc/diff.h for manipulating
    many similar topologies.
  + Add hwloc_topology_dup() for duplicating an entire topology.
  + hwloc.h and hwloc/helper.h have been reorganized to clarify the
    documentation sections. The actual inline code has moved out of hwloc.h
    into the new hwloc/inlines.h.
  + Deprecated functions are now in hwloc/deprecated.h, and not in the
    official documentation anymore.
* Tools
  + Add hwloc-diff and hwloc-patch tools together with the new diff API.
  + Add hwloc-compress-dir to (de)compress an entire directory of XML files
    using hwloc-diff and hwloc-patch.
  + Object colors in the graphical output of lstopo may be changed by adding
    a "lstopoStyle" info attribute. See CUSTOM COLORS in the lstopo(1) \ 
manpage
    for details. Thanks to Jirka Hladky for discussing the idea.
  + hwloc-gather-topology may now gather I/O-related files on Linux when
    --io is given. Only the linuxpci component supports discovering I/O
    objects from these extended tarballs.
  + hwloc-annotate now supports --ri to remove/replace info attributes with
    a given name.
  + hwloc-info supports "root" and "all" special locations \ 
for dumping
    information about the root object.
  + lstopo now supports --append-legend to append custom lines of text
    to the legend in the graphical output. Thanks to Jirka Hladky for
    discussing the idea.
  + hwloc-calc and friends have a more robust parsing of locations given
    on the command-line and they report useful error messages about it.
  + Add --whole-system to hwloc-bind, hwloc-calc, hwloc-distances and
    hwloc-distrib, and add --restrict to hwloc-bind for uniformity among
    tools.
* Misc
  + Calling hwloc_topology_load() or hwloc_topology_set_*() on an already
    loaded topology now returns an error (deprecated since release 1.6.1).
  + Fix the initialisation of cpusets and nodesets in Group objects added
    when inserting PCI hostbridges.
  + Never merge Group objects that were added explicitly by the user with
    hwloc_custom_insert_group_object_by_parent().
  + Add a sanity check during dynamic plugin loading to prevent some
    crashes when hwloc is dynamically loaded by another plugin mechanisms.
  + Add --with-hwloc-plugins-path to specify the install/load directories
    of plugins.
  + Add the MICSerialNumber info attribute to the root object when running
    hwloc inside a Xeon Phi to match the same attribute in the MIC OS device
    when running in the host.

Version 1.7.2
-------------
* Do not create invalid block OS devices on very old Linux kernel such
  as RHEL4 2.6.9.
* Fix PCI subvendor/device IDs.
* Fix the management of Misc objects inserted by parent.
  Thanks to Jirka Hladky for reporting the problem.
* Add a Port<n>State into attribute to OpenFabrics OS devices.
* Add a MICSerialNumber info attribute to Xeon PHI/MIC OS devices.
* Improve verbose error messages when failing to load from XML.

Files:
RevisionActionfile
1.16modifypkgsrc/parallel/hwloc/Makefile
1.4modifypkgsrc/parallel/hwloc/PLIST
1.7modifypkgsrc/parallel/hwloc/distinfo