Merge pull request #1289 from hjelmn/hwloc_fix
Update hwloc to 1.11.2 + Fix /proc/mounts issue.
Этот коммит содержится в:
Коммит
faeca5663c
@ -1,172 +0,0 @@
|
||||
# -*- shell-script -*-
|
||||
#
|
||||
# Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved.
|
||||
# Copyright (c) 2014-2015 Intel, Inc. All rights reserved.
|
||||
# Copyright (c) 2015 Research Organization for Information Science
|
||||
# and Technology (RIST). All rights reserved.
|
||||
#
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
#
|
||||
# $HEADER$
|
||||
#
|
||||
|
||||
#
|
||||
# Priority
|
||||
#
|
||||
AC_DEFUN([MCA_opal_hwloc_hwloc1111_PRIORITY], [90])
|
||||
|
||||
#
|
||||
# Force this component to compile in static-only mode
|
||||
#
|
||||
AC_DEFUN([MCA_opal_hwloc_hwloc1111_COMPILE_MODE], [
|
||||
AC_MSG_CHECKING([for MCA component $2:$3 compile mode])
|
||||
$4="static"
|
||||
AC_MSG_RESULT([$$4])
|
||||
])
|
||||
|
||||
# Include hwloc m4 files
|
||||
m4_include(opal/mca/hwloc/hwloc1111/hwloc/config/hwloc.m4)
|
||||
m4_include(opal/mca/hwloc/hwloc1111/hwloc/config/hwloc_pkg.m4)
|
||||
m4_include(opal/mca/hwloc/hwloc1111/hwloc/config/hwloc_check_attributes.m4)
|
||||
m4_include(opal/mca/hwloc/hwloc1111/hwloc/config/hwloc_check_visibility.m4)
|
||||
m4_include(opal/mca/hwloc/hwloc1111/hwloc/config/hwloc_check_vendor.m4)
|
||||
m4_include(opal/mca/hwloc/hwloc1111/hwloc/config/hwloc_components.m4)
|
||||
|
||||
# MCA_hwloc_hwloc1111_POST_CONFIG()
|
||||
# ---------------------------------
|
||||
AC_DEFUN([MCA_opal_hwloc_hwloc1111_POST_CONFIG],[
|
||||
OPAL_VAR_SCOPE_PUSH([opal_hwloc_hwloc1111_basedir])
|
||||
|
||||
# If we won, then do all the rest of the setup
|
||||
AS_IF([test "$1" = "1" && test "$opal_hwloc_hwloc1111_support" = "yes"],
|
||||
[
|
||||
# Set this variable so that the framework m4 knows what
|
||||
# file to include in opal/mca/hwloc/hwloc.h
|
||||
opal_hwloc_hwloc1111_basedir=opal/mca/hwloc/hwloc1111
|
||||
opal_hwloc_base_include="$opal_hwloc_hwloc1111_basedir/hwloc1111.h"
|
||||
|
||||
# Add some stuff to CPPFLAGS so that the rest of the source
|
||||
# tree can be built
|
||||
file=$opal_hwloc_hwloc1111_basedir/hwloc
|
||||
CPPFLAGS="$CPPFLAGS -I$OPAL_TOP_SRCDIR/$file/include"
|
||||
AS_IF([test "$OPAL_TOP_BUILDDIR" != "$OPAL_TOP_SRCDIR"],
|
||||
[CPPFLAGS="$CPPFLAGS -I$OPAL_TOP_BUILDDIR/$file/include"])
|
||||
unset file
|
||||
])
|
||||
OPAL_VAR_SCOPE_POP
|
||||
|
||||
# This must be run unconditionally
|
||||
HWLOC_DO_AM_CONDITIONALS
|
||||
])dnl
|
||||
|
||||
|
||||
# MCA_hwloc_hwloc1111_CONFIG([action-if-found], [action-if-not-found])
|
||||
# --------------------------------------------------------------------
|
||||
AC_DEFUN([MCA_opal_hwloc_hwloc1111_CONFIG],[
|
||||
# Hwloc needs to know if we have Verbs support
|
||||
AC_REQUIRE([OPAL_CHECK_VERBS_DIR])
|
||||
|
||||
AC_CONFIG_FILES([opal/mca/hwloc/hwloc1111/Makefile])
|
||||
|
||||
OPAL_VAR_SCOPE_PUSH([HWLOC_VERSION opal_hwloc_hwloc1111_save_CPPFLAGS opal_hwloc_hwloc1111_save_LDFLAGS opal_hwloc_hwloc1111_save_LIBS opal_hwloc_hwloc1111_save_cairo opal_hwloc_hwloc1111_save_xml opal_hwloc_hwloc1111_basedir opal_hwloc_hwloc1111_file opal_hwloc_hwloc1111_save_cflags CPPFLAGS_save LIBS_save])
|
||||
|
||||
# default to this component not providing support
|
||||
opal_hwloc_hwloc1111_basedir=opal/mca/hwloc/hwloc1111
|
||||
opal_hwloc_hwloc1111_support=no
|
||||
|
||||
if test "$with_hwloc" = "internal" || test -z "$with_hwloc" || test "$with_hwloc" = "yes"; then
|
||||
opal_hwloc_hwloc1111_save_CPPFLAGS=$CPPFLAGS
|
||||
opal_hwloc_hwloc1111_save_LDFLAGS=$LDFLAGS
|
||||
opal_hwloc_hwloc1111_save_LIBS=$LIBS
|
||||
|
||||
# Run the hwloc configuration - set the prefix to minimize
|
||||
# the chance that someone will use the internal symbols
|
||||
HWLOC_SET_SYMBOL_PREFIX([opal_hwloc1111_])
|
||||
|
||||
# save XML or graphical options
|
||||
opal_hwloc_hwloc1111_save_cairo=$enable_cairo
|
||||
opal_hwloc_hwloc1111_save_xml=$enable_xml
|
||||
opal_hwloc_hwloc1111_save_static=$enable_static
|
||||
opal_hwloc_hwloc1111_save_shared=$enable_shared
|
||||
opal_hwloc_hwloc1111_save_plugins=$enable_plugins
|
||||
|
||||
# never enable hwloc's graphical option
|
||||
enable_cairo=no
|
||||
|
||||
# never enable hwloc's plugin system
|
||||
enable_plugins=no
|
||||
enable_static=yes
|
||||
enable_shared=no
|
||||
|
||||
# Override -- disable hwloc's libxml2 support, but enable the
|
||||
# native hwloc XML support
|
||||
enable_libxml2=no
|
||||
enable_xml=yes
|
||||
|
||||
# hwloc checks for compiler visibility, and its needs to do
|
||||
# this without "picky" flags.
|
||||
opal_hwloc_hwloc1111_save_cflags=$CFLAGS
|
||||
CFLAGS=$OPAL_CFLAGS_BEFORE_PICKY
|
||||
HWLOC_SETUP_CORE([opal/mca/hwloc/hwloc1111/hwloc],
|
||||
[AC_MSG_CHECKING([whether hwloc configure succeeded])
|
||||
AC_MSG_RESULT([yes])
|
||||
HWLOC_VERSION="internal v`$srcdir/$opal_hwloc_hwloc1111_basedir/hwloc/config/hwloc_get_version.sh $srcdir/$opal_hwloc_hwloc1111_basedir/hwloc/VERSION`"
|
||||
|
||||
# Build flags for our Makefile.am
|
||||
opal_hwloc_hwloc1111_LDFLAGS='$(HWLOC_EMBEDDED_LDFLAGS)'
|
||||
opal_hwloc_hwloc1111_LIBS='$(OPAL_TOP_BUILDDIR)/'"$opal_hwloc_hwloc1111_basedir"'/hwloc/src/libhwloc_embedded.la $(HWLOC_EMBEDDED_LIBS)'
|
||||
opal_hwloc_hwloc1111_support=yes
|
||||
|
||||
AC_DEFINE_UNQUOTED([HWLOC_HWLOC1111_HWLOC_VERSION],
|
||||
["$HWLOC_VERSION"],
|
||||
[Version of hwloc])
|
||||
|
||||
# Do we have verbs support?
|
||||
CPPFLAGS_save=$CPPFLAGS
|
||||
AS_IF([test "$opal_want_verbs" = "yes"],
|
||||
[CPPFLAGS="-I$opal_verbs_dir/include $CPPFLAGS"])
|
||||
AC_CHECK_HEADERS([infiniband/verbs.h])
|
||||
CPPFLAGS=$CPPFLAGS_save
|
||||
],
|
||||
[AC_MSG_CHECKING([whether hwloc configure succeeded])
|
||||
AC_MSG_RESULT([no])
|
||||
opal_hwloc_hwloc1111_support=no])
|
||||
CFLAGS=$opal_hwloc_hwloc1111_save_cflags
|
||||
|
||||
# Restore some env variables, if necessary
|
||||
AS_IF([test -n "$opal_hwloc_hwloc1111_save_cairo"],
|
||||
[enable_cairo=$opal_hwloc_hwloc1111_save_cairo])
|
||||
AS_IF([test -n "$opal_hwloc_hwloc1111_save_xml"],
|
||||
[enable_xml=$opal_hwloc_hwloc1111_save_xml])
|
||||
AS_IF([test -n "$opal_hwloc_hwloc1111_save_static"],
|
||||
[enable_static=$opal_hwloc_hwloc1111_save_static])
|
||||
AS_IF([test -n "$opal_hwloc_hwloc1111_save_shared"],
|
||||
[enable_shared=$opal_hwloc_hwloc1111_save_shared])
|
||||
AS_IF([test -n "$opal_hwloc_hwloc1111_save_plugins"],
|
||||
[enable_plugins=$opal_hwloc_hwloc1111_save_shared])
|
||||
|
||||
CPPFLAGS=$opal_hwloc_hwloc1111_save_CPPFLAGS
|
||||
LDFLAGS=$opal_hwloc_hwloc1111_save_LDFLAGS
|
||||
LIBS=$opal_hwloc_hwloc1111_save_LIBS
|
||||
|
||||
AC_SUBST([opal_hwloc_hwloc1111_CFLAGS])
|
||||
AC_SUBST([opal_hwloc_hwloc1111_CPPFLAGS])
|
||||
AC_SUBST([opal_hwloc_hwloc1111_LDFLAGS])
|
||||
AC_SUBST([opal_hwloc_hwloc1111_LIBS])
|
||||
|
||||
# Finally, add some flags to the wrapper compiler so that our
|
||||
# headers can be found.
|
||||
hwloc_hwloc1111_WRAPPER_EXTRA_LDFLAGS="$HWLOC_EMBEDDED_LDFLAGS"
|
||||
hwloc_hwloc1111_WRAPPER_EXTRA_LIBS="$HWLOC_EMBEDDED_LIBS"
|
||||
hwloc_hwloc1111_WRAPPER_EXTRA_CPPFLAGS='-I${pkgincludedir}/'"$opal_hwloc_hwloc1111_basedir/hwloc/include"
|
||||
fi
|
||||
|
||||
# Done!
|
||||
AS_IF([test "$opal_hwloc_hwloc1111_support" = "yes"],
|
||||
[$1],
|
||||
[$2])
|
||||
|
||||
OPAL_VAR_SCOPE_POP
|
||||
])dnl
|
@ -1,6 +1,8 @@
|
||||
#
|
||||
# Copyright (c) 2011-2014 Cisco Systems, Inc. All rights reserved.
|
||||
# Copyright (c) 2014-2015 Intel, Inc. All right reserved.
|
||||
# Copyright (c) 2016 Los Alamos National Security, LLC. All rights
|
||||
# reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
@ -25,16 +27,16 @@ EXTRA_DIST = \
|
||||
SUBDIRS = hwloc
|
||||
|
||||
# Headers and sources
|
||||
headers = hwloc1111.h
|
||||
sources = hwloc1111_component.c
|
||||
headers = hwloc1112.h
|
||||
sources = hwloc1112_component.c
|
||||
|
||||
# We only ever build this component statically
|
||||
noinst_LTLIBRARIES = libmca_hwloc_hwloc1111.la
|
||||
libmca_hwloc_hwloc1111_la_SOURCES = $(headers) $(sources)
|
||||
nodist_libmca_hwloc_hwloc1111_la_SOURCES = $(nodist_headers)
|
||||
libmca_hwloc_hwloc1111_la_LDFLAGS = -module -avoid-version $(opal_hwloc_hwloc1111_LDFLAGS)
|
||||
libmca_hwloc_hwloc1111_la_LIBADD = $(opal_hwloc_hwloc1111_LIBS)
|
||||
libmca_hwloc_hwloc1111_la_DEPENDENCIES = \
|
||||
noinst_LTLIBRARIES = libmca_hwloc_hwloc1112.la
|
||||
libmca_hwloc_hwloc1112_la_SOURCES = $(headers) $(sources)
|
||||
nodist_libmca_hwloc_hwloc1112_la_SOURCES = $(nodist_headers)
|
||||
libmca_hwloc_hwloc1112_la_LDFLAGS = -module -avoid-version $(opal_hwloc_hwloc1112_LDFLAGS)
|
||||
libmca_hwloc_hwloc1112_la_LIBADD = $(opal_hwloc_hwloc1112_LIBS)
|
||||
libmca_hwloc_hwloc1112_la_DEPENDENCIES = \
|
||||
$(HWLOC_top_builddir)/src/libhwloc_embedded.la
|
||||
|
||||
# Since the rest of the code base includes the underlying hwloc.h, we
|
174
opal/mca/hwloc/hwloc1112/configure.m4
Обычный файл
174
opal/mca/hwloc/hwloc1112/configure.m4
Обычный файл
@ -0,0 +1,174 @@
|
||||
# -*- shell-script -*-
|
||||
#
|
||||
# Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved.
|
||||
# Copyright (c) 2014-2015 Intel, Inc. All rights reserved.
|
||||
# Copyright (c) 2015 Research Organization for Information Science
|
||||
# and Technology (RIST). All rights reserved.
|
||||
# Copyright (c) 2016 Los Alamos National Security, LLC. All rights
|
||||
# reserved.
|
||||
#
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
#
|
||||
# $HEADER$
|
||||
#
|
||||
|
||||
#
|
||||
# Priority
|
||||
#
|
||||
AC_DEFUN([MCA_opal_hwloc_hwloc1112_PRIORITY], [90])
|
||||
|
||||
#
|
||||
# Force this component to compile in static-only mode
|
||||
#
|
||||
AC_DEFUN([MCA_opal_hwloc_hwloc1112_COMPILE_MODE], [
|
||||
AC_MSG_CHECKING([for MCA component $2:$3 compile mode])
|
||||
$4="static"
|
||||
AC_MSG_RESULT([$$4])
|
||||
])
|
||||
|
||||
# Include hwloc m4 files
|
||||
m4_include(opal/mca/hwloc/hwloc1112/hwloc/config/hwloc.m4)
|
||||
m4_include(opal/mca/hwloc/hwloc1112/hwloc/config/hwloc_pkg.m4)
|
||||
m4_include(opal/mca/hwloc/hwloc1112/hwloc/config/hwloc_check_attributes.m4)
|
||||
m4_include(opal/mca/hwloc/hwloc1112/hwloc/config/hwloc_check_visibility.m4)
|
||||
m4_include(opal/mca/hwloc/hwloc1112/hwloc/config/hwloc_check_vendor.m4)
|
||||
m4_include(opal/mca/hwloc/hwloc1112/hwloc/config/hwloc_components.m4)
|
||||
|
||||
# MCA_hwloc_hwloc1112_POST_CONFIG()
|
||||
# ---------------------------------
|
||||
AC_DEFUN([MCA_opal_hwloc_hwloc1112_POST_CONFIG],[
|
||||
OPAL_VAR_SCOPE_PUSH([opal_hwloc_hwloc1112_basedir])
|
||||
|
||||
# If we won, then do all the rest of the setup
|
||||
AS_IF([test "$1" = "1" && test "$opal_hwloc_hwloc1112_support" = "yes"],
|
||||
[
|
||||
# Set this variable so that the framework m4 knows what
|
||||
# file to include in opal/mca/hwloc/hwloc.h
|
||||
opal_hwloc_hwloc1112_basedir=opal/mca/hwloc/hwloc1112
|
||||
opal_hwloc_base_include="$opal_hwloc_hwloc1112_basedir/hwloc1112.h"
|
||||
|
||||
# Add some stuff to CPPFLAGS so that the rest of the source
|
||||
# tree can be built
|
||||
file=$opal_hwloc_hwloc1112_basedir/hwloc
|
||||
CPPFLAGS="$CPPFLAGS -I$OPAL_TOP_SRCDIR/$file/include"
|
||||
AS_IF([test "$OPAL_TOP_BUILDDIR" != "$OPAL_TOP_SRCDIR"],
|
||||
[CPPFLAGS="$CPPFLAGS -I$OPAL_TOP_BUILDDIR/$file/include"])
|
||||
unset file
|
||||
])
|
||||
OPAL_VAR_SCOPE_POP
|
||||
|
||||
# This must be run unconditionally
|
||||
HWLOC_DO_AM_CONDITIONALS
|
||||
])dnl
|
||||
|
||||
|
||||
# MCA_hwloc_hwloc1112_CONFIG([action-if-found], [action-if-not-found])
|
||||
# --------------------------------------------------------------------
|
||||
AC_DEFUN([MCA_opal_hwloc_hwloc1112_CONFIG],[
|
||||
# Hwloc needs to know if we have Verbs support
|
||||
AC_REQUIRE([OPAL_CHECK_VERBS_DIR])
|
||||
|
||||
AC_CONFIG_FILES([opal/mca/hwloc/hwloc1112/Makefile])
|
||||
|
||||
OPAL_VAR_SCOPE_PUSH([HWLOC_VERSION opal_hwloc_hwloc1112_save_CPPFLAGS opal_hwloc_hwloc1112_save_LDFLAGS opal_hwloc_hwloc1112_save_LIBS opal_hwloc_hwloc1112_save_cairo opal_hwloc_hwloc1112_save_xml opal_hwloc_hwloc1112_basedir opal_hwloc_hwloc1112_file opal_hwloc_hwloc1112_save_cflags CPPFLAGS_save LIBS_save])
|
||||
|
||||
# default to this component not providing support
|
||||
opal_hwloc_hwloc1112_basedir=opal/mca/hwloc/hwloc1112
|
||||
opal_hwloc_hwloc1112_support=no
|
||||
|
||||
if test "$with_hwloc" = "internal" || test -z "$with_hwloc" || test "$with_hwloc" = "yes"; then
|
||||
opal_hwloc_hwloc1112_save_CPPFLAGS=$CPPFLAGS
|
||||
opal_hwloc_hwloc1112_save_LDFLAGS=$LDFLAGS
|
||||
opal_hwloc_hwloc1112_save_LIBS=$LIBS
|
||||
|
||||
# Run the hwloc configuration - set the prefix to minimize
|
||||
# the chance that someone will use the internal symbols
|
||||
HWLOC_SET_SYMBOL_PREFIX([opal_hwloc1112_])
|
||||
|
||||
# save XML or graphical options
|
||||
opal_hwloc_hwloc1112_save_cairo=$enable_cairo
|
||||
opal_hwloc_hwloc1112_save_xml=$enable_xml
|
||||
opal_hwloc_hwloc1112_save_static=$enable_static
|
||||
opal_hwloc_hwloc1112_save_shared=$enable_shared
|
||||
opal_hwloc_hwloc1112_save_plugins=$enable_plugins
|
||||
|
||||
# never enable hwloc's graphical option
|
||||
enable_cairo=no
|
||||
|
||||
# never enable hwloc's plugin system
|
||||
enable_plugins=no
|
||||
enable_static=yes
|
||||
enable_shared=no
|
||||
|
||||
# Override -- disable hwloc's libxml2 support, but enable the
|
||||
# native hwloc XML support
|
||||
enable_libxml2=no
|
||||
enable_xml=yes
|
||||
|
||||
# hwloc checks for compiler visibility, and its needs to do
|
||||
# this without "picky" flags.
|
||||
opal_hwloc_hwloc1112_save_cflags=$CFLAGS
|
||||
CFLAGS=$OPAL_CFLAGS_BEFORE_PICKY
|
||||
HWLOC_SETUP_CORE([opal/mca/hwloc/hwloc1112/hwloc],
|
||||
[AC_MSG_CHECKING([whether hwloc configure succeeded])
|
||||
AC_MSG_RESULT([yes])
|
||||
HWLOC_VERSION="internal v`$srcdir/$opal_hwloc_hwloc1112_basedir/hwloc/config/hwloc_get_version.sh $srcdir/$opal_hwloc_hwloc1112_basedir/hwloc/VERSION`"
|
||||
|
||||
# Build flags for our Makefile.am
|
||||
opal_hwloc_hwloc1112_LDFLAGS='$(HWLOC_EMBEDDED_LDFLAGS)'
|
||||
opal_hwloc_hwloc1112_LIBS='$(OPAL_TOP_BUILDDIR)/'"$opal_hwloc_hwloc1112_basedir"'/hwloc/src/libhwloc_embedded.la $(HWLOC_EMBEDDED_LIBS)'
|
||||
opal_hwloc_hwloc1112_support=yes
|
||||
|
||||
AC_DEFINE_UNQUOTED([HWLOC_HWLOC1112_HWLOC_VERSION],
|
||||
["$HWLOC_VERSION"],
|
||||
[Version of hwloc])
|
||||
|
||||
# Do we have verbs support?
|
||||
CPPFLAGS_save=$CPPFLAGS
|
||||
AS_IF([test "$opal_want_verbs" = "yes"],
|
||||
[CPPFLAGS="-I$opal_verbs_dir/include $CPPFLAGS"])
|
||||
AC_CHECK_HEADERS([infiniband/verbs.h])
|
||||
CPPFLAGS=$CPPFLAGS_save
|
||||
],
|
||||
[AC_MSG_CHECKING([whether hwloc configure succeeded])
|
||||
AC_MSG_RESULT([no])
|
||||
opal_hwloc_hwloc1112_support=no])
|
||||
CFLAGS=$opal_hwloc_hwloc1112_save_cflags
|
||||
|
||||
# Restore some env variables, if necessary
|
||||
AS_IF([test -n "$opal_hwloc_hwloc1112_save_cairo"],
|
||||
[enable_cairo=$opal_hwloc_hwloc1112_save_cairo])
|
||||
AS_IF([test -n "$opal_hwloc_hwloc1112_save_xml"],
|
||||
[enable_xml=$opal_hwloc_hwloc1112_save_xml])
|
||||
AS_IF([test -n "$opal_hwloc_hwloc1112_save_static"],
|
||||
[enable_static=$opal_hwloc_hwloc1112_save_static])
|
||||
AS_IF([test -n "$opal_hwloc_hwloc1112_save_shared"],
|
||||
[enable_shared=$opal_hwloc_hwloc1112_save_shared])
|
||||
AS_IF([test -n "$opal_hwloc_hwloc1112_save_plugins"],
|
||||
[enable_plugins=$opal_hwloc_hwloc1112_save_shared])
|
||||
|
||||
CPPFLAGS=$opal_hwloc_hwloc1112_save_CPPFLAGS
|
||||
LDFLAGS=$opal_hwloc_hwloc1112_save_LDFLAGS
|
||||
LIBS=$opal_hwloc_hwloc1112_save_LIBS
|
||||
|
||||
AC_SUBST([opal_hwloc_hwloc1112_CFLAGS])
|
||||
AC_SUBST([opal_hwloc_hwloc1112_CPPFLAGS])
|
||||
AC_SUBST([opal_hwloc_hwloc1112_LDFLAGS])
|
||||
AC_SUBST([opal_hwloc_hwloc1112_LIBS])
|
||||
|
||||
# Finally, add some flags to the wrapper compiler so that our
|
||||
# headers can be found.
|
||||
hwloc_hwloc1112_WRAPPER_EXTRA_LDFLAGS="$HWLOC_EMBEDDED_LDFLAGS"
|
||||
hwloc_hwloc1112_WRAPPER_EXTRA_LIBS="$HWLOC_EMBEDDED_LIBS"
|
||||
hwloc_hwloc1112_WRAPPER_EXTRA_CPPFLAGS='-I${pkgincludedir}/'"$opal_hwloc_hwloc1112_basedir/hwloc/include"
|
||||
fi
|
||||
|
||||
# Done!
|
||||
AS_IF([test "$opal_hwloc_hwloc1112_support" = "yes"],
|
||||
[$1],
|
||||
[$2])
|
||||
|
||||
OPAL_VAR_SCOPE_POP
|
||||
])dnl
|
@ -1,5 +1,5 @@
|
||||
Copyright © 2009 CNRS
|
||||
Copyright © 2009-2015 Inria. All rights reserved.
|
||||
Copyright © 2009-2016 Inria. All rights reserved.
|
||||
Copyright © 2009-2013 Université Bordeaux
|
||||
Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved.
|
||||
|
||||
@ -17,6 +17,54 @@ bug fixes (and other actions) for each version of hwloc since version
|
||||
in v0.9.1).
|
||||
|
||||
|
||||
Version 1.11.3
|
||||
--------------
|
||||
* Fix /proc/mounts parsing on Linux by using mntent.h.
|
||||
Thanks to Nathan Hjelm for reporting the issue.
|
||||
|
||||
|
||||
Version 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?".
|
||||
|
||||
|
||||
Version 1.11.1
|
||||
--------------
|
||||
* Detection fixes
|
@ -25,9 +25,9 @@ using PLPA has already switched to hwloc.
|
||||
hwloc supports the following operating systems:
|
||||
|
||||
* Linux (including old kernels not having sysfs topology information, with
|
||||
knowledge of cpusets, offline CPUs, ScaleMP vSMP, NumaScale NumaConnect,
|
||||
and Kerrighed support) on all supported hardware, including Intel Xeon Phi
|
||||
(either standalone or as a coprocessor).
|
||||
knowledge of cpusets, offline CPUs, ScaleMP vSMP and Kerrighed support) on
|
||||
all supported hardware, including Intel Xeon Phi (KNL and KNC, either
|
||||
standalone or as a coprocessor) and NumaScale NumaConnect.
|
||||
* Solaris
|
||||
* AIX
|
||||
* Darwin / OS X
|
3
opal/mca/hwloc/hwloc1112/hwloc/README-ompi.txt
Обычный файл
3
opal/mca/hwloc/hwloc1112/hwloc/README-ompi.txt
Обычный файл
@ -0,0 +1,3 @@
|
||||
Cherry-picked commits after 1.11.2:
|
||||
|
||||
open-mpi/hwloc@d2d07b9a2268699e13e1644b4f2ef7a53ef7396c
|
@ -7,7 +7,7 @@
|
||||
|
||||
major=1
|
||||
minor=11
|
||||
release=1
|
||||
release=2
|
||||
|
||||
# greek is used for alpha or beta release tags. If it is non-empty,
|
||||
# it will be appended to the version number. It does not have to be
|
||||
@ -20,7 +20,7 @@ greek=
|
||||
|
||||
# The date when this release was created
|
||||
|
||||
date="Oct 15, 2015"
|
||||
date="Dec 17, 2015"
|
||||
|
||||
# If snapshot=1, then use the value from snapshot_version as the
|
||||
# entire hwloc version (i.e., ignore major, minor, release, and
|
||||
@ -39,4 +39,4 @@ snapshot_version=${major}.${minor}.${release}${greek}-git
|
||||
# 2. Version numbers are described in the Libtool current:revision:age
|
||||
# format.
|
||||
|
||||
libhwloc_so_version=11:7:6
|
||||
libhwloc_so_version=11:8:6
|
@ -1213,6 +1213,7 @@ AC_DEFUN([HWLOC_DO_AM_CONDITIONALS],[
|
||||
AM_CONDITIONAL([HWLOC_HAVE_WINDOWS], [test "x$hwloc_windows" = "xyes"])
|
||||
AM_CONDITIONAL([HWLOC_HAVE_MINGW32], [test "x$target_os" = "xmingw32"])
|
||||
|
||||
AM_CONDITIONAL([HWLOC_HAVE_X86], [test "x$hwloc_x86_32" = "xyes" -o "x$hwloc_x86_64" = "xyes"])
|
||||
AM_CONDITIONAL([HWLOC_HAVE_X86_32], [test "x$hwloc_x86_32" = "xyes"])
|
||||
AM_CONDITIONAL([HWLOC_HAVE_X86_64], [test "x$hwloc_x86_64" = "xyes"])
|
||||
AM_CONDITIONAL([HWLOC_HAVE_X86_CPUID], [test "x$hwloc_have_x86_cpuid" = "xyes"])
|
@ -211,6 +211,7 @@ typedef enum {
|
||||
* expose their arbitrary processors aggregation this
|
||||
* way. And hwloc may insert such objects to group
|
||||
* NUMA nodes according to their distances.
|
||||
* See also \ref faq_groups.
|
||||
*
|
||||
* These objects are ignored when they do not bring
|
||||
* any structure.
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved.
|
||||
* Copyright © 2010-2014 Inria. All rights reserved.
|
||||
* Copyright © 2010-2015 Inria. All rights reserved.
|
||||
* See COPYING in top-level directory.
|
||||
*/
|
||||
|
||||
@ -510,6 +510,7 @@ extern "C" {
|
||||
|
||||
/* private/debug.h */
|
||||
|
||||
#define hwloc_debug_enabled HWLOC_NAME(debug_enabled)
|
||||
#define hwloc_debug HWLOC_NAME(debug)
|
||||
|
||||
/* private/misc.h */
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright © 2009 CNRS
|
||||
* Copyright © 2009-2012 Inria. All rights reserved.
|
||||
* Copyright © 2009-2015 Inria. All rights reserved.
|
||||
* Copyright © 2009, 2011 Université Bordeaux
|
||||
* Copyright © 2011 Cisco Systems, Inc. All rights reserved.
|
||||
* See COPYING in top-level directory.
|
||||
@ -18,36 +18,57 @@
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
|
||||
#ifdef HWLOC_DEBUG
|
||||
static __hwloc_inline int hwloc_debug_enabled(void)
|
||||
{
|
||||
static int checked = 0;
|
||||
static int enabled = 1;
|
||||
if (!checked) {
|
||||
const char *env = getenv("HWLOC_DEBUG_VERBOSE");
|
||||
if (env)
|
||||
enabled = atoi(env);
|
||||
if (enabled)
|
||||
fprintf(stderr, "hwloc verbose debug enabled, may be disabled with HWLOC_DEBUG_VERBOSE=0 in the environment.\n");
|
||||
checked = 1;
|
||||
}
|
||||
return enabled;
|
||||
}
|
||||
#endif
|
||||
|
||||
static __hwloc_inline void hwloc_debug(const char *s __hwloc_attribute_unused, ...)
|
||||
{
|
||||
#ifdef HWLOC_DEBUG
|
||||
if (hwloc_debug_enabled()) {
|
||||
va_list ap;
|
||||
|
||||
va_start(ap, s);
|
||||
vfprintf(stderr, s, ap);
|
||||
va_end(ap);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef HWLOC_DEBUG
|
||||
#define hwloc_debug_bitmap(fmt, bitmap) do { \
|
||||
if (hwloc_debug_enabled()) { \
|
||||
char *s; \
|
||||
hwloc_bitmap_asprintf(&s, bitmap); \
|
||||
fprintf(stderr, fmt, s); \
|
||||
free(s); \
|
||||
} while (0)
|
||||
} } while (0)
|
||||
#define hwloc_debug_1arg_bitmap(fmt, arg1, bitmap) do { \
|
||||
if (hwloc_debug_enabled()) { \
|
||||
char *s; \
|
||||
hwloc_bitmap_asprintf(&s, bitmap); \
|
||||
fprintf(stderr, fmt, arg1, s); \
|
||||
free(s); \
|
||||
} while (0)
|
||||
} } while (0)
|
||||
#define hwloc_debug_2args_bitmap(fmt, arg1, arg2, bitmap) do { \
|
||||
if (hwloc_debug_enabled()) { \
|
||||
char *s; \
|
||||
hwloc_bitmap_asprintf(&s, bitmap); \
|
||||
fprintf(stderr, fmt, arg1, arg2, s); \
|
||||
free(s); \
|
||||
} while (0)
|
||||
} } while (0)
|
||||
#else
|
||||
#define hwloc_debug_bitmap(s, bitmap) do { } while(0)
|
||||
#define hwloc_debug_1arg_bitmap(s, arg1, bitmap) do { } while(0)
|
@ -74,9 +74,13 @@ hwloc_set_cpubind(hwloc_topology_t topology, hwloc_const_bitmap_t set, int flags
|
||||
if (topology->binding_hooks.set_thisthread_cpubind)
|
||||
return topology->binding_hooks.set_thisthread_cpubind(topology, set, flags);
|
||||
} else {
|
||||
if (topology->binding_hooks.set_thisproc_cpubind)
|
||||
return topology->binding_hooks.set_thisproc_cpubind(topology, set, flags);
|
||||
else if (topology->binding_hooks.set_thisthread_cpubind)
|
||||
if (topology->binding_hooks.set_thisproc_cpubind) {
|
||||
int err = topology->binding_hooks.set_thisproc_cpubind(topology, set, flags);
|
||||
if (err >= 0 || errno != ENOSYS)
|
||||
return err;
|
||||
/* ENOSYS, fallback */
|
||||
}
|
||||
if (topology->binding_hooks.set_thisthread_cpubind)
|
||||
return topology->binding_hooks.set_thisthread_cpubind(topology, set, flags);
|
||||
}
|
||||
|
||||
@ -94,9 +98,13 @@ hwloc_get_cpubind(hwloc_topology_t topology, hwloc_bitmap_t set, int flags)
|
||||
if (topology->binding_hooks.get_thisthread_cpubind)
|
||||
return topology->binding_hooks.get_thisthread_cpubind(topology, set, flags);
|
||||
} else {
|
||||
if (topology->binding_hooks.get_thisproc_cpubind)
|
||||
return topology->binding_hooks.get_thisproc_cpubind(topology, set, flags);
|
||||
else if (topology->binding_hooks.get_thisthread_cpubind)
|
||||
if (topology->binding_hooks.get_thisproc_cpubind) {
|
||||
int err = topology->binding_hooks.get_thisproc_cpubind(topology, set, flags);
|
||||
if (err >= 0 || errno != ENOSYS)
|
||||
return err;
|
||||
/* ENOSYS, fallback */
|
||||
}
|
||||
if (topology->binding_hooks.get_thisthread_cpubind)
|
||||
return topology->binding_hooks.get_thisthread_cpubind(topology, set, flags);
|
||||
}
|
||||
|
||||
@ -164,9 +172,13 @@ hwloc_get_last_cpu_location(hwloc_topology_t topology, hwloc_bitmap_t set, int f
|
||||
if (topology->binding_hooks.get_thisthread_last_cpu_location)
|
||||
return topology->binding_hooks.get_thisthread_last_cpu_location(topology, set, flags);
|
||||
} else {
|
||||
if (topology->binding_hooks.get_thisproc_last_cpu_location)
|
||||
return topology->binding_hooks.get_thisproc_last_cpu_location(topology, set, flags);
|
||||
else if (topology->binding_hooks.get_thisthread_last_cpu_location)
|
||||
if (topology->binding_hooks.get_thisproc_last_cpu_location) {
|
||||
int err = topology->binding_hooks.get_thisproc_last_cpu_location(topology, set, flags);
|
||||
if (err >= 0 || errno != ENOSYS)
|
||||
return err;
|
||||
/* ENOSYS, fallback */
|
||||
}
|
||||
if (topology->binding_hooks.get_thisthread_last_cpu_location)
|
||||
return topology->binding_hooks.get_thisthread_last_cpu_location(topology, set, flags);
|
||||
}
|
||||
|
||||
@ -272,9 +284,13 @@ hwloc_set_membind_nodeset(hwloc_topology_t topology, hwloc_const_nodeset_t nodes
|
||||
if (topology->binding_hooks.set_thisthread_membind)
|
||||
return topology->binding_hooks.set_thisthread_membind(topology, nodeset, policy, flags);
|
||||
} else {
|
||||
if (topology->binding_hooks.set_thisproc_membind)
|
||||
return topology->binding_hooks.set_thisproc_membind(topology, nodeset, policy, flags);
|
||||
else if (topology->binding_hooks.set_thisthread_membind)
|
||||
if (topology->binding_hooks.set_thisproc_membind) {
|
||||
int err = topology->binding_hooks.set_thisproc_membind(topology, nodeset, policy, flags);
|
||||
if (err >= 0 || errno != ENOSYS)
|
||||
return err;
|
||||
/* ENOSYS, fallback */
|
||||
}
|
||||
if (topology->binding_hooks.set_thisthread_membind)
|
||||
return topology->binding_hooks.set_thisthread_membind(topology, nodeset, policy, flags);
|
||||
}
|
||||
|
||||
@ -307,9 +323,13 @@ hwloc_get_membind_nodeset(hwloc_topology_t topology, hwloc_nodeset_t nodeset, hw
|
||||
if (topology->binding_hooks.get_thisthread_membind)
|
||||
return topology->binding_hooks.get_thisthread_membind(topology, nodeset, policy, flags);
|
||||
} else {
|
||||
if (topology->binding_hooks.get_thisproc_membind)
|
||||
return topology->binding_hooks.get_thisproc_membind(topology, nodeset, policy, flags);
|
||||
else if (topology->binding_hooks.get_thisthread_membind)
|
||||
if (topology->binding_hooks.get_thisproc_membind) {
|
||||
int err = topology->binding_hooks.get_thisproc_membind(topology, nodeset, policy, flags);
|
||||
if (err >= 0 || errno != ENOSYS)
|
||||
return err;
|
||||
/* ENOSYS, fallback */
|
||||
}
|
||||
if (topology->binding_hooks.get_thisthread_membind)
|
||||
return topology->binding_hooks.get_thisthread_membind(topology, nodeset, policy, flags);
|
||||
}
|
||||
|
@ -585,7 +585,7 @@ hwloc_aix_alloc_membind(hwloc_topology_t topology, size_t len, hwloc_const_nodes
|
||||
ret = ra_mmap(NULL, len, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0, R_RSET, rsid, aix_policy);
|
||||
|
||||
rs_free(rsid.at_rset);
|
||||
return ret;
|
||||
return ret == (void*)-1 ? NULL : ret;
|
||||
}
|
||||
#endif /* P_DEFAULT */
|
||||
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
x
Ссылка в новой задаче
Block a user