Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK)) by mollari.NetBSD.org (Postfix) with ESMTPS id C754BA6554 for ; Sat, 15 Aug 2015 21:27:49 +0000 (UTC) Received: by mail.netbsd.org (Postfix, from userid 605) id 6AD0714A195; Sat, 15 Aug 2015 21:27:49 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id AEE5814A18D for ; Sat, 15 Aug 2015 21:27:48 +0000 (UTC) X-Virus-Scanned: amavisd-new at NetBSD.org Received: from mail.netbsd.org ([127.0.0.1]) by localhost (mail.NetBSD.org [127.0.0.1]) (amavisd-new, port 10025) with ESMTP id qevjCpQBqJmo for ; Sat, 15 Aug 2015 21:27:47 +0000 (UTC) Received: from cvs.netbsd.org (cvs.NetBSD.org [IPv6:2001:4f8:3:7:2e0:81ff:fe30:95bd]) by mail.netbsd.org (Postfix) with ESMTP id 07FC614A188 for ; Sat, 15 Aug 2015 21:27:47 +0000 (UTC) Received: by cvs.netbsd.org (Postfix, from userid 500) id 01D5598; Sat, 15 Aug 2015 21:27:46 +0000 (UTC) Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Date: Sat, 15 Aug 2015 21:27:46 +0000 From: "Aleksej Saushev" Subject: CVS commit: pkgsrc/parallel/hwloc To: pkgsrc-changes@NetBSD.org Reply-To: asau@netbsd.org X-Mailer: log_accum Message-Id: <20150815212747.01D5598@cvs.netbsd.org> Sender: pkgsrc-changes-owner@NetBSD.org List-Id: pkgsrc-changes.NetBSD.org Precedence: bulk Module Name: pkgsrc Committed By: asau Date: Sat Aug 15 21:27:46 UTC 2015 Modified Files: pkgsrc/parallel/hwloc: Makefile PLIST distinfo 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 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 PortState 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. To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 pkgsrc/parallel/hwloc/Makefile cvs rdiff -u -r1.3 -r1.4 pkgsrc/parallel/hwloc/PLIST cvs rdiff -u -r1.6 -r1.7 pkgsrc/parallel/hwloc/distinfo Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.