From 6f102fadc6b640075ad0a76a744b0bcc5e7aa3a8a60fa2f641e9459bec5ec314 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 3 May 2024 13:37:58 +0200 Subject: [PATCH] Sync from SUSE:SLFO:Main hwloc revision d44be2bdfad196eb443b53259f0f0f9e --- .gitattributes | 23 + _service | 5 + hwloc-2.9.3.tar.bz2 | 3 + hwloc.changes | 1071 +++++++++++++++++++++++++++++++++++++++++++ hwloc.spec | 267 +++++++++++ 5 files changed, 1369 insertions(+) create mode 100644 .gitattributes create mode 100644 _service create mode 100644 hwloc-2.9.3.tar.bz2 create mode 100644 hwloc.changes create mode 100644 hwloc.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/_service b/_service new file mode 100644 index 0000000..0faa3a5 --- /dev/null +++ b/_service @@ -0,0 +1,5 @@ + + + yes + + diff --git a/hwloc-2.9.3.tar.bz2 b/hwloc-2.9.3.tar.bz2 new file mode 100644 index 0000000..a3896b7 --- /dev/null +++ b/hwloc-2.9.3.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c4062ce556f6d3451fc177ffb8673a2120f81df6835dea6a21a90fbdfff0dec +size 6986142 diff --git a/hwloc.changes b/hwloc.changes new file mode 100644 index 0000000..4058f5f --- /dev/null +++ b/hwloc.changes @@ -0,0 +1,1071 @@ +------------------------------------------------------------------- +Wed Oct 18 11:26:32 UTC 2023 - Dominique Leuenberger + +- Update to version 2.9.3: + * Handle Linux glibc allocation errors in binding routines (CVE-2022-47022). + * Fix hwloc-calc when searching objects on heterogeneous memory platforms, + * Fix hwloc_get_next_child() when there are some memory-side caches. + * Don't crash if the topology is empty because Linux cgroups are wrong. + * Improve some hwloc-bind warnings in case of command-line parsing errors. + * Many documentation improvements all over the place, including: + + hwloc_topology_restrict() and hwloc_topology_insert_group() may reorder + children, causing the logical indexes of objects to change. + + +------------------------------------------------------------------- +Sun Jul 16 08:09:41 UTC 2023 - Dirk Müller + +- update to 2.9.2: + * Don't forget L3i when defining filters for multiple levels of + caches with hwloc_topology_set_cache/icache_types_filter(). + * Fix object total_memory after hwloc_topology_insert_group_object(). + * Fix the (non-yet) exporting in synthetic description for + complex memory hierarchies with memory-side caches, etc. + * Fix some default size attributes when building synthetic + topologies. + * Fix size units in hwloc-annotate. + * Improve bitmap reallocation error management in many functions. + * Documentation improvements + +------------------------------------------------------------------- +Tue Jun 20 20:22:08 UTC 2023 - Dirk Müller + +- update to 2.9.1: + * Fix a failed assertion in hwloc_topology_restrict() when some + NUMA nodes are removed because of + HWLOC_RESTRICT_FLAG_REMOVE_CPULESS but no PUs are. + * Mark HPE Cray Slingshot NICs with subtype "Slingshot". + +------------------------------------------------------------------- +Tue Jun 6 15:13:43 UTC 2023 - Egbert Eich + +- Readd libXNVCtrl support as an optional plugin. +- Add OpenCL support as an optional plugin. +- Ship GUI tool in a separate package. This avoids installing + undesirable X11 dependencies. + +------------------------------------------------------------------- +Tue May 9 13:20:12 UTC 2023 - Thomas Blume + +- remove header files for feature we don't ship (jsc#PED-4156) + +These headers do not define an API that is not supported at present and +therefore would not cause a failure during build. Still, they define static +inline functions which look for HWLOC objects that are only set up by +non-supported device scanners. Thus these objects will never be present - even +though the relevant hardware is. + +------------------------------------------------------------------- +Thu Jan 26 14:53:18 UTC 2023 - Callum Farmer + +- Remove libXNVCtrl support as it brings too many X dependencies + (bsc#1207545) + +------------------------------------------------------------------- +Fri Dec 23 07:53:35 UTC 2022 - Dirk Müller + +- update to 2.9.0: + + Expose the memory size of CXL memory devices (Type 3) on Linux. + + The LevelZero backend now reports the "XeLinkBandwidth" distance + matrix between L0 devices (and subdevices) when available. + + Add support for CUDA compute capability up to 9.0. + + lstopo now switches to console mode when its output is redirected. + Graphical window mode may be forced back with --of window. + + hwloc-calc now accepts "numa" in -H, and I/O subtypes such as "gpu" + in -I and -N. + +------------------------------------------------------------------- +Fri Jul 29 17:38:15 UTC 2022 - Callum Farmer + +- Add libXNVCtrl support on TW + +------------------------------------------------------------------- +Mon Jul 11 07:47:23 UTC 2022 - Dirk Müller + +- update to 2.8.0: + * API + + Add HWLOC_TOPOLOGY_FLAG_NO_DISTANCES, _NO_MEMATTRS and _NO_CPUKINDS + to reduce the overhead when unneeded. + + Add separate Read/Write Bandwidth/Latency memory attributes and + implement them on Linux. + * Backends + + NUMA nodes may now have a subtype such as DRAM, HBM, SPM, or NVM + on heterogeneous memory platforms on Linux. + - Add DAXType and DAXParent attributes on Linux to tell where a + DAX device or its corresponding NUMA node come from (SPM for + Specific-Purpose or NVM for Non-Volatile Memory). + + Detect heterogeneous caches in hybrid CPUs on MacOS X, + thanks to Paul Bone for the help. + + Max frequencies are not ignored in Linux cpukinds anymore (they were + ignored in hwloc 2.7.0), but they may be slightly adjusted to avoid + reporting hybrid CPUs because Intel Turbo Boost Max 3.0. + - See the documentation of environment variable HWLOC_CPUKINDS_MAXFREQ. + + Hardwire the PCI locality of HPE Cray EX235a nodes. + * Tools + + lstopo and other tools may now load Linux and x86 cpuid topology files + from a tarball. + + lstopo may now replace the P# and L# index prefixes with custom strings + thanks to --os-index-prefix and --logical-index-prefix options. + * Misc + + Add --disable-readme to avoid regenerating the top-level hwloc README + file from the documentation. + * Bugfix + + Use setenv() instead of putenv() - fixes crash in Slurm (bsc#1210227) + +------------------------------------------------------------------- +Fri Apr 8 16:42:15 UTC 2022 - Dirk Müller + +- update to 2.7.1: + * Workaround crashes when virtual machines report incoherent x86 CPUID + information about numbers of cores and threads. + Thanks to Peter Bense for the report. + * Use setenv() instead of putenv() when trying to force enable oneAPI L0 + support, to avoid issues with applications that touch the environment, + thanks to Josh Hursey for the patch. + * Add some warnings at the end of configure when GPU libraries are + missing on the system or their path is missing in the environment. + * Backends + + Add support for NUMA nodes and caches with more than 64 PUs across + multiple processor groups on Windows 11 and Windows Server 2022. + + Group objects are not created for Windows processor groups anymore, + except if HWLOC_WINDOWS_PROCESSOR_GROUP_OBJS=1 in the environment. + + Expose "Cluster" group objects on Linux kernel 5.16+ for CPUs + that share some internal cache or bus. This can be equivalent + to the L2 Cache level on some platforms (e.g. x86) or a specific + level between L2 and L3 on others (e.g. ARM Kungpeng 920). + Thanks to Jonathan Cameron for the help. + - HWLOC_DONT_MERGE_CLUSTER_GROUPS=1 may be set in the environment + to prevent these groups from being merged with identical caches, etc. + + Improve the oneAPI LevelZero backend: + - Expose subdevices such as "ze0.1" inside root OS devices ("ze0") + when the hardware contains multiple subdevices. + - Add many new attributes to describe device type, and the + numbers of slices, subslices, execution units and threads. + - Expose the memory information as LevelZeroHBM/DDR/MemorySize infos. + + Ignore the max frequencies of cores in Linux cpukinds when the + base frequencies are available (to avoid exposing hybrid CPUs + when Intel Turbo Boost Max 3.0 gives slightly different max + frequencies to CPU cores). + - May be reverted by setting HWLOC_CPUKINDS_MAXFREQ=1 in the environment. + * Tools + + Add --grey and --palette options to switch lstopo to greyscale or + white-background-only graphics, or to tune individual colors. + * Build + + Windows CMake builds now support non-MSVC compilers, detect several + features at build time, can build/run tests, etc. + Thanks to Michael Hirsch and Alexander Neumann . + +------------------------------------------------------------------- +Sun Dec 5 21:39:35 UTC 2021 - Dirk Müller + +- update to 2.6.0: + * Backends + + Expose two cpukinds for energy-efficient cores (icestorm) and + high-performance cores (firestorm) on Apple M1 on Mac OS X. + + Use sysfs CPU "capacity" to rank hybrid cores by efficiency + on Linux when available (mostly on recent ARM platforms for now). + + Improve HWLOC_MEMBIND_BIND (without the STRICT flag) on Linux kernel + >= 5.15: If more than one node is given, the kernel may now use all + of them instead of only the first one before falling back to others. + + Expose cache os_index when available on Linux, it may be needed + when using resctrl to configure cache partitioning, memory bandwidth + monitoring, etc. + + Add a "XGMIHops" distances matrix in the RSMI backend for AMD GPU + interconnected through XGMI links. + + Expose AMD GPU memory information (VRAM and GTT) in the RSMI backend. + + Add OS devices such as "bxi0" for Atos/Bull BXI HCAs on Linux. + * Tools + + lstopo has a better placement algorithm with respect to I/O + objects, see --children-order in the manpage for details. + + hwloc-annotate may now change object subtypes and cache or memory + sizes. + * Build + + Allow to specify the ROCm installation for building the RSMI backend: + - Use a custom installation path if specified with --with-rocm=. + - Use /opt/rocm- if specified with --with-rocm-version= + or the ROCM_VERSION environment variable. + - Try /opt/rocm if it exists. + - See "How do I enable ROCm SMI and select which version to use?" + in the FAQ for details. + + Add a CMakeLists for Windows under contrib/windows-cmake/ . + * Documentation + + Add FAQ entry "How do I create a custom heterogeneous and + asymmetric topology?" + +------------------------------------------------------------------- +Sat Jul 17 13:13:07 UTC 2021 - Dirk Müller + +- update to 2.5.0: + + Add hwloc/windows.h to query Windows processor groups. + + Add hwloc_get_obj_with_same_locality() to convert between objects + with same locality, for instance NUMA nodes and Packages, + or OS devices within a PCI device. + + Add hwloc_distances_transform() to modify distances structures. + - hwloc-annotate and lstopo have new distances-transform options. + + hwloc_distances_add() is replaced with _add_create() followed by + _add_values() and _add_commit(). See hwloc/distances.h for details. + + Add topology flags to mitigate binding modifications during + hwloc discovery, especially on Windows: + - HWLOC_TOPOLOGY_FLAG_RESTRICT_TO_CPUBINDING and _MEMBINDING + restrict discovery to PUs and NUMA nodes inside the binding. + - HWLOC_TOPOLOGY_FLAG_DONT_CHANGE_BINDING prevents from ever + changing the binding during discovery. + + Add a levelzero backend for oneAPI L0 devices, exposed as OS devices + of subtype "LevelZero" and name such as "ze0". + - Add hwloc/levelzero.h for interoperability between converting + between L0 API devices and hwloc cpusets or OS devices. + + Expose NEC Vector Engine cards on Linux as OS devices of subtype + "VectorEngine" and name "ve0", etc. + Thanks to Anara Kozhokanova, Tim Cramer and Erich Focht for the help. + + Add a NVLinkBandwidth distances structure between NVIDIA GPUs + (and POWER processor or NVSwitches) in the NVML backend, + and a XGMIBandwidth distances structure between AMD GPUs + in the RSMI backends. + - See "Topology Attributes: Distances, Memory Attributes and CPU Kinds" + in the documentation for details about these new distances. + + Add support for NUMA node 0 being offline in Linux, thanks to Jirka Hladky. + + Add --with-cuda-version= or look at the CUDA_VERSION + environment variable to find the appropriate CUDA pkg-config files. + Thanks to Stephen Herbein for the suggestion. + - Also add --with-cuda= to specify the CUDA installation path + manually (and its NVML and OpenCL components). + Thanks to Andrea Bocci for the suggestion. + - See "How do I enable CUDA and select which CUDA version to use?" + in the FAQ for details. + + lstopo now has a --windows-processor-groups option on Windows. + + hwloc-ps now has a --short-name option to avoid long/truncated + command path. + + hwloc-ps now has a --single-ancestor option to return a single + (possibly too large) object where a process is bound. + + hwloc-ps --pid-cmd may now query environment variables, + including MPI-specific variables to find out process ranks. + +------------------------------------------------------------------- +Tue Mar 16 21:08:07 UTC 2021 - Dirk Müller + +- update to 2.4.1: + * Fix AMD OpenCL device locality when PCI bus or device number >= 128. + Thanks to Edgar Leon for reporting the issue. + + Applications using any of the following inline functions must + be recompiled to get the fix: hwloc_opencl_get_device_pci_busid() + hwloc_opencl_get_device_cpuset(), hwloc_opencl_get_device_osdev(). + * Fix the ranking of cpukinds on non-Windows systems, + thanks to Ivan Kochin for the report. + * Fix the insertion of custom Groups after loading the topology, + thanks to Scott Hicks. + * Add support for CPU0 being offline in Linux, thanks to Garrett Clay. + * Fix missing x86 Package and Core objects FreeBSD/NetBSD. + Thanks to Thibault Payet and Yuri Victorovich for the report. + * Fix the import of very large distances with heterogeneous object types. + * Fix a memory leak in the Linux backend, + thanks to Perceval Anichini. + +------------------------------------------------------------------- +Sun Jan 24 16:08:57 UTC 2021 - Dirk Müller + +- update to 2.4.0: + + Add hwloc/cpukinds.h for reporting information about hybrid CPUs. + - Use Linux cpufreq frequencies to rank cores by efficiency. + - Use x86 CPUID hybrid leaf and future Linux kernels sysfs CPU type + files to identify Intel Atom and Core cores. + - Use the Windows native EfficiencyClass to separate kinds. + + Properly handle Linux kernel 5.10+ exposing ACPI HMAT information + with knowledge of Generic Initiators. + + lstopo has new --cpukinds and --no-cpukinds options for showing + CPU kinds or not in textual and graphical modes respectively. + + hwloc-calc has a new --cpukind option for filtering PUs by kind. + + hwloc-annotate has a new cpukind command for modifying CPU kinds. + + Fix hwloc_bitmap_nr_ulongs(), thanks to Norbert Eicker. + + Add a documentation section about + "Topology Attributes: Distances, Memory Attributes and CPU Kinds". + + Silence some spurious warnings in the OpenCL backend and when showing + process binding with lstopo --ps. + + Add hwloc/memattrs.h for exposing latency/bandwidth information + between initiators (CPU sets for now) and target NUMA nodes, + typically on heterogeneous platforms. + - When available, bandwidths and latencies are read from the ACPI HMAT + table exposed by Linux kernel 5.2+. + - Attributes may also be customized to expose user-defined performance + information. + + Add hwloc_get_local_numanode_objs() for listing NUMA nodes that are + local to some locality. + + The new topology flag HWLOC_TOPOLOGY_FLAG_IMPORT_SUPPORT causes + support arrays to be loaded from XML exported with hwloc 2.3+. + - hwloc_topology_get_support() now returns an additional "misc" + array with feature "imported_support" set when support was imported. + + Add hwloc_topology_refresh() to refresh internal caches after modifying + the topology and before consulting the topology in a multithread context. + + Add a ROCm SMI backend and a hwloc/rsmi.h helper file for getting + the locality of AMD GPUs, now exposed as "rsmi" OS devices. + Thanks to Mike Li. + + Remove POWER device-tree-based topology on Linux, + (it was disabled by default since 2.1). + + Command-line options for specifying flags now understand comma-separated + lists of flag names (substrings). + + hwloc-info and hwloc-calc have new --local-memory --local-memory-flags + and --best-memattr options for reporting local memory nodes and filtering + by memory attributes. + + hwloc-bind has a new --best-memattr option for filtering by memory attributes + among the memory binding set. + + Tools that have a --restrict option may now receive a nodeset or + some custom flags for restricting the topology. + + lstopo now has a --thickness option for changing line thickness in the + graphical output. + + Fix lstopo drawing when autoresizing on Windows 10. + + Pressing the F5 key in lstopo X11 and Windows graphical/interactive outputs + now refreshes the display according to the current topology and binding. + + Add a tikz lstopo graphical backend to generate picture easily included into + LaTeX documents. Thanks to Clement Foyer. + + The default installation path of the Bash completion file has changed to + ${datadir}/bash-completion/completions/hwloc. Thanks to Tomasz Kłoczko. + +------------------------------------------------------------------- +Sat Nov 21 22:02:29 UTC 2020 - Thomas Blume + +- move hwloc manpage to main package (bsc#1178802) + +------------------------------------------------------------------- +Tue Aug 18 15:37:56 UTC 2020 - Dirk Mueller + +- update to 2.2.0: + * API + + Add hwloc_bitmap_singlify_by_core() to remove SMT from a given cpuset, + thanks to Florian Reynier for the suggestion. + + Add --enable-32bits-pci-domain to stop ignoring PCI devices with domain + >16bits (e.g. 10000:02:03.4). Enabling this option breaks the library ABI. + Thanks to Dylan Simon for the help. + * Backends + + Add support for Linux cgroups v2. + + Add NUMA support for FreeBSD. + + Add get_last_cpu_location support for FreeBSD. + + Remove support for Intel Xeon Phi (MIC, Knights Corner) co-processors. + * Tools + + Add --uid to filter the hwloc-ps output by uid on Linux. + + Add a GRAPHICAL OUTPUT section in the manpage of lstopo. + * Misc + + Use the native dlopen instead of libltdl, + unless --disable-plugin-dlopen is passed at configure time. +- install systemd files using systemd macros and register it on install + with systemd +- build against libnuma on all architectures + +------------------------------------------------------------------- +Tue Oct 15 08:40:07 UTC 2019 - Thomas Blume + +- update to latest released upstream version 2.1.0 (jsc#SLE-8583) +* API + + Add a new "Die" object (HWLOC_OBJ_DIE) for upcoming x86 processors + with multiple dies per package, in the x86 and Linux backends. + + Add the new HWLOC_OBJ_MEMCACHE object type for memory-side caches. + + Add HWLOC_RESTRICT_FLAG_BYNODESET and _REMOVE_MEMLESS for restricting + topologies based on some memory nodes. + + Add hwloc_topology_set_components() for blacklisting some components + from being enabled in a topology. + + Add hwloc_bitmap_nr_ulongs() and hwloc_bitmap_from/to_ulongs() + + Improve the API for dealing with disallowed resources + + Group objects have a new "dont_merge" attribute to prevent them from + being automatically merged with identical parent or children. + + Add more distances-related features: + - Add hwloc_distances_get_name() to retrieve a string describing + what a distances structure contain. + - Add hwloc_distances_get_by_name() to retrieve distances structures + based on their name. + - Add hwloc_distances_release_remove() + - Distances may now cover objects of different types with new kind + HWLOC_DISTANCES_KIND_HETEROGENEOUS_TYPES. +* Backends + + Add support for Linux 5.3 new sysfs cpu topology files with Die information. + + Add support for Intel v2 Extended Topology Enumeration in the x86 backend. + + Improve memory locality on Linux by using HMAT initiators (exposed + since Linux 5.2+), and NUMA distances for CPU-less NUMA nodes. + + The x86 backend now properly handles offline CPUs. + + Detect the locality of NVIDIA GPU OpenCL devices. + + Ignore NUMA nodes that correspond to NVIDIA GPU by default. + + Add support for IBM S/390 drawers. + + Rework the heuristics for discovering KNL Cluster and Memory modes + to stop assuming all CPUs are online (required for mOS support). + + Ignore NUMA node information from AMD topoext in the x86 backend, + unless HWLOC_X86_TOPOEXT_NUMANODES=1 is set in the environment. + + Expose Linux DAX devices as hwloc Block OS devices. + + Remove support for /proc/cpuinfo-only topology discovery in Linux + kernel prior to 2.6.16. + + Disable POWER device-tree-based topology on Linux by default. + + Discovery components are now divided in phases that may be individually + blacklisted. +* Tools + + lstopo + - lstopo factorizes objects by default in the graphical output when + there are more than 4 identical children. + - Both logical and OS/physical indexes are now displayed by default + for PU and NUMA nodes. + - The X11 and Windows interactive outputs support many keyboard + shortcuts to dynamically customize the attributes, legend, etc. + - Add --linespacing and change default margins and linespacing. + - Add --allow for changing allowed sets. + - Add a native SVG backend. + + Add --nodeset options to hwloc-calc for converting between cpusets and + nodesets. + + Add --no-smt to lstopo, hwloc-bind and hwloc-calc to ignore multiple + PU in SMT cores. + + hwloc-annotate may annotate multiple locations at once. + + Add a HTML/JS version of hwloc-ps. See contrib/hwloc-ps.www/README. + + Add bash completions. +* Misc + + Add several FAQ entries in "Compatibility between hwloc versions" + about API version, ABI, XML, Synthetic strings, and shmem topologies. + +------------------------------------------------------------------- +Tue Aug 27 08:36:28 UTC 2019 - Thomas Blume + +- update to latest released upstream version 2.0.4 (jsc#SLE-8583) + +* Add support for Linux 5.3 new sysfs cpu topology files with Die information. +* Add support for Intel v2 Extended Topology Enumeration in the x86 backend. +* Tiles, Modules and Dies are exposed as Groups for now. + + HWLOC_DONT_MERGE_DIE_GROUPS=1 may be set in the environment to prevent + Die groups from being automatically merged with identical parent or children. +* Ignore NUMA node information from AMD topoext in the x86 backend, + unless HWLOC_X86_TOPOEXT_NUMANODES=1 is set in the environment. +* Group objects have a new "dont_merge" attribute to prevent them from + being automatically merged with identical parent or children. +* Fix build on Cygwin, thanks to Marco Atzeri for the patches. +* Fix a corner case of hwloc_topology_restrict() where children would + become out-of-order. +* Fix the return length of export_xmlbuffer() functions to always + include the ending \0. +* Fix lstopo --children-order argument parsing. +* Add support for Hygon Dhyana processors in the x86 backend, + thanks to Pu Wen for the patch. +* Fix symbol renaming to also rename internal components, + thanks to Evan Ramos for the patch. +* Fix build on HP-UX, thanks to Richard Lloyd for reporting the issues. +* Detect PCI link speed without being root on Linux >= 4.13. +* Add HWLOC_VERSION* macros to the public headers, + thanks to Gilles Gouaillardet for the suggestion. +* Bump the library soname to 15:0:0 to avoid conflicts with hwloc 1.11.x + releases. The hwloc 2.0.0 soname was buggy (12:0:0), applications will + have to be recompiled. +* Serialize pciaccess discovery to fix concurrent topology loads in + multiple threads. +* Fix hwloc-dump-hwdata to only process SMBIOS information that correspond + to the KNL and KNM configuration. +* Add a heuristic for guessing KNL/KNM memory and cluster modes when + hwloc-dump-hwdata could not run as root earlier. +* Add --no-text lstopo option to remove text from some boxes in the + graphical output. Mostly useful for removing Group labels. +* Some minor fixes to memory binding. + +------------------------------------------------------------------- +Tue Nov 21 12:29:26 UTC 2017 - Thomas.Blume@suse.com + +- update to latest released upstream version 1.11.8 (fate#324166) + +* Multiple Solaris improvements + + Detect caches on Sparc. + + Properly detect allowed/disallowed PUs and NUMA nodes with processor sets. + + Add hwloc_get_last_cpu_location() support for the current thread. +* Add support for CUDA compute capability 7.0 and fix support for 6.[12]. +* Tools improvements + + Fix search for objects by physical index in command-line tools. + + Add missing "cpubind:get_thisthread_last_cpu_location" in the output + of hwloc-info --support. + + Add --pid and --name to specify target processes in hwloc-ps. + + Display thread names in lstopo and hwloc-ps on Linux. +* Doc improvements + + Add a FAQ entry about building on Windows. + + Install missing sub-manpage for hwloc_obj_add_info() and + hwloc_obj_get_info_by_name(). +* Fix hwloc-bind --membind for CPU-less NUMA nodes (again). + Thanks to Gilles Gouaillardet for reporting the issue. +* Fix a memory leak on IBM S/390 platforms running Linux. +* Fix a memory leak when forcing the x86 backend first on amd64/topoext + platforms running Linux. +* Command-line tools now support "hbm" instead "numanode" for filtering + only high-bandwidth memory nodes when selecting locations. + + hwloc-bind also support --hbm and --no-hbm for filtering only or + no HBM nodes. +* Add --children and --descendants to hwloc-info for listing object + children or object descendants of a specific type. +* Add --no-index, --index, --no-attrs, --attrs to disable/enable display + of index numbers or attributes in the graphical lstopo output. +* Try to gather hwloc-dump-hwdata output from all possible locations + in hwloc-gather-topology. +* Updates to the documentation of locations in hwloc(7) and + command-line tools manpages. +* Make the Linux discovery about twice faster, especially on the CPU side, + by trying to avoid sysfs file accesses as much as possible. +* Add support for AMD Family 17h processors (Zen) SMT cores in the Linux + and x86 backends. +* Add the HWLOC_TOPOLOGY_FLAG_THISSYSTEM_ALLOWED_RESOURCES flag (and the + HWLOC_THISSYSTEM_ALLOWED_RESOURCES environment variable) for reading the + set of allowed resources from the local operating system even if the + topology was loaded from XML or synthetic. +* Fix hwloc_bitmap_set/clr_range() for infinite ranges that do not + overlap currently defined ranges in the bitmap. +* Don't reset the lstopo zoom scale when moving the X11 window. +* lstopo now has --flags for manually setting topology flags. +* hwloc_get_depth_type() returns HWLOC_TYPE_DEPTH_UNKNOWN for Misc objects. + +------------------------------------------------------------------- +Tue Nov 21 09:52:50 UTC 2017 - idonmez@suse.com + +- Fix build on Leap where both sle_version is defined and + is_opensuse is True. + +------------------------------------------------------------------- +Mon Mar 6 07:59:52 UTC 2017 - Thomas.Blume@suse.com + +- make hwloc-dump-hwdata only available on x86, as it is only + supported for Intel Knights Landing Xeon Phi platforms +- revert sub packages for SLE from no-arch to arch specific in order + to keep backward compatibility +- fix typo in specfile + +------------------------------------------------------------------- +Wed Feb 8 12:46:42 UTC 2017 - jengelh@inai.de + +- fix grammar errors + +------------------------------------------------------------------- +Fri Jan 27 13:14:01 UTC 2017 - Thomas.Blume@suse.com + +- use correct upstream source version + +------------------------------------------------------------------- +Tue Jan 24 15:10:18 UTC 2017 - Thomas.Blume@suse.com + +- use version_prefix in specfile and download_files service to get sources + +------------------------------------------------------------------- +Mon Jan 23 14:37:16 UTC 2017 - tchvatal@suse.com + +- Set noarch on the subpackages that are arch independent +- Run configure with enabling verbose mode and disable needless knobs +- Set version in the package fully (not 1.11 but 1.11.5+git...) +- Rename files to name of the package, if it needs to be renamed the folder + needs to keep the other name too +- Do not mess with provides/obsoletes about the hwloc-2.0 it won't work + with libsolv anyway without user interaction + * Bump the user version to 2.0.0.1.11.5+git... to allow 'fake' update + for user in order to work with fate#321929c#5 + +------------------------------------------------------------------- +Tue Jan 17 12:34:11 UTC 2017 - Thomas.Blume@suse.com + +- switch to version 1.11.5 since 2.0 is a development version with + no .so-version set fate#321929 comment#5) + +------------------------------------------------------------------- +Mon Aug 29 13:28:27 UTC 2016 - Thomas.Blume@suse.com + +- fix missing manpage bug (bsc#995407) +- remove dependency to selinux-policy, selinux is not essential + for hwloc (bsc#976559 comment#4) + +------------------------------------------------------------------- +Fri Apr 22 08:28:22 UTC 2016 - Thomas.Blume@suse.com + +- add dependency to selinux-policy (bsc#976559) + +------------------------------------------------------------------- +Fri Mar 11 05:39:24 UTC 2016 - thomas.blume@suse.com + +- Update to 2.0 to support memory side cache (fate#319511) + +------------------------------------------------------------------- +Sat Dec 26 17:24:37 UTC 2015 - mpluskal@suse.com + +- Update to 1.11.2 + * Improve support for Intel Knights Landing Xeon Phi on Linux: + + Group local NUMA nodes of normal memory (DDR) and high-bandwidth memory + (MCDRAM) together through "Cluster" groups so that the local MCDRAM is + easy to find. + - See "How do I find the local MCDRAM NUMA node on Intel Knights + Landing Xeon Phi?" in the documentation. + - For uniformity across all KNL configurations, always have a NUMA node + object even if the host is UMA. + + Fix the detection of the memory-side cache: + - Add the hwloc-dump-hwdata superuser utility to dump SMBIOS + information + into /var/run/hwloc/ as root during boot, and load this dumped + information from the hwloc library at runtime. + - See "Why do I need hwloc-dump-hwdata for caches on Intel Knights + Landing Xeon Phi?" in the documentation. + Thanks to Grzegorz Andrejczuk for the patches and for the help. + * The x86 and linux backends may now be combined for discovering CPUs + through x86 CPUID and memory from the Linux kernel. + This is useful for working around buggy CPU information reported by Linux + (for instance the AMD Bulldozer/Piledriver bug below). + Combination is enabled by passing HWLOC_COMPONENTS=x86 in the environment. + * Fix L3 cache sharing on AMD Opteron 63xx (Piledriver) and 62xx (Bulldozer) + in the x86 backend. Thanks to many users who helped. + * Fix the overzealous L3 cache sharing fix added to the x86 backend in 1.11.1 + for AMD Opteron 61xx (Magny-Cours) processors. + * The x86 backend may now add the info attribute Inclusive=0 or 1 to caches + it discovers, or to caches discovered by other backends earlier. + Thanks to Guillaume Beauchamp for the patch. + * Fix the management on alloc_membind() allocation failures on AIX, HP-UX + and OSF/Tru64. + * Fix spurious failures to load with ENOMEM on AIX in case of Misc objects + below PUs. + * lstopo improvements in X11 and Windows graphical mode: + + Add + - f 1 shortcuts to manually zoom-in, zoom-out, reset the scale, + or fit the entire window. + + Display all keyboard shortcuts in the console. + * Debug messages may be disabled at runtime by passing + * HWLOC_DEBUG_VERBOSE=0 + in the environment when --enable-debug was passed to configure. + * Add a FAQ entry "What are these Group objects in my topology?". + +------------------------------------------------------------------- +Mon Nov 16 15:48:47 UTC 2015 - p.drouand@gmail.com + +- Update to version 1.11.1 + * Hardwire the topology of Fujitsu K-computer, FX10, FX100 servers to + workaround buggy Linux kernels. + * Fix L3 cache information on AMD Opteron 61xx Magny-Cours processors + in the x86 backend. + * Detect block devices directly attached to PCI without a controller, + for instance NVMe disks. + * Add the PCISlot attribute to all PCI functions instead of only the + first one. + * Ignore PCI bridges that could fail assertions by reporting buggy + secondary-subordinate bus numbers + * Fix an overzealous assertion when inserting an intermediate Group object + while Groups are totally ignored. + * Fix a memory leak on Linux on AMD processors with dual-core compute units. + * Fix a memory leak on failure to load a xml diff file. + * Fix some segfaults when inputting an invalid synthetic description. + * Fix a segfault when plugins fail to find core symbols. + * Fix a segfault when displaying logical indexes in the graphical lstopo. + * Fix lstopo linking with X11 libraries, for instance on Mac OS X. + * hwloc-annotate, hwloc-diff and hwloc-patch do not drop unavailable + resources from the output anymore and those may be annotated as well. + * Command-line tools may now import XML from the standard input with -i -.xml + * Add missing documentation for the hwloc-info --no-icaches option. + +------------------------------------------------------------------- +Thu Mar 5 15:32:07 UTC 2015 - mpluskal@suse.com + +- Cleanup spec file with spec-cleaner +- Update to 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. + +------------------------------------------------------------------- +Tue Dec 30 10:34:40 UTC 2014 - mardnh@gmx.de + +- minor spec fixes (unbreak build for suse_version < Factory) + +------------------------------------------------------------------- +Tue Dec 16 09:22:26 UTC 2014 - alinm.elena@gmail.com + +- Update to Version 1.10.0 + * v1.10.0 is the new feature release. There is no new major change + in this release, just improvements everywhere. + If you are buying new Intel Xeon E5 with 10 cores or more, this + release is required for proper Socket/NUMA detection until the + Linux kernel gets fixed. + + * 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. + +------------------------------------------------------------------- +Sun Aug 17 18:42:36 UTC 2014 - mardnh@gmx.de + +- removed patches (fixed upstream) + * hwloc-1.7-manpage.patch + * hwloc-1.7.patch + +- Update to 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. + 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. + 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. + 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. + 1.7.1: + * Fix a failed assertion in the distance grouping code when loading a XML + file that already contains some groups. + Thanks to Laercio Lima Pilla for reporting the problem. + * Remove unexpected Group objects when loading XML topologies with I/O + objects and NUMA distances. + Thanks to Elena Elkina for reporting the problem and testing patches. + * Fix PCI link speed discovery when using libpciaccess. + * Fix invalid libpciaccess virtual function device/vendor IDs when using + SR-IOV PCI devices on Linux. + * Fix GL component build with old NVCtrl releases. + Thanks to Jirka Hladky for reporting the problem. + * Fix embedding breakage caused by libltdl. + Thanks to Pavan Balaji for reporting the problem. + * Always use the system-wide libltdl instead of shipping one inside hwloc. + * Document issues when enabling plugins while embedding hwloc in another + project, in the documentation section Embedding hwloc in Other Software. + * Add a FAQ entry "How to get useful topology information on NetBSD?" + in the documentation. + * Somes fixes in the renaming code for embedding. + * Miscellaneous minor build fixes. + + +------------------------------------------------------------------- +Tue Nov 12 22:17:52 UTC 2013 - meissner@suse.com + +- fixed shared library rename + +------------------------------------------------------------------- +Wed Oct 16 08:02:12 UTC 2013 - boris@steki.net + +- enable build on SLE and older (12.2) OS + +------------------------------------------------------------------- +Fri Oct 4 12:34:25 UTC 2013 - mvyskocil@suse.com + +- Update to 1.7 + * New operating system backends + * New I/O device discovery + * New components + 1.6.2: + * Use libpciaccess instead of pciutils/libpci by default for + I/O discovery. + 1.6.1: + * Fix some crash or buggy detection in the x86 backend when Linux + cgroups/cpusets restrict the available CPUs. + * Fix the pkg-config output with --libs --static. + Thanks to Erik Schnetter for reporting one of the problems. + * Fix the output of hwloc-calc -H --hierarchical when using logical + indexes in the output. + 1.6.0: + * Reorganize the backend infrastructure to support dynamic selection + of components and dynamic loading of plugins. + 1.5.1: + * Fix block OS device detection on Linux kernel 3.3 and later. + Thanks to Guy Streeter for reporting the problem and testing the fix. + * and many more changes, see NEWS files +- Added patches (taken from Fedora): + * hwloc-1.7.patch + * hwloc-1.7-manpage.patch + +------------------------------------------------------------------- +Sat Oct 13 07:36:23 UTC 2012 - d.pashov@gmail.com + +- Set executable permissions to 2 scripts + +------------------------------------------------------------------- +Fri Oct 12 16:37:05 UTC 2012 - cfarrell@suse.com + +- license update: BSD-3-Clause + Use SPDX format (http://www.spdx.org/licenses) + +------------------------------------------------------------------- +Fri Mar 30 19:18:43 UTC 2012 - pascal.bleser@opensuse.org + +- update to 1.4.1: + * fix hwloc_alloc_membind + * fix memory leaks in some get_membind() functions + * fix helpers converting from Linux libnuma to hwloc (hwloc/linux-libnuma.h) + in case of out-of-order NUMA node ids + * fix some overzealous assertions in the distance grouping code + * workaround BIOS reporting empty I/O locality in cuda and openfabrics + helpers on Linux + * install a valgrind suppressions file hwloc-valgrind.supp (see the FAQ) + * fix memory binding documentation + +- changes from 1.4.0: + * add "custom" interface and "assembler" tools to build multi-node topology; + see the Multi-node Topologies section in the documentation for details + * add symmetric_subtree object attribute to ease assumptions when consulting + regular symmetric topologies + * add a CPUModel and CPUType info attribute to Socket objects on Linux and + Solaris + * add hwloc_get_obj_index_inside_cpuset() to retrieve the "logical" index of + an object within a subtree of the topology + * add more NVIDIA CUDA helpers in cuda.h and cudart.h to find hwloc objects + corresponding to CUDA devices + * add a group object above partial distance matrices to make sure the + matrices are available in the final topology, except when this new object + would contradict the existing hierarchy + * grouping by distances now also works when loading from XML + * fix some corner cases in object insertion, for instance when dealing with + NUMA nodes without any CPU + * implement hwloc_get_area_membind() on Linux + * honor I/O topology flags when importing from XML + * further improve XML-related error checking and reporting + * hide synthetic topology error messages unless HWLOC_SYNTHETIC_VERBOSE=1 + * add synthetic exporting of symmetric topologies to lstopo + * lstopo --horiz and --vert can now be applied to some specific object types + * lstopo -v -p now displays distance matrices with physical indexes + * add hwloc-distances utility to list distances + * fix and/or document the behavior of most inline functions in hwloc/helper.h + when the topology contains some I/O or Misc objects + * backend documentation enhancements + * fix dependencies in the embedded library + * remove references to internal symbols in the tools + +- changes from 1.3.2: + * fix missing last bit in hwloc_linux_get_thread_cpubind() + * fix PCI locality when Linux cgroups restrict the available CPUs + * fix conversion from/to Linux libnuma when some NUMA nodes have no memory + * remove references to internal symbols in the tools + * further improve XML-related error checking and reporting + +------------------------------------------------------------------- +Wed Dec 21 08:28:43 UTC 2011 - pascal.bleser@opensuse.org + +- update to 1.3.1: + * silence some harmless pciutils warnings +- changes from 1.3.0: + * add I/O devices and bridges to the topology using the pciutils library; + only enabled after setting the relevant flag with + hwloc_topology_set_flags() before hwloc_topology_load(). See the I/O + Devices section in the documentation for details. + * discovery improvements: + + add associativity to the cache attributes + + add support for s390/z11 "books" on Linux + + add the HWLOC_GROUPING_ACCURACY environment variable to relax + distance-based grouping constraints. See the Environment Variables + section in the documentation for details about grouping behavior and + configuration. + + allow user-given distance matrices to remove or replace those discovered + by the OS backend + * XML improvements: + + XML is now always supported: a minimalistic custom import/export code is + used when libxml2 is not available. It is only guaranteed to read XML + files generated by hwloc. + + hwloc_topology_export_xml() and export_xmlbuffer() now return an integer + + add hwloc_free_xmlbuffer() to free the buffer allocated by + hwloc_topology_export_xmlbuffer() + + hide XML topology error messages unless HWLOC_XML_VERBOSE=1 + * minor API updates: + + add hwloc_obj_add_info to customize object info attributes + * tools: + + lstopo now displays I/O devices by default. Several options are added to + configure the I/O discovery. + + hwloc-calc and hwloc-bind now accept I/O devices as input + + add --restrict option to hwloc-calc and hwloc-distribute + + add --sep option to change the output field separator in hwloc-calc + + add --whole-system option to hwloc-ps + +- changes from 1.2.2: + * fix XML import of very large page sizes or counts on 32bits platform + * fix crash when administrator limitations such as Linux cgroup require to + restrict distance matrices + * fix the removal of objects such as AMD Magny-Cours dual-node sockets in + case of administrator restrictions + * improve error reporting and messages in case of wrong synthetic topology + description + +------------------------------------------------------------------- +Fri Aug 26 23:33:39 UTC 2011 - pascal.bleser@opensuse.org + +- update to 1.2.1: + * improve support of AMD Bulldozer "Compute-Unit" modules by detecting + logical processors with different core IDs on Linux + * fix hwloc-ps crash when listing processes from another Linux cpuset + * fix hwloc_get_last_cpu_location(THREAD) on Linux + +------------------------------------------------------------------- +Wed Jun 01 20:39:43 CET 2011 - pascal.bleser@opensuse.org + +- initial version (1.2) + diff --git a/hwloc.spec b/hwloc.spec new file mode 100644 index 0000000..4e618eb --- /dev/null +++ b/hwloc.spec @@ -0,0 +1,267 @@ +# +# spec file for package hwloc +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%if 0%{?suse_version} > 1500 +%bcond_without XNVCtrl +%else +%bcond_with XNVCtrl +%endif +%if 0%{?sle_version} < 150600 +%bcond_with OpenCL +%else +%bcond_without OpenCL +%endif + +%global lname libhwloc15 +Name: hwloc +Version: 2.9.3 +Release: 0 +Summary: Portable Hardware Locality +License: BSD-3-Clause +URL: https://www.open-mpi.org/projects/hwloc/ +Source0: https://download.open-mpi.org/release/hwloc/v2.9/hwloc-%{version}.tar.bz2 +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: doxygen +BuildRequires: fdupes +BuildRequires: gcc-c++ +BuildRequires: libnuma-devel +BuildRequires: libtool +BuildRequires: ncurses-devel +BuildRequires: perl +BuildRequires: pkgconfig +BuildRequires: systemd-rpm-macros +BuildRequires: update-desktop-files +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(pciaccess) +BuildRequires: pkgconfig(x11) +%if %{with XNVCtrl} +BuildRequires: libXNVCtrl-devel +%endif +%if %{with OpenCL} +BuildRequires: opencl-headers +BuildRequires: pkgconfig(OpenCL) +%endif +Requires: %{lname} = %{version}-%{release} +Requires: perl-JSON +Requires: perl-base >= 5.18.2 +Requires(post): desktop-file-utils +Requires(postun):desktop-file-utils +%{?systemd_ordering} + +%description +The Portable Hardware Locality (hwloc) software package provides +an abstraction (across OS, versions, architectures, ...) +of the hierarchical topology of modern architectures, including +NUMA memory nodes, shared caches, processor sockets, processor cores +and processing units (logical processors or "threads"). It also gathers +various system attributes such as cache and memory information. It primarily +aims at helping applications with gathering information about modern +computing hardware so as to exploit it accordingly and efficiently. + +hwloc may display the topology in multiple convenient formats. +It also offers a powerful programming interface (C API) to gather information +about the hardware, bind processes, and much more. + +%package gui +Summary: Hwloc GUI tool +Requires: %{name} = %{version} + +%description gui +Hwloc GUI visualization tool - requires X11 + +%package devel +Summary: Headers and shared development libraries for hwloc +Requires: %{lname} = %{version} +Provides: libhwloc-devel = %{version} +Obsoletes: libhwloc-devel < %{version} +Obsoletes: libhwloc-devel = 0.0.0 + +%description devel +This package contains the headers and shared object symbolic links +for the hwloc. + +%package -n %{lname} +Summary: Runtime libraries for hwloc +Requires: %{name}-data + +%description -n %{lname} +This package contains the run time libraries for hwloc. + +%package data +Summary: Run time data for hwloc +BuildArch: noarch + +%description data +This package contains the run time data for the hwloc. + +%package doc +Summary: Documentation for hwloc +BuildArch: noarch + +%description doc +This package contains the documentation for hwloc. + +%package gl +Summary: OpenGL Plugin for HWLOC (NVIDIA Only) +Requires: hwloc + +%description gl +Plugin for HWLOC to detect and enumerate OpenGL devices. This works only +for NVIDIA devices running the proprietary driver by using the NV-CONTROL +X Window System extension. + +%package opencl +Summary: OpenCL Plugin for HWLOC +Requires: hwloc + +%description opencl +Plugin for HWLOC to detect and enumerate OpenCL devices. It detects +HW accelerators from AMD and NVIDIA + +%prep +%setup -q + +%build +autoreconf -fvi +# We let the supported components autodetect and mark those as plugins +# which we don't want to have included statically - regardless available +%configure \ + --disable-silent-rules \ + --enable-plugins=opencl,gl,cuda,levelzero,nvml,rsmi \ + --with-hwloc-plugins-path=%{_libdir}/hwloc +%make_build + +%install +%make_install +%suse_update_desktop_file -r lstopo System Monitor +# We don't ship .la files. +rm -rf %{buildroot}%{_libdir}/libhwloc.la + +# documentation will be handled by % doc macro +rm -rf %{buildroot}%{_datadir}/doc/ +# remove .la files for plugins +rm -f %{buildroot}/%{_libdir}/hwloc/*.la + +# This binary is built only for intel architectures +%ifarch %{ix86} x86_64 +install -D -m 644 %{buildroot}%{_datadir}/hwloc/hwloc-dump-hwdata.service %{buildroot}%{_unitdir}/hwloc-dump-hwdata.service +%endif +rm %{buildroot}%{_datadir}/hwloc/hwloc-dump-hwdata.service + +#remove headers for features we don't ship +rm %{buildroot}%{_includedir}/hwloc/rsmi.h +rm %{buildroot}%{_includedir}/hwloc/nvml.h +rm %{buildroot}%{_includedir}/hwloc/levelzero.h +rm %{buildroot}%{_includedir}/hwloc/cuda.h +rm %{buildroot}%{_includedir}/hwloc/cudart.h +%{!?with_XNVCtrl:rm %{buildroot}%{_includedir}/hwloc/gl.h} +%{!?with_OpenCL:rm %{buildroot}%{_includedir}/hwloc/opencl.h} + +%fdupes -s %{buildroot}/%{_mandir}/man1 +%fdupes -s %{buildroot}/%{_mandir}/man3 +%fdupes -s %{buildroot}/%{_mandir}/man7 + +%check +#XXX: this is weird, but make check got broken by removing doxygen-doc/man above +# the only one fix is to install documentation by hand, or to ignore check error +%make_build check || : + +%post -n %{lname} -p /sbin/ldconfig +%postun -n %{lname} -p /sbin/ldconfig + +%ifarch %{ix86} x86_64 +%pre +%service_add_pre hwloc-dump-hwdata.service +%endif + +%post +%ifarch %{ix86} x86_64 +%service_add_post hwloc-dump-hwdata.service +%endif +%desktop_database_post + +%ifarch %{ix86} x86_64 +%preun +%service_del_preun hwloc-dump-hwdata.service +%endif + +%postun +%ifarch %{ix86} x86_64 +%service_del_postun hwloc-dump-hwdata.service +%endif +%desktop_database_postun + +%files +%license COPYING +%doc NEWS README VERSION +%if %{with OpenCL} || %{with XNVCtrl} +%dir %{_libdir}/hwloc +%endif +%{_mandir}/man7/hwloc* +%{_mandir}/man1/hwloc* +%{_mandir}/man1/lstopo-no-graphics* +%{_bindir}/hwloc* +%{_bindir}/lstopo-no-graphics +%{_datadir}/applications/*.desktop +%{_datadir}/bash-completion/completions/%{name} +%ifarch %{ix86} x86_64 +%attr(0755,root,root) %{_sbindir}/hwloc-dump-hwdata +%{_unitdir}/hwloc-dump-hwdata.service +%endif + +%files gui +%{_bindir}/lstopo +%{_mandir}/man1/lstopo.* + +%files devel +%exclude %{_includedir}/hwloc/opencl.h +%exclude %{_includedir}/hwloc/gl.h +%{_includedir}/hwloc +%{_includedir}/hwloc.h +%{_libdir}/libhwloc.so +%{_libdir}/pkgconfig/hwloc.pc + +%files -n %{lname} +%{_libdir}/libhwloc*so.* + +%files data +%dir %{_datadir}/hwloc +%dir %{_datadir}/hwloc/hwloc-ps.www +%{_datadir}/hwloc/hwloc.dtd +%{_datadir}/hwloc/hwloc2-diff.dtd +%{_datadir}/hwloc/hwloc2.dtd +%{_datadir}/hwloc/hwloc-valgrind.supp +%{_datadir}/hwloc/hwloc-ps.www/* + +%if %{with OpenCL} +%files opencl +%{_libdir}/hwloc/hwloc_opencl.so +%endif + +%if %{with XNVCtrl} +%files gl +%{_libdir}/hwloc/hwloc_gl.so +%endif + +%files doc +%doc ./doc/doxygen-doc/html/* +%{_mandir}/man3/* + +%changelog