Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion contrib/hwloc/COPYING
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
SPDX-License-Identifier: BSD-3-Clause

Copyright © 2004-2006 The Trustees of Indiana University and Indiana University Research and Technology Corporation. All rights reserved.
Copyright © 2004-2005 The University of Tennessee and The University of Tennessee Research Foundation. All rights reserved.
Copyright © 2004-2005 High Performance Computing Center Stuttgart, University of Stuttgart. All rights reserved.
Expand All @@ -14,7 +16,6 @@ Copyright © 2012 Blue Brain Project, EPFL. All rights reserved.
Copyright © 2013-2014 University of Wisconsin-La Crosse. All rights reserved.
Copyright © 2015 Research Organization for Information Science and Technology (RIST). All rights reserved.
Copyright © 2015-2016 Intel, Inc. All rights reserved.
See COPYING in top-level directory.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
Expand All @@ -37,3 +38,9 @@ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


hwloc/base64.c is distributed under the ISC license.

contrib/android/AndroidApp/lstopo/src/main/java/com/hwloc/lstopo/ZoomView/
is distributed under the MIT license.
1 change: 1 addition & 0 deletions contrib/hwloc/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright © 2009-2021 Inria. All rights reserved.
# Copyright © 2009 Université Bordeaux
# Copyright © 2009-2014 Cisco Systems, Inc. All rights reserved.
Expand Down
42 changes: 14 additions & 28 deletions contrib/hwloc/Makefile.in
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.16.5 from Makefile.am.
# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@

# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# Copyright (C) 1994-2017 Free Software Foundation, Inc.

# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
Expand All @@ -14,6 +14,7 @@

@SET_MAKE@

# SPDX-License-Identifier: BSD-3-Clause
# Copyright © 2009-2021 Inria. All rights reserved.
# Copyright © 2009 Université Bordeaux
# Copyright © 2009-2014 Cisco Systems, Inc. All rights reserved.
Expand Down Expand Up @@ -155,8 +156,8 @@ CONFIG_CLEAN_FILES = doc/Makefile doc/examples/Makefile \
utils/hwloc/test-hwloc-dump-hwdata/test-hwloc-dump-hwdata.sh \
utils/lstopo/test-lstopo.sh utils/lstopo/test-lstopo-shmem.sh \
contrib/hwloc-ps.www/Makefile contrib/systemd/Makefile \
contrib/completion/Makefile contrib/misc/Makefile \
contrib/windows/Makefile tests/hwloc/ports/topology-solaris.c \
contrib/misc/Makefile contrib/windows/Makefile \
tests/hwloc/ports/topology-solaris.c \
tests/hwloc/ports/topology-solaris-chiptype.c \
tests/hwloc/ports/topology-aix.c \
tests/hwloc/ports/topology-windows.c \
Expand Down Expand Up @@ -239,7 +240,7 @@ am__recursive_targets = \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
cscope distdir distdir-am dist dist-all distcheck
cscope distdir dist dist-all distcheck
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
Expand All @@ -257,14 +258,16 @@ am__define_uniq_tagged_files = \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/hwloc.pc.in \
$(top_srcdir)/./config/ar-lib $(top_srcdir)/./config/compile \
$(top_srcdir)/./config/config.guess \
$(top_srcdir)/./config/config.sub \
$(top_srcdir)/./config/install-sh \
$(top_srcdir)/./config/ltmain.sh \
$(top_srcdir)/./config/missing \
$(top_srcdir)/contrib/completion/Makefile.in \
$(top_srcdir)/contrib/hwloc-ps.www/Makefile.in \
$(top_srcdir)/contrib/misc/Makefile.in \
$(top_srcdir)/contrib/systemd/Makefile.in \
Expand Down Expand Up @@ -352,8 +355,6 @@ am__relativize = \
DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
GZIP_ENV = --best
DIST_TARGETS = dist-bzip2 dist-gzip
# Exists only to be overridden by the user if desired.
AM_DISTCHECK_DVI_TARGET = dvi
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
Expand All @@ -375,8 +376,6 @@ CFLAGS = @CFLAGS@
CONFIGURE_DEPENDENCIES = @CONFIGURE_DEPENDENCIES@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSCOPE = @CSCOPE@
CTAGS = @CTAGS@
CUDA_VERSION = @CUDA_VERSION@
CXX = @CXX@
CXXCPP = @CXXCPP@
Expand All @@ -395,11 +394,9 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EPSTOPDF = @EPSTOPDF@
ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FIG2DEV = @FIG2DEV@
FILECMD = @FILECMD@
GREP = @GREP@
GS = @GS@
HWLOC_CAIRO_CFLAGS = @HWLOC_CAIRO_CFLAGS@
Expand Down Expand Up @@ -565,7 +562,6 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
Expand Down Expand Up @@ -627,8 +623,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
Expand Down Expand Up @@ -744,8 +740,6 @@ contrib/hwloc-ps.www/Makefile: $(top_builddir)/config.status $(top_srcdir)/contr
cd $(top_builddir) && $(SHELL) ./config.status $@
contrib/systemd/Makefile: $(top_builddir)/config.status $(top_srcdir)/contrib/systemd/Makefile.in
cd $(top_builddir) && $(SHELL) ./config.status $@
contrib/completion/Makefile: $(top_builddir)/config.status $(top_srcdir)/contrib/completion/Makefile.in
cd $(top_builddir) && $(SHELL) ./config.status $@
contrib/misc/Makefile: $(top_builddir)/config.status $(top_srcdir)/contrib/misc/Makefile.in
cd $(top_builddir) && $(SHELL) ./config.status $@
contrib/windows/Makefile: $(top_builddir)/config.status $(top_srcdir)/contrib/windows/Makefile.in
Expand Down Expand Up @@ -907,10 +901,8 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am

distdir-am: $(DISTFILES)
distdir: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
Expand Down Expand Up @@ -992,10 +984,6 @@ dist-xz: distdir
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
$(am__post_remove_distdir)

dist-zstd: distdir
tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst
$(am__post_remove_distdir)

dist-tarZ: distdir
@echo WARNING: "Support for distribution archives compressed with" \
"legacy program 'compress' is deprecated." >&2
Expand Down Expand Up @@ -1038,8 +1026,6 @@ distcheck: dist
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
*.tar.zst*) \
zstd -dc $(distdir).tar.zst | $(am__untar) ;;\
esac
chmod -R a-w $(distdir)
chmod u+w $(distdir)
Expand All @@ -1055,7 +1041,7 @@ distcheck: dist
$(DISTCHECK_CONFIGURE_FLAGS) \
--srcdir=../.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
Expand Down Expand Up @@ -1226,7 +1212,7 @@ uninstall-am: uninstall-dist_pkgdataDATA uninstall-hwlocpkgconfigDATA \
am--refresh check check-am clean clean-cscope clean-generic \
clean-libtool cscope cscopelist-am ctags ctags-am dist \
dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \
dist-tarZ dist-xz dist-zip dist-zstd distcheck distclean \
dist-tarZ dist-xz dist-zip distcheck distclean \
distclean-generic distclean-hdr distclean-libtool \
distclean-tags distcleancheck distdir distuninstallcheck dvi \
dvi-am html html-am info info-am install install-am \
Expand Down
165 changes: 158 additions & 7 deletions contrib/hwloc/NEWS
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
SPDX-License-Identifier: BSD-3-Clause
Copyright © 2009 CNRS
Copyright © 2009-2023 Inria. All rights reserved.
Copyright © 2009-2026 Inria. All rights reserved.
Copyright © 2009-2013 Université Bordeaux
Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved.
Copyright © 2020 Hewlett Packard Enterprise. All rights reserved.

$COPYRIGHT$

Additional copyrights may follow

$HEADER$
See COPYING in top-level directory.

===========================================================================

Expand All @@ -17,6 +13,161 @@ bug fixes (and other actions) for each version of hwloc since version
0.9.


Version 2.13
------------
* CPU kind improvements
+ Put Intel LP E-cores in the IntelLowPower cpukind in the x86 backend,
thanks to Dmitri N Mokhov for the patch.
+ Adjust sysfs capacity on Intel CPUs on Linux 6.16+ together with
max frequencies when they differ because of Turbo Boost Max 3.0.
+ Disable Linux cpukinds on AMD before Zen5 since these CPUs are
homogeneous and it may cause slowness on some platforms.
The new env var HWLOC_LINUX_CPUKINDS=1 may be used to reenable it.
Thanks to Benedikt Steinbusch and Jan André Reuter for the report.
* Fix CUDACoresPerMP on NVIDIA GPUs with compute capability 7.x.
* Tools
+ Send the lstopo ASCII output to a pager (less by default).
+ hwloc-patch now has a --dry-run option.
* Plugins are now supported for OpenCL, CUDA and XML components
on Windows using the HWLOC_ENABLE_PLUGINS CMake option,
thanks to Julian Hornich.
+ HWLOC_BUILD_SHARED_LIBS is removed in favor of BUILD_SHARED_LIBS.
* FAQ
+ "How do I find the local MCDRAM NUMA node on Intel Xeon Phi
processor?" is replaced with "How do I find the local HBM NUMA node
on heterogeneous memory systems?"
+ Add "How do I convert between logical and OS/physical indexes?"
and further clarify that cpusets and nodesets contain physical indexes.
* Removals
+ Drop support for Windows before 7 or Server 2008 R2.
+ Remove the HWLOC_PCI_<domain>_<bus>_LOCALCPUS environment variables,
superseded with a single HWLOC_PCI_LOCALITY since 2.0.


Version 2.12.2
--------------
* Fix hwloc-gather-topology failure because of MemoryModules when
running as root. Thanks to Andrew Phelps for the report.
* Fix HWLOC_LOCAL_NUMANODE_FLAG_INTERSECT_LOCALITY for empty input
cpuset, thanks to Hadrien Grasland.
* Fix hwloc_distances_get_by_name() for distances with no kinds.
Thanks to Hadrien Grasland.
* Initialize distances grouping configuration for duplicated topology.
Thanks to Hadrien Grasland.
* Improve Windows CMake build to support ARM64, thanks to Chiwen Hui.


Version 2.12.1
--------------
* Add hwloc-calc's --default-nodes option to hwloc-bind and hwloc-info.
* Improve the --best-memattr "default" fallback, try to use "default"
memory nodes, and add verbose messages and warnings if some
performance info are incomplete or missing.
Thanks to Antoine Morvan for the report.
* Fix CPU and memory binding on different locations,
thanks to Antoine Morvan for the report.
* Add HWLOC_LOCAL_NUMANODE_FLAG_INTERSECT_LOCALITY and enable it by
default in hwloc-calc --local-memory for finding local NUMA nodes
that do not exactly match input locations.
Thanks to Antoine Morvan for the report.
* Fix a possible crash in the x86 backend when Qemu is configured to
expose multicore/thread CPUs that are actually single-core/thread.
Thanks to Georg Pfuetzenreuter.


Version 2.12.0
--------------
* Add hwloc_topology_get_default_nodeset() for the set of default
NUMA nodes.
- hwloc-calc now has --default-nodes option.
* Rework oneAPI LevelZero support to use zesInit() and avoid the need
to set ZES_ENABLE_SYSMAN=1 in the environment.
- zesDriverGetDeviceByUuidExp() is now required in the L0 runtime.
- ZES/Sysman variants were added in hwloc/levelzero.h to specifically
handle ZES/Sysman device handles.
* Fix the locality of AMD GPU partitions, thanks to Edgar Leon for
reporting and debugging the issue.
* Better detect Cray Slingshot NICs, thanks to Edgar Leon.
* Add support for Die objects and Module groups on Windows.
* Only filter-out Dies that are identical to their Packages
when it applies to all Dies.
* Improve hwloc-calc to handle CPU-less NUMA nodes or platforms with
heterogeneous memory without requiring --nodeset-output.
* hwloc-calc now accepts counting/listing cpukinds and memory tiers
with -N and -I cpukind/memorytier.
* The systemd-dbus-api output of hwloc-calc has changed, and
--nodeset-output-format was added, to support NUMA node outputs.
Thanks to Pierre Neyron.
* Update NVLink bandwidth and CUDA capabilities up to NVIDIA Blackwell.
* Fix some NUMA syscalls on Linux for platforms with old libc headers.
* Some minor fixes in distances.


Version 2.11.2
--------------
* Add missing CPU info attrs on aarch64 on Linux.
* Use ACPI CPPC on Linux to get better information about cpukinds,
at least on AMD CPUs.
* Fix crash when manipulating cpukinds after topology
duplication, thanks to Hadrien Grasland for the report.
* Fix missing input target checks in memattr functions,
thanks to Hadrien Grasland for the report.
* Fix a memory leak when ignoring NUMA distances on FreeBSD.
* Fix build failure on old Linux distributions without accessat().
* Fix non-Windows importing of XML topologies and CPUID dumps exported
on Windows.
* hwloc-calc --cpuset-output-format systemd-dbus-api now allows
to generate AllowedCPUs information for systemd slices.
See the hwloc-calc manpage for examples. Thanks to Pierre Neyron.
* Some fixes in manpage EXAMPLES and split them into subsections.


Version 2.11.1
--------------
* Fix bash completions, thanks Tavis Rudd.


Version 2.11.0
--------------
* API
+ Add HWLOC_MEMBIND_WEIGHTED_INTERLEAVE memory binding policy on
Linux 6.9+. Thanks to Honggyu Kim for the patch.
- weighted_interleave_membind is added to membind support bits.
- The "weighted" policy is added to the hwloc-bind tool.
+ Add hwloc_obj_set_subtype(). Thanks to Hadrien Grasland for the report.
* GPU support
+ Don't hide the GPU NUMA node on NVIDIA Grace Hopper.
+ Get Intel GPU OpenCL device locality.
+ Add bandwidths between subdevices in the LevelZero XeLinkBandwidth
matrix.
+ Fix PCI Gen4+ link speed of NVIDIA GPU obtained from NVML,
thanks to Akram Sbaih for the report.
* Windows support
+ Fix Windows support when UNICODE is enabled, several hwloc features
were missing, thanks to Martin for the report.
+ Fix the enabling of CUDA in Windows CMake build,
Thanks to Moritz Kreutzer for the patch.
+ Fix CUDA/OpenCL test source path in Windows CMake.
* Tools
+ Option --best-memattr may now return multiple nodes. Additional
configuration flags may be given to tweak its behavior.
+ hwloc-info has a new --get-attr option to get a single attribute.
+ hwloc-info now supports "levels", "support" and "topology"
special keywords for backward compatibility for hwloc 3.0.
+ The --taskset command-line option is superseded by the new
--cpuset-output-format which also allows to export as list.
+ hwloc-calc may now import bitmasks described as a list of bits
with the new "--cpuset-input-format list".
* Misc
+ The MemoryTiersNr info attribute in the root object now says how many
memory tiers were built. Thanks to Antoine Morvan for the report.
+ Fix the management of infinite cpusets in the bitmap printf/sscanf
API as well as in command-line tools.
+ Add section "Compiling software on top of hwloc's C API" in the
documentation with examples for GNU Make and CMake,
thanks to Florent Pruvost for the help.


Version 2.10.0
--------------
* Heterogeneous Memory core improvements
Expand Down
Loading
Loading