diff -Nru hwloc-2.7.0/config/hwloc_internal.m4 hwloc-2.7.1/config/hwloc_internal.m4 --- hwloc-2.7.0/config/hwloc_internal.m4 2021-12-06 12:19:05.000000000 +0000 +++ hwloc-2.7.1/config/hwloc_internal.m4 2022-03-24 12:33:56.000000000 +0000 @@ -104,7 +104,7 @@ # CUDA install path (and NVML and OpenCL) AC_ARG_WITH([cuda], AS_HELP_STRING([--with-cuda=], - [Specify the CUDA installation directory, used for NVIDIA NVML and OpenCL too])) + [Specify the CUDA installation directory, used for NVIDIA NVML and OpenCL too. If a non-existent directory is given, all dependencies installed by CUDA are disabled (CUDA, NVML and NVIDIA OpenCL).])) # RSMI? AC_ARG_ENABLE([rsmi], diff -Nru hwloc-2.7.0/config/hwloc.m4 hwloc-2.7.1/config/hwloc.m4 --- hwloc-2.7.0/config/hwloc.m4 2021-12-06 12:19:05.000000000 +0000 +++ hwloc-2.7.1/config/hwloc.m4 2022-03-24 12:33:56.000000000 +0000 @@ -1,6 +1,6 @@ dnl -*- Autoconf -*- dnl -dnl Copyright © 2009-2021 Inria. All rights reserved. +dnl Copyright © 2009-2022 Inria. All rights reserved. dnl Copyright © 2009-2012, 2015-2017, 2020 Université Bordeaux dnl Copyright © 2004-2005 The Trustees of Indiana University and Indiana dnl University Research and Technology @@ -13,7 +13,7 @@ dnl Copyright © 2012 Blue Brain Project, BBP/EPFL. All rights reserved. dnl Copyright © 2012 Oracle and/or its affiliates. All rights reserved. dnl Copyright © 2012 Los Alamos National Security, LLC. All rights reserved. -dnl Copyright © 2020 IBM Corporation. All rights reserved. +dnl Copyright © 2020-2022 IBM Corporation. All rights reserved. dnl See COPYING in top-level directory. # Main hwloc m4 macro, to be invoked by the user @@ -1136,6 +1136,28 @@ LDFLAGS="$tmp_save_LDFLAGS" fi if test x$hwloc_have_cudart = xyes; then + AC_MSG_CHECKING([whether a program linked with -lcudart can run]) + tmp_save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $HWLOC_CUDART_LDFLAGS" + tmp_save_LIBS="$LIBS" + LIBS="$LIBS $HWLOC_CUDART_LIBS" + AC_RUN_IFELSE([ + AC_LANG_PROGRAM([[ +#include +int cudaGetDeviceCount(int *); +]], [[ +int n; +cudaGetDeviceCount(&n); /* may fail if using stubs, but we're looking for libcudart load error instead only */ +return 0; +]] + )], + [AC_MSG_RESULT([yes]) + hwloc_cuda_warning=no], + [AC_MSG_RESULT([no]) + hwloc_cuda_warning=yes], + [AC_MSG_RESULT([don't know (cross-compiling)])]) + LDFLAGS="$tmp_save_LDFLAGS" + LIBS="$tmp_save_LIBS" AC_SUBST(HWLOC_CUDART_CPPFLAGS) AC_SUBST(HWLOC_CUDART_CFLAGS) AC_SUBST(HWLOC_CUDART_LIBS) @@ -1163,6 +1185,7 @@ # NVML support hwloc_nvml_happy=no + hwloc_nvml_warning=no if test "x$enable_io" != xno && test "x$enable_nvml" != "xno"; then echo echo "**** NVML configuration" @@ -1174,9 +1197,30 @@ CPPFLAGS="$CPPFLAGS $HWLOC_NVML_CPPFLAGS" tmp_save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $HWLOC_NVML_LDFLAGS" + tmp_save_LIBS="$LIBS" AC_CHECK_HEADERS([nvml.h], [ - AC_CHECK_LIB([nvidia-ml], [nvmlInit], [HWLOC_NVML_LIBS="-lnvidia-ml"], [hwloc_nvml_happy=no]) + AC_CHECK_LIB([nvidia-ml], + [nvmlInit], + [AC_MSG_CHECKING([whether a program linked with -lnvidia-ml can run]) + HWLOC_NVML_LIBS="-lnvidia-ml" + LIBS="$LIBS $HWLOC_NVML_LIBS" + AC_RUN_IFELSE([ + AC_LANG_PROGRAM([[ +#include +char nvmlInit (); +]], [[ + return nvmlInit (); +]] + )], + [AC_MSG_RESULT([yes]) + hwloc_nvml_warning=no], + [AC_MSG_RESULT([no]) + hwloc_nvml_warning=yes], + [AC_MSG_RESULT([don't know (cross-compiling)]) + hwloc_nvml_happy=maybe])], + [hwloc_nvml_happy=no]) ], [hwloc_nvml_happy=no]) + LIBS="$tmp_save_LIBS" CPPFLAGS="$tmp_save_CPPFLAGS" LDFLAGS="$tmp_save_LDFLAGS" @@ -1242,8 +1286,28 @@ AC_CHECK_HEADERS([rocm_smi/rocm_smi.h], [ LDFLAGS_save="$LDFLAGS" LDFLAGS="$LDFLAGS $HWLOC_RSMI_LDFLAGS" - AC_CHECK_LIB([rocm_smi64], [rsmi_init], [HWLOC_RSMI_LIBS="-lrocm_smi64"], [hwloc_rsmi_happy=no]) + LIBS_save="$LIBS" + AC_CHECK_LIB([rocm_smi64], + [rsmi_init], + [AC_MSG_CHECKING([whether a program linked with -lrocm_smi64 can run]) + HWLOC_RSMI_LIBS="-lrocm_smi64" + LIBS="$LIBS $HWLOC_RSMI_LIBS" + AC_RUN_IFELSE([ + AC_LANG_PROGRAM([[ +#include +char rsmi_init(int); +]], [[ +return rsmi_init(0); +]] + )], + [AC_MSG_RESULT([yes]) + hwloc_rsmi_warning=no], + [AC_MSG_RESULT([no]) + hwloc_rsmi_warning=yes], + [AC_MSG_RESULT([don't know (cross-compiling)])])], + [hwloc_rsmi_happy=no]) LDFLAGS="$LDFLAGS_save" + LIBS="$LIBS_save" ], [hwloc_rsmi_happy=no]) CPPFLAGS="$CPPFLAGS_save" @@ -1610,42 +1674,50 @@ [HWLOC_LIBS="$HWLOC_LIBS $HWLOC_PCIACCESS_LIBS" HWLOC_LDFLAGS="$HWLOC_LDFLAGS $HWLOC_PCIACCESS_LDFLAGS" HWLOC_CFLAGS="$HWLOC_CFLAGS $HWLOC_PCIACCESS_CPPFLAGS $HWLOC_PCIACCESS_CFLAGS" - HWLOC_REQUIRES="$HWLOC_PCIACCESS_REQUIRES $HWLOC_REQUIRES"]) + HWLOC_REQUIRES="$HWLOC_PCIACCESS_REQUIRES $HWLOC_REQUIRES" + AC_DEFINE([HWLOC_PCI_COMPONENT_BUILTIN], 1, [Define if the PCI component is built statically inside libhwloc])]) AS_IF([test "$hwloc_opencl_component" = "static"], [HWLOC_LIBS="$HWLOC_LIBS $HWLOC_OPENCL_LIBS" HWLOC_LDFLAGS="$HWLOC_LDFLAGS $HWLOC_OPENCL_LDFLAGS" HWLOC_CFLAGS="$HWLOC_CFLAGS $HWLOC_OPENCL_CPPFLAGS $HWLOC_OPENCL_CFLAGS" - HWLOC_REQUIRES="$HWLOC_OPENCL_REQUIRES $HWLOC_REQUIRES"]) + HWLOC_REQUIRES="$HWLOC_OPENCL_REQUIRES $HWLOC_REQUIRES" + AC_DEFINE([HWLOC_OPENCL_COMPONENT_BUILTIN], 1, [Define if the OpenCL component is built statically inside libhwloc])]) AS_IF([test "$hwloc_cuda_component" = "static"], [HWLOC_LIBS="$HWLOC_LIBS $HWLOC_CUDART_LIBS" HWLOC_LDFLAGS="$HWLOC_LDFLAGS $HWLOC_CUDART_LDFLAGS" HWLOC_CFLAGS="$HWLOC_CFLAGS $HWLOC_CUDART_CPPFLAGS $HWLOC_CUDART_CFLAGS" - HWLOC_REQUIRES="$HWLOC_CUDART_REQUIRES $HWLOC_REQUIRES"]) + HWLOC_REQUIRES="$HWLOC_CUDART_REQUIRES $HWLOC_REQUIRES" + AC_DEFINE([HWLOC_CUDA_COMPONENT_BUILTIN], 1, [Define if the CUDA component is built statically inside libhwloc])]) AS_IF([test "$hwloc_nvml_component" = "static"], [HWLOC_LIBS="$HWLOC_LIBS $HWLOC_NVML_LIBS" HWLOC_LDFLAGS="$HWLOC_LDFLAGS $HWLOC_NVML_LDFLAGS" HWLOC_CFLAGS="$HWLOC_CFLAGS $HWLOC_NVML_CPPFLAGS $HWLOC_NVML_CFLAGS" - HWLOC_REQUIRES="$HWLOC_NVML_REQUIRES $HWLOC_REQUIRES"]) + HWLOC_REQUIRES="$HWLOC_NVML_REQUIRES $HWLOC_REQUIRES" + AC_DEFINE([HWLOC_NVML_COMPONENT_BUILTIN], 1, [Define if the NVML component is built statically inside libhwloc])]) AS_IF([test "$hwloc_rsmi_component" = "static"], [HWLOC_LIBS="$HWLOC_LIBS $HWLOC_RSMI_LIBS" HWLOC_LDFLAGS="$HWLOC_LDFLAGS $HWLOC_RSMI_LDFLAGS" HWLOC_CFLAGS="$HWLOC_CFLAGS $HWLOC_RSMI_CPPFLAGS $HWLOC_RSMI_CFLAGS" - HWLOC_REQUIRES="$HWLOC_RSMI_REQUIRES $HWLOC_REQUIRES"]) + HWLOC_REQUIRES="$HWLOC_RSMI_REQUIRES $HWLOC_REQUIRES" + AC_DEFINE([HWLOC_RSMI_COMPONENT_BUILTIN], 1, [Define if the RSMI component is built statically inside libhwloc])]) AS_IF([test "$hwloc_levelzero_component" = "static"], [HWLOC_LIBS="$HWLOC_LIBS $HWLOC_LEVELZERO_LIBS" HWLOC_LDFLAGS="$HWLOC_LDFLAGS $HWLOC_LEVELZERO_LDFLAGS" HWLOC_CFLAGS="$HWLOC_CFLAGS $HWLOC_LEVELZERO_CPPFLAGS $HWLOC_LEVELZERO_CFLAGS" - HWLOC_REQUIRES="$HWLOC_LEVELZERO_REQUIRES $HWLOC_REQUIRES"]) + HWLOC_REQUIRES="$HWLOC_LEVELZERO_REQUIRES $HWLOC_REQUIRES" + AC_DEFINE([HWLOC_LEVELZERO_COMPONENT_BUILTIN], 1, [Define if the LevelZero component is built statically inside libhwloc])]) AS_IF([test "$hwloc_gl_component" = "static"], [HWLOC_LIBS="$HWLOC_LIBS $HWLOC_GL_LIBS" HWLOC_LDFLAGS="$HWLOC_LDFLAGS $HWLOC_GL_LDFLAGS" HWLOC_CFLAGS="$HWLOC_CFLAGS $HWLOC_GL_CPPFLAGS $HWLOC_GL_CFLAGS" - HWLOC_REQUIRES="$HWLOC_GL_REQUIRES $HWLOC_REQUIRES"]) + HWLOC_REQUIRES="$HWLOC_GL_REQUIRES $HWLOC_REQUIRES" + AC_DEFINE([HWLOC_GL_COMPONENT_BUILTIN], 1, [Define if the GL component is built statically inside libhwloc])]) AS_IF([test "$hwloc_xml_libxml_component" = "static"], [HWLOC_LIBS="$HWLOC_LIBS $HWLOC_LIBXML2_LIBS" HWLOC_LDFLAGS="$HWLOC_LDFLAGS $HWLOC_LIBXML2_LDFLAGS" HWLOC_CFLAGS="$HWLOC_CFLAGS $HWLOC_LIBXML2_CPPFLAGS $HWLOC_LIBXML2_CFLAGS" - HWLOC_REQUIRES="$HWLOC_LIBXML2_REQUIRES $HWLOC_REQUIRES"]) + HWLOC_REQUIRES="$HWLOC_LIBXML2_REQUIRES $HWLOC_REQUIRES" + AC_DEFINE([HWLOC_XML_LIBXML_COMPONENT_BUILTIN], 1, [Define if the libxml XML component is built statically inside libhwloc])]) echo "**** end of component and plugin configuration" diff -Nru hwloc-2.7.0/configure hwloc-2.7.1/configure --- hwloc-2.7.0/configure 2021-12-06 12:22:49.000000000 +0000 +++ hwloc-2.7.1/configure 2022-03-24 12:33:56.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for hwloc 2.7.0. +# Generated by GNU Autoconf 2.71 for hwloc 2.7.1. # # Report bugs to . # @@ -621,8 +621,8 @@ # Identity of this package. PACKAGE_NAME='hwloc' PACKAGE_TARNAME='hwloc' -PACKAGE_VERSION='2.7.0' -PACKAGE_STRING='hwloc 2.7.0' +PACKAGE_VERSION='2.7.1' +PACKAGE_STRING='hwloc 2.7.1' PACKAGE_BUGREPORT='https://github.com/open-mpi/hwloc/issues' PACKAGE_URL='' @@ -1631,7 +1631,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures hwloc 2.7.0 to adapt to many kinds of systems. +\`configure' configures hwloc 2.7.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1707,7 +1707,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of hwloc 2.7.0:";; + short | recursive ) echo "Configuration of hwloc 2.7.1:";; esac cat <<\_ACEOF @@ -1800,7 +1800,9 @@ Specify the CUDA version (e.g. 11.2) for selecting the appropriate pkg-config file --with-cuda= Specify the CUDA installation directory, used for - NVIDIA NVML and OpenCL too + NVIDIA NVML and OpenCL too. If a non-existent + directory is given, all dependencies installed by + CUDA are disabled (CUDA, NVML and NVIDIA OpenCL). --with-rocm-version= Specify the ROCm version (e.g. 4.2.0) for selecting the default ROCm installation path (e.g. @@ -1950,7 +1952,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -hwloc configure 2.7.0 +hwloc configure 2.7.1 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -2671,7 +2673,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by hwloc $as_me 2.7.0, which was +It was created by hwloc $as_me 2.7.1, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -4290,7 +4292,7 @@ # Define the identity of the package. PACKAGE='hwloc' - VERSION='2.7.0' + VERSION='2.7.1' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -27549,6 +27551,53 @@ LDFLAGS="$tmp_save_LDFLAGS" fi if test x$hwloc_have_cudart = xyes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program linked with -lcudart can run" >&5 +printf %s "checking whether a program linked with -lcudart can run... " >&6; } + tmp_save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $HWLOC_CUDART_LDFLAGS" + tmp_save_LIBS="$LIBS" + LIBS="$LIBS $HWLOC_CUDART_LIBS" + if test "$cross_compiling" = yes +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: don't know (cross-compiling)" >&5 +printf "%s\n" "don't know (cross-compiling)" >&6; } +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +#include +int cudaGetDeviceCount(int *); + +int +main (void) +{ + +int n; +cudaGetDeviceCount(&n); /* may fail if using stubs, but we're looking for libcudart load error instead only */ +return 0; + + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + hwloc_cuda_warning=no +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + hwloc_cuda_warning=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + LDFLAGS="$tmp_save_LDFLAGS" + LIBS="$tmp_save_LIBS" @@ -27586,6 +27635,7 @@ # NVML support hwloc_nvml_happy=no + hwloc_nvml_warning=no if test "x$enable_io" != xno && test "x$enable_nvml" != "xno"; then echo echo "**** NVML configuration" @@ -27597,6 +27647,7 @@ CPPFLAGS="$CPPFLAGS $HWLOC_NVML_CPPFLAGS" tmp_save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $HWLOC_NVML_LDFLAGS" + tmp_save_LIBS="$LIBS" for ac_header in nvml.h do : ac_fn_c_check_header_compile "$LINENO" "nvml.h" "ac_cv_header_nvml_h" "$ac_includes_default" @@ -27641,7 +27692,48 @@ printf "%s\n" "$ac_cv_lib_nvidia_ml_nvmlInit" >&6; } if test "x$ac_cv_lib_nvidia_ml_nvmlInit" = xyes then : - HWLOC_NVML_LIBS="-lnvidia-ml" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program linked with -lnvidia-ml can run" >&5 +printf %s "checking whether a program linked with -lnvidia-ml can run... " >&6; } + HWLOC_NVML_LIBS="-lnvidia-ml" + LIBS="$LIBS $HWLOC_NVML_LIBS" + if test "$cross_compiling" = yes +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: don't know (cross-compiling)" >&5 +printf "%s\n" "don't know (cross-compiling)" >&6; } + hwloc_nvml_happy=maybe +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +#include +char nvmlInit (); + +int +main (void) +{ + + return nvmlInit (); + + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + hwloc_nvml_warning=no +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + hwloc_nvml_warning=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + else $as_nop hwloc_nvml_happy=no fi @@ -27652,6 +27744,7 @@ fi done + LIBS="$tmp_save_LIBS" CPPFLAGS="$tmp_save_CPPFLAGS" LDFLAGS="$tmp_save_LDFLAGS" @@ -27750,6 +27843,7 @@ LDFLAGS_save="$LDFLAGS" LDFLAGS="$LDFLAGS $HWLOC_RSMI_LDFLAGS" + LIBS_save="$LIBS" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rsmi_init in -lrocm_smi64" >&5 printf %s "checking for rsmi_init in -lrocm_smi64... " >&6; } if test ${ac_cv_lib_rocm_smi64_rsmi_init+y} @@ -27787,12 +27881,53 @@ printf "%s\n" "$ac_cv_lib_rocm_smi64_rsmi_init" >&6; } if test "x$ac_cv_lib_rocm_smi64_rsmi_init" = xyes then : - HWLOC_RSMI_LIBS="-lrocm_smi64" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program linked with -lrocm_smi64 can run" >&5 +printf %s "checking whether a program linked with -lrocm_smi64 can run... " >&6; } + HWLOC_RSMI_LIBS="-lrocm_smi64" + LIBS="$LIBS $HWLOC_RSMI_LIBS" + if test "$cross_compiling" = yes +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: don't know (cross-compiling)" >&5 +printf "%s\n" "don't know (cross-compiling)" >&6; } +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +#include +char rsmi_init(int); + +int +main (void) +{ + +return rsmi_init(0); + + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + hwloc_rsmi_warning=no +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + hwloc_rsmi_warning=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + else $as_nop hwloc_rsmi_happy=no fi LDFLAGS="$LDFLAGS_save" + LIBS="$LIBS_save" else $as_nop hwloc_rsmi_happy=no @@ -29707,6 +29842,9 @@ HWLOC_LDFLAGS="$HWLOC_LDFLAGS $HWLOC_PCIACCESS_LDFLAGS" HWLOC_CFLAGS="$HWLOC_CFLAGS $HWLOC_PCIACCESS_CPPFLAGS $HWLOC_PCIACCESS_CFLAGS" HWLOC_REQUIRES="$HWLOC_PCIACCESS_REQUIRES $HWLOC_REQUIRES" + +printf "%s\n" "#define HWLOC_PCI_COMPONENT_BUILTIN 1" >>confdefs.h + fi if test "$hwloc_opencl_component" = "static" then : @@ -29714,6 +29852,9 @@ HWLOC_LDFLAGS="$HWLOC_LDFLAGS $HWLOC_OPENCL_LDFLAGS" HWLOC_CFLAGS="$HWLOC_CFLAGS $HWLOC_OPENCL_CPPFLAGS $HWLOC_OPENCL_CFLAGS" HWLOC_REQUIRES="$HWLOC_OPENCL_REQUIRES $HWLOC_REQUIRES" + +printf "%s\n" "#define HWLOC_OPENCL_COMPONENT_BUILTIN 1" >>confdefs.h + fi if test "$hwloc_cuda_component" = "static" then : @@ -29721,6 +29862,9 @@ HWLOC_LDFLAGS="$HWLOC_LDFLAGS $HWLOC_CUDART_LDFLAGS" HWLOC_CFLAGS="$HWLOC_CFLAGS $HWLOC_CUDART_CPPFLAGS $HWLOC_CUDART_CFLAGS" HWLOC_REQUIRES="$HWLOC_CUDART_REQUIRES $HWLOC_REQUIRES" + +printf "%s\n" "#define HWLOC_CUDA_COMPONENT_BUILTIN 1" >>confdefs.h + fi if test "$hwloc_nvml_component" = "static" then : @@ -29728,6 +29872,9 @@ HWLOC_LDFLAGS="$HWLOC_LDFLAGS $HWLOC_NVML_LDFLAGS" HWLOC_CFLAGS="$HWLOC_CFLAGS $HWLOC_NVML_CPPFLAGS $HWLOC_NVML_CFLAGS" HWLOC_REQUIRES="$HWLOC_NVML_REQUIRES $HWLOC_REQUIRES" + +printf "%s\n" "#define HWLOC_NVML_COMPONENT_BUILTIN 1" >>confdefs.h + fi if test "$hwloc_rsmi_component" = "static" then : @@ -29735,6 +29882,9 @@ HWLOC_LDFLAGS="$HWLOC_LDFLAGS $HWLOC_RSMI_LDFLAGS" HWLOC_CFLAGS="$HWLOC_CFLAGS $HWLOC_RSMI_CPPFLAGS $HWLOC_RSMI_CFLAGS" HWLOC_REQUIRES="$HWLOC_RSMI_REQUIRES $HWLOC_REQUIRES" + +printf "%s\n" "#define HWLOC_RSMI_COMPONENT_BUILTIN 1" >>confdefs.h + fi if test "$hwloc_levelzero_component" = "static" then : @@ -29742,6 +29892,9 @@ HWLOC_LDFLAGS="$HWLOC_LDFLAGS $HWLOC_LEVELZERO_LDFLAGS" HWLOC_CFLAGS="$HWLOC_CFLAGS $HWLOC_LEVELZERO_CPPFLAGS $HWLOC_LEVELZERO_CFLAGS" HWLOC_REQUIRES="$HWLOC_LEVELZERO_REQUIRES $HWLOC_REQUIRES" + +printf "%s\n" "#define HWLOC_LEVELZERO_COMPONENT_BUILTIN 1" >>confdefs.h + fi if test "$hwloc_gl_component" = "static" then : @@ -29749,6 +29902,9 @@ HWLOC_LDFLAGS="$HWLOC_LDFLAGS $HWLOC_GL_LDFLAGS" HWLOC_CFLAGS="$HWLOC_CFLAGS $HWLOC_GL_CPPFLAGS $HWLOC_GL_CFLAGS" HWLOC_REQUIRES="$HWLOC_GL_REQUIRES $HWLOC_REQUIRES" + +printf "%s\n" "#define HWLOC_GL_COMPONENT_BUILTIN 1" >>confdefs.h + fi if test "$hwloc_xml_libxml_component" = "static" then : @@ -29756,6 +29912,9 @@ HWLOC_LDFLAGS="$HWLOC_LDFLAGS $HWLOC_LIBXML2_LDFLAGS" HWLOC_CFLAGS="$HWLOC_CFLAGS $HWLOC_LIBXML2_CPPFLAGS $HWLOC_LIBXML2_CFLAGS" HWLOC_REQUIRES="$HWLOC_LIBXML2_REQUIRES $HWLOC_REQUIRES" + +printf "%s\n" "#define HWLOC_XML_LIBXML_COMPONENT_BUILTIN 1" >>confdefs.h + fi echo "**** end of component and plugin configuration" @@ -33955,7 +34114,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by hwloc $as_me 2.7.0, which was +This file was extended by hwloc $as_me 2.7.1, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -34027,7 +34186,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -hwloc config.status 2.7.0 +hwloc config.status 2.7.1 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" @@ -36183,13 +36342,64 @@ test "x$hwloc_linuxio_happy" = "xyes" && hwloc_probeio_list="$hwloc_probeio_list LinuxIO" test "x$hwloc_opencl_happy" = "xyes" && hwloc_probeio_list="$hwloc_probeio_list OpenCL" test "x$hwloc_have_cudart" = "xyes" && hwloc_probeio_list="$hwloc_probeio_list CUDA" -test "x$hwloc_nvml_happy" = "xyes" && hwloc_probeio_list="$hwloc_probeio_list NVML" +if test "x$hwloc_nvml_happy" = "xyes" ; then + hwloc_probeio_list="$hwloc_probeio_list NVML" +fi test "x$hwloc_rsmi_happy" = "xyes" && hwloc_probeio_list="$hwloc_probeio_list RSMI" test "x$hwloc_levelzero_happy" = "xyes" && hwloc_probeio_list="$hwloc_probeio_list LevelZero" test "x$hwloc_gl_happy" = "xyes" && hwloc_probeio_list="$hwloc_probeio_list GL" # if nothing, say "no" test "x$hwloc_probeio_list" = "x" && hwloc_probeio_list=" no" +if test "x$hwloc_nvml_happy" = "xyes" -a "x$hwloc_nvml_warning" = "xyes"; then + hwloc_nvml_status="yes, but not functional on this machine (see warning above)" + cat < Thu, 20 Jan 2022 15:05:52 -0800 + -- Rob Savoury Mon, 23 May 2022 20:25:52 -0700 + +hwloc (2.7.1-1) unstable; urgency=medium + + * New upstream release. + * control: Use valgrind-if-available instead of hardcoding a list. + + -- Samuel Thibault Thu, 24 Mar 2022 13:34:40 +0100 + +hwloc (2.7.1~rc1-1) experimental; urgency=medium + + * New upstream RC release. + * libhwloc-doc.lintian-overrides: Revert change to lintian unstable output. + + -- Samuel Thibault Mon, 21 Mar 2022 10:47:14 +0100 + +hwloc (2.7.0-2) unstable; urgency=medium + + * libhwloc-doc.lintian-overrides: Play cat and mice again with lintian + warning suppression. + * control: Bump Standards-Version to 4.6.0 (no change) + + -- Samuel Thibault Sat, 29 Jan 2022 14:34:26 +0100 hwloc (2.7.0-1) unstable; urgency=medium diff -Nru hwloc-2.7.0/debian/control hwloc-2.7.1/debian/control --- hwloc-2.7.0/debian/control 2022-01-20 23:05:52.000000000 +0000 +++ hwloc-2.7.1/debian/control 2022-05-24 03:25:52.000000000 +0000 @@ -2,7 +2,7 @@ Priority: optional Maintainer: Samuel Thibault Build-Depends: debhelper-compat (= 11), dh-exec, libltdl-dev [!gnu-any-any], - valgrind [amd64 arm64 armhf i386 mips64el mipsel ppc64el s390x powerpc ppc64], + valgrind-if-available, libcairo2-dev, libx11-dev, libxml2-dev, libxml2-utils , libncurses5-dev, libnuma-dev [linux-any] , libxnvctrl-dev, @@ -14,7 +14,7 @@ Build-Depends-Indep: doxygen-latex, transfig Build-Conflicts: autoconf2.13 Rules-Requires-Root: no -Standards-Version: 4.5.0 +Standards-Version: 4.6.0 Section: libs Homepage: https://www.open-mpi.org/projects/hwloc/ Vcs-Git: https://salsa.debian.org/debian/hwloc.git diff -Nru hwloc-2.7.0/debian/gbp.conf hwloc-2.7.1/debian/gbp.conf --- hwloc-2.7.0/debian/gbp.conf 2021-12-13 10:18:45.000000000 +0000 +++ hwloc-2.7.1/debian/gbp.conf 2022-03-24 12:34:40.000000000 +0000 @@ -3,3 +3,4 @@ 'doc/doxygen-doc/html/menu.js', 'utils/netloc/draw/visdist/vis.min.css', 'utils/netloc/draw/visdist/vis.min.js' ] +symlink-orig = false diff -Nru hwloc-2.7.0/doc/doxygen-doc/html/a00125_source.html hwloc-2.7.1/doc/doxygen-doc/html/a00125_source.html --- hwloc-2.7.0/doc/doxygen-doc/html/a00125_source.html 2021-12-06 12:22:58.000000000 +0000 +++ hwloc-2.7.1/doc/doxygen-doc/html/a00125_source.html 2022-03-24 12:33:56.000000000 +0000 @@ -19,7 +19,7 @@
Hardware Locality (hwloc) -  2.7.0 +  2.7.1
@@ -78,7 +78,7 @@
29  * THAT IS IN THE PDF/HTML THAT IS ***NOT*** IN hwloc.h!
30  *
31  * There are entire paragraph-length descriptions, discussions, and
-
32  * pretty prictures to explain subtle corner cases, provide concrete
+
32  * pretty pictures to explain subtle corner cases, provide concrete
33  * examples, etc.
34  *
35  * Please, go read the documentation. :-)
@@ -466,171 +466,171 @@
1894 HWLOC_DECLSPEC int hwloc_topology_set_components(hwloc_topology_t __hwloc_restrict topology, unsigned long flags, const char * __hwloc_restrict name);
1895 
- -
1936 
- -
1956 
- -
1977 
- -
2001 
- -
2026 
- -
2048 
- -
2063 };
-
2064 
-
2074 HWLOC_DECLSPEC int hwloc_topology_set_flags (hwloc_topology_t topology, unsigned long flags);
-
2075 
-
2082 HWLOC_DECLSPEC unsigned long hwloc_topology_get_flags (hwloc_topology_t topology);
-
2083 
-
2091 HWLOC_DECLSPEC int hwloc_topology_is_thissystem(hwloc_topology_t __hwloc_restrict topology) __hwloc_attribute_pure;
-
2092 
- -
2096  unsigned char pu;
-
2098  unsigned char numa;
-
2100  unsigned char numa_memory;
-
2102  unsigned char disallowed_pu;
-
2104  unsigned char disallowed_numa;
-
2106  unsigned char cpukind_efficiency;
-
2107 };
-
2108 
- -
2116  unsigned char set_thisproc_cpubind;
-
2118  unsigned char get_thisproc_cpubind;
-
2120  unsigned char set_proc_cpubind;
-
2122  unsigned char get_proc_cpubind;
-
2124  unsigned char set_thisthread_cpubind;
-
2126  unsigned char get_thisthread_cpubind;
-
2128  unsigned char set_thread_cpubind;
-
2130  unsigned char get_thread_cpubind;
- - - -
2137 };
-
2138 
- -
2146  unsigned char set_thisproc_membind;
-
2148  unsigned char get_thisproc_membind;
-
2150  unsigned char set_proc_membind;
-
2152  unsigned char get_proc_membind;
-
2154  unsigned char set_thisthread_membind;
-
2156  unsigned char get_thisthread_membind;
-
2158  unsigned char set_area_membind;
-
2160  unsigned char get_area_membind;
-
2162  unsigned char alloc_membind;
-
2164  unsigned char firsttouch_membind;
-
2166  unsigned char bind_membind;
-
2168  unsigned char interleave_membind;
-
2170  unsigned char nexttouch_membind;
-
2172  unsigned char migrate_membind;
-
2174  unsigned char get_area_memlocation;
-
2175 };
-
2176 
- -
2181  unsigned char imported_support;
-
2182 };
-
2183 
- - - - - -
2195 };
-
2196 
-
2218 HWLOC_DECLSPEC const struct hwloc_topology_support *hwloc_topology_get_support(hwloc_topology_t __hwloc_restrict topology);
-
2219 
- - -
2236 
- -
2244 
- -
2258 
- -
2273 };
-
2274 
- -
2278 
- -
2282 
- + +
1937 
+ +
1957 
+ +
1978 
+ +
2002 
+ +
2027 
+ +
2049 
+ +
2064 };
+
2065 
+
2077 HWLOC_DECLSPEC int hwloc_topology_set_flags (hwloc_topology_t topology, unsigned long flags);
+
2078 
+
2088 HWLOC_DECLSPEC unsigned long hwloc_topology_get_flags (hwloc_topology_t topology);
+
2089 
+
2097 HWLOC_DECLSPEC int hwloc_topology_is_thissystem(hwloc_topology_t __hwloc_restrict topology) __hwloc_attribute_pure;
+
2098 
+ +
2102  unsigned char pu;
+
2104  unsigned char numa;
+
2106  unsigned char numa_memory;
+
2108  unsigned char disallowed_pu;
+
2110  unsigned char disallowed_numa;
+
2112  unsigned char cpukind_efficiency;
+
2113 };
+
2114 
+ +
2122  unsigned char set_thisproc_cpubind;
+
2124  unsigned char get_thisproc_cpubind;
+
2126  unsigned char set_proc_cpubind;
+
2128  unsigned char get_proc_cpubind;
+
2130  unsigned char set_thisthread_cpubind;
+
2132  unsigned char get_thisthread_cpubind;
+
2134  unsigned char set_thread_cpubind;
+
2136  unsigned char get_thread_cpubind;
+ + + +
2143 };
+
2144 
+ +
2152  unsigned char set_thisproc_membind;
+
2154  unsigned char get_thisproc_membind;
+
2156  unsigned char set_proc_membind;
+
2158  unsigned char get_proc_membind;
+
2160  unsigned char set_thisthread_membind;
+
2162  unsigned char get_thisthread_membind;
+
2164  unsigned char set_area_membind;
+
2166  unsigned char get_area_membind;
+
2168  unsigned char alloc_membind;
+
2170  unsigned char firsttouch_membind;
+
2172  unsigned char bind_membind;
+
2174  unsigned char interleave_membind;
+
2176  unsigned char nexttouch_membind;
+
2178  unsigned char migrate_membind;
+
2180  unsigned char get_area_memlocation;
+
2181 };
+
2182 
+ +
2187  unsigned char imported_support;
+
2188 };
+
2189 
+ + + + + +
2201 };
+
2202 
+
2224 HWLOC_DECLSPEC const struct hwloc_topology_support *hwloc_topology_get_support(hwloc_topology_t __hwloc_restrict topology);
+
2225 
+ + +
2242 
+ +
2250 
+ +
2264 
+ +
2279 };
+
2280 
+ +
2284 
+
2288 
- +
2294 
- +
2300 
- -
2304 
-
2315 HWLOC_DECLSPEC void hwloc_topology_set_userdata(hwloc_topology_t topology, const void *userdata);
-
2316 
-
2322 HWLOC_DECLSPEC void * hwloc_topology_get_userdata(hwloc_topology_t topology);
-
2323 
- - -
2340 
- + +
2306 
+ +
2310 
+
2321 HWLOC_DECLSPEC void hwloc_topology_set_userdata(hwloc_topology_t topology, const void *userdata);
+
2322 
+
2328 HWLOC_DECLSPEC void * hwloc_topology_get_userdata(hwloc_topology_t topology);
+
2329 
+ +
2346 
- -
2353 
- + +
2352 
+
2359 
-
2364  HWLOC_RESTRICT_FLAG_ADAPT_IO = (1UL<<2)
-
2365 };
-
2366 
-
2391 HWLOC_DECLSPEC int hwloc_topology_restrict(hwloc_topology_t __hwloc_restrict topology, hwloc_const_bitmap_t set, unsigned long flags);
-
2392 
- - -
2400 
- -
2409 
-
2412  HWLOC_ALLOW_FLAG_CUSTOM = (1UL<<2)
-
2413 };
-
2414 
-
2430 HWLOC_DECLSPEC int hwloc_topology_allow(hwloc_topology_t __hwloc_restrict topology, hwloc_const_cpuset_t cpuset, hwloc_const_nodeset_t nodeset, unsigned long flags);
-
2431 
-
2453 HWLOC_DECLSPEC hwloc_obj_t hwloc_topology_insert_misc_object(hwloc_topology_t topology, hwloc_obj_t parent, const char *name);
-
2454 
- -
2463 
- -
2511 
- -
2522 
-
2537 HWLOC_DECLSPEC int hwloc_topology_refresh(hwloc_topology_t topology);
-
2538 
-
2543 #ifdef __cplusplus
-
2544 } /* extern "C" */
-
2545 #endif
-
2546 
-
2547 
-
2548 /* high-level helpers */
-
2549 #include "hwloc/helper.h"
-
2550 
-
2551 /* inline code of some functions above */
-
2552 #include "hwloc/inlines.h"
+ +
2365 
+
2370  HWLOC_RESTRICT_FLAG_ADAPT_IO = (1UL<<2)
+
2371 };
+
2372 
+
2397 HWLOC_DECLSPEC int hwloc_topology_restrict(hwloc_topology_t __hwloc_restrict topology, hwloc_const_bitmap_t set, unsigned long flags);
+
2398 
+ + +
2406 
+ +
2415 
+
2418  HWLOC_ALLOW_FLAG_CUSTOM = (1UL<<2)
+
2419 };
+
2420 
+
2436 HWLOC_DECLSPEC int hwloc_topology_allow(hwloc_topology_t __hwloc_restrict topology, hwloc_const_cpuset_t cpuset, hwloc_const_nodeset_t nodeset, unsigned long flags);
+
2437 
+
2459 HWLOC_DECLSPEC hwloc_obj_t hwloc_topology_insert_misc_object(hwloc_topology_t topology, hwloc_obj_t parent, const char *name);
+
2460 
+ +
2469 
+ +
2517 
+ +
2528 
+
2543 HWLOC_DECLSPEC int hwloc_topology_refresh(hwloc_topology_t topology);
+
2544 
+
2549 #ifdef __cplusplus
+
2550 } /* extern "C" */
+
2551 #endif
+
2552 
2553 
-
2554 /* memory attributes */
-
2555 #include "hwloc/memattrs.h"
+
2554 /* high-level helpers */
+
2555 #include "hwloc/helper.h"
2556 
-
2557 /* kinds of CPU cores */
-
2558 #include "hwloc/cpukinds.h"
+
2557 /* inline code of some functions above */
+
2558 #include "hwloc/inlines.h"
2559 
-
2560 /* exporting to XML or synthetic */
-
2561 #include "hwloc/export.h"
+
2560 /* memory attributes */
+
2561 #include "hwloc/memattrs.h"
2562 
-
2563 /* distances */
-
2564 #include "hwloc/distances.h"
+
2563 /* kinds of CPU cores */
+
2564 #include "hwloc/cpukinds.h"
2565 
-
2566 /* topology diffs */
-
2567 #include "hwloc/diff.h"
+
2566 /* exporting to XML or synthetic */
+
2567 #include "hwloc/export.h"
2568 
-
2569 /* deprecated headers */
-
2570 #include "hwloc/deprecated.h"
+
2569 /* distances */
+
2570 #include "hwloc/distances.h"
2571 
-
2572 #endif /* HWLOC_H */
+
2572 /* topology diffs */
+
2573 #include "hwloc/diff.h"
+
2574 
+
2575 /* deprecated headers */
+
2576 #include "hwloc/deprecated.h"
+
2577 
+
2578 #endif /* HWLOC_H */
unsigned hwloc_get_api_version(void)
Indicate at runtime which hwloc API version was used at build time.
hwloc_const_bitmap_t hwloc_const_cpuset_t
A non-modifiable hwloc_cpuset_t.
Definition: hwloc.h:142
hwloc_const_bitmap_t hwloc_const_nodeset_t
A non-modifiable hwloc_nodeset_t.
Definition: hwloc.h:160
@@ -713,12 +713,12 @@
static const char * hwloc_obj_get_info_by_name(hwloc_obj_t obj, const char *name)
Search the given key name in object infos and return the corresponding value.
int hwloc_obj_add_info(hwloc_obj_t obj, const char *name, const char *value)
Add the given info name and value pair to the given object.
hwloc_cpubind_flags_t
Process/Thread binding flags.
Definition: hwloc.h:1155
-
int hwloc_set_proc_cpubind(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_const_cpuset_t set, int flags)
Bind a process pid on cpus given in physical bitmap set.
-
int hwloc_set_cpubind(hwloc_topology_t topology, hwloc_const_cpuset_t set, int flags)
Bind current process or thread on cpus given in physical bitmap set.
+
int hwloc_set_proc_cpubind(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_const_cpuset_t set, int flags)
Bind a process pid on CPUs given in physical bitmap set.
+
int hwloc_set_cpubind(hwloc_topology_t topology, hwloc_const_cpuset_t set, int flags)
Bind current process or thread on CPUs given in physical bitmap set.
int hwloc_get_proc_last_cpu_location(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_cpuset_t set, int flags)
Get the last physical CPU where a process ran.
int hwloc_get_proc_cpubind(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_cpuset_t set, int flags)
Get the current physical binding of process pid.
int hwloc_get_cpubind(hwloc_topology_t topology, hwloc_cpuset_t set, int flags)
Get current process or thread binding.
-
int hwloc_set_thread_cpubind(hwloc_topology_t topology, hwloc_thread_t thread, hwloc_const_cpuset_t set, int flags)
Bind a thread thread on cpus given in physical bitmap set.
+
int hwloc_set_thread_cpubind(hwloc_topology_t topology, hwloc_thread_t thread, hwloc_const_cpuset_t set, int flags)
Bind a thread thread on CPUs given in physical bitmap set.
int hwloc_get_thread_cpubind(hwloc_topology_t topology, hwloc_thread_t thread, hwloc_cpuset_t set, int flags)
Get the current physical binding of thread tid.
int hwloc_get_last_cpu_location(hwloc_topology_t topology, hwloc_cpuset_t set, int flags)
Get the last physical CPU where the current process or thread ran.
@ HWLOC_CPUBIND_PROCESS
Bind all threads of the current (possibly) multithreaded process.
Definition: hwloc.h:1158
@@ -765,40 +765,40 @@
int hwloc_topology_set_icache_types_filter(hwloc_topology_t topology, enum hwloc_type_filter_e filter)
Set the filtering for all CPU instruction cache object types.
int hwloc_topology_is_thissystem(hwloc_topology_t restrict topology)
Does the topology context come from this system?
void * hwloc_topology_get_userdata(hwloc_topology_t topology)
Retrieve the topology-specific userdata pointer.
-
hwloc_type_filter_e
Type filtering flags.
Definition: hwloc.h:2229
+
hwloc_type_filter_e
Type filtering flags.
Definition: hwloc.h:2235
int hwloc_topology_set_all_types_filter(hwloc_topology_t topology, enum hwloc_type_filter_e filter)
Set the filtering for all object types.
int hwloc_topology_set_flags(hwloc_topology_t topology, unsigned long flags)
Set OR'ed flags to non-yet-loaded topology.
const struct hwloc_topology_support * hwloc_topology_get_support(hwloc_topology_t restrict topology)
Retrieve the topology support.
int hwloc_topology_set_type_filter(hwloc_topology_t topology, hwloc_obj_type_t type, enum hwloc_type_filter_e filter)
Set the filtering for the given object type.
hwloc_topology_flags_e
Flags to be set onto a topology context before load.
Definition: hwloc.h:1914
-
@ HWLOC_TYPE_FILTER_KEEP_NONE
Ignore all objects of this type.
Definition: hwloc.h:2243
-
@ HWLOC_TYPE_FILTER_KEEP_IMPORTANT
Only keep likely-important objects of the given type.
Definition: hwloc.h:2272
-
@ HWLOC_TYPE_FILTER_KEEP_STRUCTURE
Only ignore objects if their entire level does not bring any structure.
Definition: hwloc.h:2257
-
@ HWLOC_TYPE_FILTER_KEEP_ALL
Keep all objects of this type.
Definition: hwloc.h:2235
-
@ HWLOC_TOPOLOGY_FLAG_INCLUDE_DISALLOWED
Detect the whole system, ignore reservations, include disallowed objects.
Definition: hwloc.h:1935
-
@ HWLOC_TOPOLOGY_FLAG_THISSYSTEM_ALLOWED_RESOURCES
Get the set of allowed resources from the local operating system even if the topology was loaded from...
Definition: hwloc.h:1976
-
@ HWLOC_TOPOLOGY_FLAG_RESTRICT_TO_MEMBINDING
Do not consider resources outside of the process memory binding.
Definition: hwloc.h:2047
-
@ HWLOC_TOPOLOGY_FLAG_IS_THISSYSTEM
Assume that the selected backend provides the topology for the system on which we are running.
Definition: hwloc.h:1955
-
@ HWLOC_TOPOLOGY_FLAG_RESTRICT_TO_CPUBINDING
Do not consider resources outside of the process CPU binding.
Definition: hwloc.h:2025
-
@ HWLOC_TOPOLOGY_FLAG_IMPORT_SUPPORT
Import support from the imported topology.
Definition: hwloc.h:2000
-
@ HWLOC_TOPOLOGY_FLAG_DONT_CHANGE_BINDING
Do not ever modify the process or thread binding during discovery.
Definition: hwloc.h:2062
+
@ HWLOC_TYPE_FILTER_KEEP_NONE
Ignore all objects of this type.
Definition: hwloc.h:2249
+
@ HWLOC_TYPE_FILTER_KEEP_IMPORTANT
Only keep likely-important objects of the given type.
Definition: hwloc.h:2278
+
@ HWLOC_TYPE_FILTER_KEEP_STRUCTURE
Only ignore objects if their entire level does not bring any structure.
Definition: hwloc.h:2263
+
@ HWLOC_TYPE_FILTER_KEEP_ALL
Keep all objects of this type.
Definition: hwloc.h:2241
+
@ HWLOC_TOPOLOGY_FLAG_INCLUDE_DISALLOWED
Detect the whole system, ignore reservations, include disallowed objects.
Definition: hwloc.h:1936
+
@ HWLOC_TOPOLOGY_FLAG_THISSYSTEM_ALLOWED_RESOURCES
Get the set of allowed resources from the local operating system even if the topology was loaded from...
Definition: hwloc.h:1977
+
@ HWLOC_TOPOLOGY_FLAG_RESTRICT_TO_MEMBINDING
Do not consider resources outside of the process memory binding.
Definition: hwloc.h:2048
+
@ HWLOC_TOPOLOGY_FLAG_IS_THISSYSTEM
Assume that the selected backend provides the topology for the system on which we are running.
Definition: hwloc.h:1956
+
@ HWLOC_TOPOLOGY_FLAG_RESTRICT_TO_CPUBINDING
Do not consider resources outside of the process CPU binding.
Definition: hwloc.h:2026
+
@ HWLOC_TOPOLOGY_FLAG_IMPORT_SUPPORT
Import support from the imported topology.
Definition: hwloc.h:2001
+
@ HWLOC_TOPOLOGY_FLAG_DONT_CHANGE_BINDING
Do not ever modify the process or thread binding during discovery.
Definition: hwloc.h:2063
hwloc_obj_t hwloc_topology_insert_group_object(hwloc_topology_t topology, hwloc_obj_t group)
Add more structure to the topology by adding an intermediate Group.
-
hwloc_allow_flags_e
Flags to be given to hwloc_topology_allow().
Definition: hwloc.h:2394
+
hwloc_allow_flags_e
Flags to be given to hwloc_topology_allow().
Definition: hwloc.h:2400
hwloc_obj_t hwloc_topology_alloc_group_object(hwloc_topology_t topology)
Allocate a Group object to insert later with hwloc_topology_insert_group_object().
int hwloc_topology_refresh(hwloc_topology_t topology)
Refresh internal structures after topology modification.
int hwloc_topology_restrict(hwloc_topology_t restrict topology, hwloc_const_bitmap_t set, unsigned long flags)
Restrict the topology to the given CPU set or nodeset.
-
hwloc_restrict_flags_e
Flags to be given to hwloc_topology_restrict().
Definition: hwloc.h:2333
+
hwloc_restrict_flags_e
Flags to be given to hwloc_topology_restrict().
Definition: hwloc.h:2339
int hwloc_obj_add_other_obj_sets(hwloc_obj_t dst, hwloc_obj_t src)
Setup object cpusets/nodesets by OR'ing another object's sets.
hwloc_obj_t hwloc_topology_insert_misc_object(hwloc_topology_t topology, hwloc_obj_t parent, const char *name)
Add a MISC object as a leaf of the topology.
int hwloc_topology_allow(hwloc_topology_t restrict topology, hwloc_const_cpuset_t cpuset, hwloc_const_nodeset_t nodeset, unsigned long flags)
Change the sets of allowed PUs and NUMA nodes in the topology.
-
@ HWLOC_ALLOW_FLAG_CUSTOM
Allow a custom set of objects, given to hwloc_topology_allow() as cpuset and/or nodeset parameters.
Definition: hwloc.h:2412
-
@ HWLOC_ALLOW_FLAG_LOCAL_RESTRICTIONS
Only allow objects that are available to the current process.
Definition: hwloc.h:2408
-
@ HWLOC_ALLOW_FLAG_ALL
Mark all objects as allowed in the topology.
Definition: hwloc.h:2399
-
@ HWLOC_RESTRICT_FLAG_ADAPT_MISC
Move Misc objects to ancestors if their parents are removed during restriction. If this flag is not s...
Definition: hwloc.h:2358
-
@ HWLOC_RESTRICT_FLAG_REMOVE_CPULESS
Remove all objects that became CPU-less. By default, only objects that contain no PU and no memory ar...
Definition: hwloc.h:2339
-
@ HWLOC_RESTRICT_FLAG_ADAPT_IO
Move I/O objects to ancestors if their parents are removed during restriction. If this flag is not se...
Definition: hwloc.h:2364
-
@ HWLOC_RESTRICT_FLAG_BYNODESET
Restrict by nodeset instead of CPU set. Only keep objects whose nodeset is included or partially incl...
Definition: hwloc.h:2345
-
@ HWLOC_RESTRICT_FLAG_REMOVE_MEMLESS
Remove all objects that became Memory-less. By default, only objects that contain no PU and no memory...
Definition: hwloc.h:2352
+
@ HWLOC_ALLOW_FLAG_CUSTOM
Allow a custom set of objects, given to hwloc_topology_allow() as cpuset and/or nodeset parameters.
Definition: hwloc.h:2418
+
@ HWLOC_ALLOW_FLAG_LOCAL_RESTRICTIONS
Only allow objects that are available to the current process.
Definition: hwloc.h:2414
+
@ HWLOC_ALLOW_FLAG_ALL
Mark all objects as allowed in the topology.
Definition: hwloc.h:2405
+
@ HWLOC_RESTRICT_FLAG_ADAPT_MISC
Move Misc objects to ancestors if their parents are removed during restriction. If this flag is not s...
Definition: hwloc.h:2364
+
@ HWLOC_RESTRICT_FLAG_REMOVE_CPULESS
Remove all objects that became CPU-less. By default, only objects that contain no PU and no memory ar...
Definition: hwloc.h:2345
+
@ HWLOC_RESTRICT_FLAG_ADAPT_IO
Move I/O objects to ancestors if their parents are removed during restriction. If this flag is not se...
Definition: hwloc.h:2370
+
@ HWLOC_RESTRICT_FLAG_BYNODESET
Restrict by nodeset instead of CPU set. Only keep objects whose nodeset is included or partially incl...
Definition: hwloc.h:2351
+
@ HWLOC_RESTRICT_FLAG_REMOVE_MEMLESS
Remove all objects that became Memory-less. By default, only objects that contain no PU and no memory...
Definition: hwloc.h:2358
struct hwloc_bitmap_s * hwloc_bitmap_t
Set of bits represented as an opaque pointer to an internal bitmap.
Definition: bitmap.h:68
const struct hwloc_bitmap_s * hwloc_const_bitmap_t
a non-modifiable hwloc_bitmap_t
Definition: bitmap.h:70
Structure of a topology object.
Definition: hwloc.h:396
@@ -872,7 +872,7 @@
unsigned char bus
Definition: hwloc.h:639
unsigned short subdevice_id
Definition: hwloc.h:641
unsigned short class_id
Definition: hwloc.h:640
-
Bridge specific Object Attribues.
Definition: hwloc.h:646
+
Bridge specific Object Attributes.
Definition: hwloc.h:646
hwloc_obj_bridge_type_t upstream_type
Definition: hwloc.h:650
unsigned short domain
Definition: hwloc.h:654
unsigned depth
Definition: hwloc.h:662
@@ -887,48 +887,48 @@
Object info.
Definition: hwloc.h:674
char * name
Info name.
Definition: hwloc.h:675
char * value
Info value.
Definition: hwloc.h:676
-
Flags describing actual discovery support for this topology.
Definition: hwloc.h:2094
-
unsigned char numa
Detecting the number of NUMA nodes is supported.
Definition: hwloc.h:2098
-
unsigned char disallowed_numa
Detecting and identifying NUMA nodes that are not available to the current process is supported.
Definition: hwloc.h:2104
-
unsigned char cpukind_efficiency
Detecting the efficiency of CPU kinds is supported, see Kinds of CPU cores.
Definition: hwloc.h:2106
-
unsigned char pu
Detecting the number of PU objects is supported.
Definition: hwloc.h:2096
-
unsigned char numa_memory
Detecting the amount of memory in NUMA nodes is supported.
Definition: hwloc.h:2100
-
unsigned char disallowed_pu
Detecting and identifying PU objects that are not available to the current process is supported.
Definition: hwloc.h:2102
-
Flags describing actual PU binding support for this topology.
Definition: hwloc.h:2114
-
unsigned char get_proc_last_cpu_location
Definition: hwloc.h:2134
-
unsigned char set_thread_cpubind
Definition: hwloc.h:2128
-
unsigned char set_thisthread_cpubind
Definition: hwloc.h:2124
-
unsigned char get_thisthread_last_cpu_location
Definition: hwloc.h:2136
-
unsigned char get_thisproc_cpubind
Definition: hwloc.h:2118
-
unsigned char get_thisthread_cpubind
Definition: hwloc.h:2126
-
unsigned char get_thread_cpubind
Definition: hwloc.h:2130
-
unsigned char set_thisproc_cpubind
Definition: hwloc.h:2116
-
unsigned char set_proc_cpubind
Definition: hwloc.h:2120
-
unsigned char get_proc_cpubind
Definition: hwloc.h:2122
-
unsigned char get_thisproc_last_cpu_location
Definition: hwloc.h:2132
-
Flags describing actual memory binding support for this topology.
Definition: hwloc.h:2144
-
unsigned char set_thisthread_membind
Definition: hwloc.h:2154
-
unsigned char get_area_membind
Definition: hwloc.h:2160
-
unsigned char firsttouch_membind
Definition: hwloc.h:2164
-
unsigned char get_area_memlocation
Definition: hwloc.h:2174
-
unsigned char set_thisproc_membind
Definition: hwloc.h:2146
-
unsigned char interleave_membind
Definition: hwloc.h:2168
-
unsigned char get_thisproc_membind
Definition: hwloc.h:2148
-
unsigned char set_area_membind
Definition: hwloc.h:2158
-
unsigned char get_thisthread_membind
Definition: hwloc.h:2156
-
unsigned char set_proc_membind
Definition: hwloc.h:2150
-
unsigned char get_proc_membind
Definition: hwloc.h:2152
-
unsigned char migrate_membind
Definition: hwloc.h:2172
-
unsigned char nexttouch_membind
Definition: hwloc.h:2170
-
unsigned char alloc_membind
Definition: hwloc.h:2162
-
unsigned char bind_membind
Definition: hwloc.h:2166
-
Flags describing miscellaneous features.
Definition: hwloc.h:2179
-
unsigned char imported_support
Definition: hwloc.h:2181
-
Set of flags describing actual support for this topology.
Definition: hwloc.h:2190
-
struct hwloc_topology_misc_support * misc
Definition: hwloc.h:2194
-
struct hwloc_topology_membind_support * membind
Definition: hwloc.h:2193
-
struct hwloc_topology_cpubind_support * cpubind
Definition: hwloc.h:2192
-
struct hwloc_topology_discovery_support * discovery
Definition: hwloc.h:2191
+
Flags describing actual discovery support for this topology.
Definition: hwloc.h:2100
+
unsigned char numa
Detecting the number of NUMA nodes is supported.
Definition: hwloc.h:2104
+
unsigned char disallowed_numa
Detecting and identifying NUMA nodes that are not available to the current process is supported.
Definition: hwloc.h:2110
+
unsigned char cpukind_efficiency
Detecting the efficiency of CPU kinds is supported, see Kinds of CPU cores.
Definition: hwloc.h:2112
+
unsigned char pu
Detecting the number of PU objects is supported.
Definition: hwloc.h:2102
+
unsigned char numa_memory
Detecting the amount of memory in NUMA nodes is supported.
Definition: hwloc.h:2106
+
unsigned char disallowed_pu
Detecting and identifying PU objects that are not available to the current process is supported.
Definition: hwloc.h:2108
+
Flags describing actual PU binding support for this topology.
Definition: hwloc.h:2120
+
unsigned char get_proc_last_cpu_location
Definition: hwloc.h:2140
+
unsigned char set_thread_cpubind
Definition: hwloc.h:2134
+
unsigned char set_thisthread_cpubind
Definition: hwloc.h:2130
+
unsigned char get_thisthread_last_cpu_location
Definition: hwloc.h:2142
+
unsigned char get_thisproc_cpubind
Definition: hwloc.h:2124
+
unsigned char get_thisthread_cpubind
Definition: hwloc.h:2132
+
unsigned char get_thread_cpubind
Definition: hwloc.h:2136
+
unsigned char set_thisproc_cpubind
Definition: hwloc.h:2122
+
unsigned char set_proc_cpubind
Definition: hwloc.h:2126
+
unsigned char get_proc_cpubind
Definition: hwloc.h:2128
+
unsigned char get_thisproc_last_cpu_location
Definition: hwloc.h:2138
+
Flags describing actual memory binding support for this topology.
Definition: hwloc.h:2150
+
unsigned char set_thisthread_membind
Definition: hwloc.h:2160
+
unsigned char get_area_membind
Definition: hwloc.h:2166
+
unsigned char firsttouch_membind
Definition: hwloc.h:2170
+
unsigned char get_area_memlocation
Definition: hwloc.h:2180
+
unsigned char set_thisproc_membind
Definition: hwloc.h:2152
+
unsigned char interleave_membind
Definition: hwloc.h:2174
+
unsigned char get_thisproc_membind
Definition: hwloc.h:2154
+
unsigned char set_area_membind
Definition: hwloc.h:2164
+
unsigned char get_thisthread_membind
Definition: hwloc.h:2162
+
unsigned char set_proc_membind
Definition: hwloc.h:2156
+
unsigned char get_proc_membind
Definition: hwloc.h:2158
+
unsigned char migrate_membind
Definition: hwloc.h:2178
+
unsigned char nexttouch_membind
Definition: hwloc.h:2176
+
unsigned char alloc_membind
Definition: hwloc.h:2168
+
unsigned char bind_membind
Definition: hwloc.h:2172
+
Flags describing miscellaneous features.
Definition: hwloc.h:2185
+
unsigned char imported_support
Definition: hwloc.h:2187
+
Set of flags describing actual support for this topology.
Definition: hwloc.h:2196
+
struct hwloc_topology_misc_support * misc
Definition: hwloc.h:2200
+
struct hwloc_topology_membind_support * membind
Definition: hwloc.h:2199
+
struct hwloc_topology_cpubind_support * cpubind
Definition: hwloc.h:2198
+
struct hwloc_topology_discovery_support * discovery
Definition: hwloc.h:2197