diff --git a/opal/mca/common/hwloc/hwloc/COPYING b/opal/mca/common/hwloc/hwloc/COPYING index 445d4a3682..cdbd4f67b8 100644 --- a/opal/mca/common/hwloc/hwloc/COPYING +++ b/opal/mca/common/hwloc/hwloc/COPYING @@ -1,7 +1,8 @@ Copyright © 2009 CNRS -Copyright © 2009 INRIA +Copyright © 2009 INRIA. All rights reserved. Copyright © 2009 Université Bordeaux 1 Copyright © 2009 Cisco Systems, 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 diff --git a/opal/mca/common/hwloc/hwloc/Makefile.am b/opal/mca/common/hwloc/hwloc/Makefile.am index 53f8eef74a..f3fcd885b9 100644 --- a/opal/mca/common/hwloc/hwloc/Makefile.am +++ b/opal/mca/common/hwloc/hwloc/Makefile.am @@ -1,6 +1,7 @@ -# Copyright © 2009 INRIA +# Copyright © 2009 INRIA. All rights reserved. # Copyright © 2009 Université Bordeaux 1 # Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. +# See COPYING in top-level directory. # Note that the -I directory must *exactly* match what was specified # via AC_CONFIG_MACRO_DIR in configure.ac. diff --git a/opal/mca/common/hwloc/hwloc/NEWS b/opal/mca/common/hwloc/hwloc/NEWS index 8556fd4666..25bccb694c 100644 --- a/opal/mca/common/hwloc/hwloc/NEWS +++ b/opal/mca/common/hwloc/hwloc/NEWS @@ -1,5 +1,5 @@ Copyright © 2009 CNRS -Copyright © 2009-2011 INRIA +Copyright © 2009-2011 INRIA. All rights reserved. Copyright © 2009-2011 Université Bordeaux 1 Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. @@ -17,6 +17,52 @@ bug fixes (and other actions) for each version of hwloc since version in v0.9.1). +Version 1.2.0 +------------- +* Major features + + Expose latency matrices in the API as an array of distance structures + within objects. Add several helpers to find distances. + + Add hwloc_topology_set_distance_matrix() and environment variables + to provide a matrix of distances between a given set of objects. + + Add hwloc_get_last_cpu_location() and hwloc_get_proc_last_cpu_location() + to retrieve the processors where a process or thread recently ran. + - Add the corresponding --get-last-cpu-location option to hwloc-bind. + + Add hwloc_topology_restrict() to restrict an existing topology to a + given cpuset. + - Add the corresponding --restrict option to lstopo. +* Minor API updates + + Add hwloc_bitmap_list_sscanf/snprintf/asprintf to convert between bitmaps + and strings such as 4-5,7-9,12,15- + + hwloc_bitmap_set/clr_range() now support infinite ranges. + + Clarify the difference between inserting Misc objects by cpuset or by + parent. + + hwloc_insert_misc_object_by_cpuset() now returns NULL in case of error. +* Discovery improvements + + x86 backend (for freebsd): add x2APIC support + + Support standard device-tree phandle, to get better support on e.g. ARM + systems providing it. + + Detect cache size on AIX. Thanks Christopher and IBM. + + Improve grouping to support asymmetric topologies. +* Tools + + Command-line tools now support "all" and "root" special locations + consisting in the entire topology, as well as type names with depth + attributes such as L2 or Group4. + + hwloc-calc improvements: + - Add --number-of/-N option to report the number of objects of a given + type or depth. + - -I is now equivalent to --intersect for listing the indexes of + objects of a given type or depth that intersects the input. + - Add -H to report the output as a hierarchical combination of types + and depths. + + Add --thissystem to lstopo. + + Add lstopo-win, a console-less lstopo variant on Windows. +* Miscellaneous + + Remove C99 usage from code base. + + Rename hwloc-gather-topology.sh into hwloc-gather-topology + + Fix AMD cache discovery on freebsd when there is no L3 cache, thanks + Andriy Gapon for the fix. + + Version 1.1.2 ------------- * Fix a segfault in the distance-based grouping code when some objects diff --git a/opal/mca/common/hwloc/hwloc/README b/opal/mca/common/hwloc/hwloc/README index 09b98e7aa9..4e94d2ce89 100644 --- a/opal/mca/common/hwloc/hwloc/README +++ b/opal/mca/common/hwloc/hwloc/README @@ -14,11 +14,11 @@ locality on modern computing platforms. Note that the hwloc project represents the merger of the libtopology project from INRIA and the Portable Linux Processor Affinity (PLPA) sub-project from Open MPI. Both of these prior projects are now deprecated. The first hwloc -release is essentially a "re-branding" of the libtopology code base, but with -both a few genuinely new features and a few PLPA-like features added in. More -new features and more PLPA-like features will be added to hwloc over time. See -Switching from PLPA to hwloc for more details about converting your application -from PLPA to hwloc. +release was essentially a "re-branding" of the libtopology code base, but with +both a few genuinely new features and a few PLPA-like features added in. Prior +releases of hwloc included documentation about switching from PLPA to hwloc; +this documentation has been dropped on the assumption that everyone who was +using PLPA has already switched to hwloc. hwloc supports the following operating systems: @@ -424,9 +424,10 @@ core of the machine. /* Example hwloc API program. * - * Copyright ? 2009-2010 INRIA + * Copyright ? 2009-2010 INRIA. All rights reserved. * Copyright ? 2009-2011 Universit? Bordeaux 1 * Copyright ? 2009-2010 Cisco Systems, Inc. All rights reserved. + * See COPYING in top-level directory. * * hwloc-hello.c */ @@ -677,12 +678,11 @@ The documentation chapters include * Interoperability With Other Software * Thread Safety * Embedding hwloc in Other Software - * Switching from PLPA to hwloc * Frequently Asked Questions Make sure to have had a look at those too! ------------------------------------------------------------------------------- -Generated on Wed Apr 6 2011 17:31:39 for Hardware Locality (hwloc) by doxygen +Generated on Thu Apr 14 2011 22:34:49 for Hardware Locality (hwloc) by doxygen 1.7.3 diff --git a/opal/mca/common/hwloc/hwloc/VERSION b/opal/mca/common/hwloc/hwloc/VERSION index cd62f5aea8..4506b8c3c2 100644 --- a/opal/mca/common/hwloc/hwloc/VERSION +++ b/opal/mca/common/hwloc/hwloc/VERSION @@ -6,8 +6,8 @@ # ... If release is zero, then it is omitted. major=1 -minor=1 -release=2 +minor=2 +release=0 # 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 @@ -18,26 +18,34 @@ release=2 greek= -# If want_svn=1, then the SVN r number will be included in the overall +# If want_repo_rev=1, then the SVN r number will be included in the overall # hwloc version number in some form. -want_svn=0 +want_repo_rev=0 -# If svn_r=-1, then the SVN r numbere will be obtained dynamically at -# run time, either 1) via the "svnversion" command (if this is a -# Subversion checkout) in the form "r", or b) with the date (if -# this is not a Subversion checkout, and the svnversion command cannot -# be used) in the form of "svn". Alternatively, if svn_r is not -# -1, the value of svn_r will be directly appended to the version -# string. This happens during "make dist", for example: if the -# distribution tarball is being made from an SVN checkout, the value -# of svn_r in this file is replaced with the output of "svnversion". +# If repo_rev=-1, then the repository version number will be obtained +# dynamically at run time, either: +# +# 1) via the "svnversion" command (if this is a Subversion checkout) +# in the form "r", or +# 2) via the "hg -v -R tip" command (if this is a Mercurial clone) +# in the form of "hg", using the hash tag at the tip +# 3) via the "git log -1" command (if this is a Git clone) in the form +# of "git", using the hash tag at the HEAD +# 4) with the date (if none of the above work) in the form of +# "date". +# +# Alternatively, if repo_rev is not -1, the value of repo_rev_r will +# be directly appended to the version string. This happens during +# "make dist", for example: if the distribution tarball is being made +# from an SVN checkout, if repo_rev=-1, then its value is replaced +# with the output of "svnversion". -svn_r=r3393 +repo_rev=r3454 # The date when this release was created -date="avril 06, 2011" +date="Apr 14, 2011" # The shared library version of hwloc's public library. This version # is maintained in accordance with the "Library Interface Versions" @@ -50,4 +58,4 @@ date="avril 06, 2011" # 2. Version numbers are described in the Libtool current:revision:age # format. -libhwloc_so_version=2:1:2 +libhwloc_so_version=3:0:3 diff --git a/opal/mca/common/hwloc/hwloc/config/distscript.csh b/opal/mca/common/hwloc/hwloc/config/distscript.csh index 196fb63c11..ed4578b457 100755 --- a/opal/mca/common/hwloc/hwloc/config/distscript.csh +++ b/opal/mca/common/hwloc/hwloc/config/distscript.csh @@ -10,8 +10,8 @@ # University of Stuttgart. All rights reserved. # Copyright (c) 2004-2005 The Regents of the University of California. # All rights reserved. -# Copyright © 2010 INRIA -# Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. +# Copyright © 2010 INRIA. All rights reserved. +# Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. # $COPYRIGHT$ # # Additional copyrights may follow @@ -28,7 +28,7 @@ cd "$builddir" set distdir="$builddir/$2" set HWLOC_VERSION="$3" -set HWLOC_SVN_VERSION="$4" +set HWLOC_REPO_REV="$4" if ("$distdir" == "") then echo "Must supply relative distdir as argv[2] -- aborting" @@ -52,9 +52,9 @@ endif # our tree's revision number, but only if we are in the source tree. # Otherwise, use what configure told us, at the cost of allowing one # or two corner cases in (but otherwise VPATH builds won't work). -set svn_r=$HWLOC_SVN_VERSION +set repo_rev=$HWLOC_REPO_REV if (-d .svn) then - set svn_r="r`svnversion .`" + set repo_rev="r`svnversion .`" endif set start=`date` @@ -79,21 +79,21 @@ if (! -d "$distdir") then endif # -# See if we need to update the version file with the current SVN +# See if we need to update the version file with the current repo # revision number. Do this *before* entering the distribution tree to # solve a whole host of problems with VPATH (since srcdir may be # relative or absolute) # -set cur_svn_r="`grep '^svn_r' ${distdir}/VERSION | cut -d= -f2`" -if ("$cur_svn_r" == "-1") then - sed -e 's/^svn_r=.*/svn_r='$svn_r'/' "${distdir}/VERSION" > "${distdir}/version.new" +set cur_repo_rev="`grep '^repo_rev' ${distdir}/VERSION | cut -d= -f2`" +if ("$cur_repo_rev" == "-1") then + sed -e 's/^repo_rev=.*/repo_rev='$repo_rev'/' "${distdir}/VERSION" > "${distdir}/version.new" cp "${distdir}/version.new" "${distdir}/VERSION" rm -f "${distdir}/version.new" # need to reset the timestamp to not annoy AM dependencies touch -r "${srcdir}/VERSION" "${distdir}/VERSION" - echo "*** Updated VERSION file with SVN r number" + echo "*** Updated VERSION file with repo rev number: $repo_rev" else - echo "*** Did NOT update VERSION file with SVN r number" + echo "*** Did NOT update VERSION file with repo rev number" endif # diff --git a/opal/mca/common/hwloc/hwloc/config/hwloc.m4 b/opal/mca/common/hwloc/hwloc/config/hwloc.m4 index 649197e219..c497405c0c 100644 --- a/opal/mca/common/hwloc/hwloc/config/hwloc.m4 +++ b/opal/mca/common/hwloc/hwloc/config/hwloc.m4 @@ -1,6 +1,6 @@ dnl -*- Autoconf -*- dnl -dnl Copyright (c) 2009-2010 INRIA +dnl Copyright (c) 2009-2010 INRIA. All rights reserved. dnl Copyright (c) 2009-2011 Université Bordeaux 1 dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana dnl University Research and Technology @@ -106,7 +106,7 @@ EOF]) AC_MSG_RESULT(m4_ifval([$1], hwloc_config_prefix, [(none)])) # Note that private/config.h *MUST* be listed first so that it - # becomes the "main" config header file. Any AC_CONFIG_HEADERs + # becomes the "main" config header file. Any AC-CONFIG-HEADERS # after that (hwloc/config.h) will only have selective #defines # replaced, not the entire file. AC_CONFIG_HEADERS(hwloc_config_prefix[include/private/autogen/config.h]) @@ -134,27 +134,6 @@ EOF]) [AC_DEFINE([HWLOC_SYM_TRANSFORM], [0])], [AC_DEFINE([HWLOC_SYM_TRANSFORM], [1])]) - # - # Define C flags - # - - # hwloc uses C99 style, so ensure that we can figure out which - # compiler flags will drive this. - hwloc_CC_save=$CC - hwloc_CFLAGS_save=$CFLAGS - AC_PROG_CC_C99 - AS_IF([test x"$ac_cv_prog_cc_c99" = xno], - [AC_WARN([C99 support is required by hwloc]) - $3], - [HWLOC_SETUP_CORE_AFTER_C99($1, $2, $3, $4)]) -]) - -dnl Same order of parameters form HWLOC-SETUP-CORE -AC_DEFUN([HWLOC_SETUP_CORE_AFTER_C99],[ - hwloc_CC_c99_flags=`echo $CC | sed -e "s;^$hwloc_CC_save;;"` - CC=$hwloc_CC_save - CFLAGS=$hwloc_CFLAGS_save - # GCC specifics. if test "x$GCC" = "xyes"; then HWLOC_GCC_CFLAGS="-Wall -Wmissing-prototypes -Wundef" @@ -559,7 +538,6 @@ AC_DEFUN([HWLOC_SETUP_CORE_AFTER_C99],[ # Setup HWLOC's C, CPP, and LD flags, and LIBS AC_SUBST(HWLOC_REQUIRES) - HWLOC_CFLAGS="$hwloc_CC_c99_flags $HWLOC_CFLAGS" AC_SUBST(HWLOC_CFLAGS) HWLOC_CPPFLAGS='-I$(HWLOC_top_srcdir)/include -I$(HWLOC_top_builddir)/include' AC_SUBST(HWLOC_CPPFLAGS) diff --git a/opal/mca/common/hwloc/hwloc/config/hwloc_check_attributes.m4 b/opal/mca/common/hwloc/hwloc/config/hwloc_check_attributes.m4 index 49041a8394..92dc6aecbb 100644 --- a/opal/mca/common/hwloc/hwloc/config/hwloc_check_attributes.m4 +++ b/opal/mca/common/hwloc/hwloc/config/hwloc_check_attributes.m4 @@ -10,9 +10,10 @@ # Copyright (c) 2004-2005 The Regents of the University of California. # All rights reserved. # and renamed for hwloc: -# Copyright (c) 2009 INRIA +# Copyright (c) 2009 INRIA. All rights reserved. # Copyright (c) 2009 Université Bordeaux 1 # Copyright (c) 2010 Cisco Systems, 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 are diff --git a/opal/mca/common/hwloc/hwloc/config/hwloc_check_visibility.m4 b/opal/mca/common/hwloc/hwloc/config/hwloc_check_visibility.m4 index 5220f0c260..151c0f8fbb 100644 --- a/opal/mca/common/hwloc/hwloc/config/hwloc_check_visibility.m4 +++ b/opal/mca/common/hwloc/hwloc/config/hwloc_check_visibility.m4 @@ -11,9 +11,10 @@ # All rights reserved. # Copyright (c) 2006-2007 Cisco Systems, Inc. All rights reserved. # and renamed for hwloc: -# Copyright (c) 2009 INRIA -# Copyright (c) 2009 Université Bordeaux 1 +# Copyright (c) 2009 INRIA. All rights reserved. +# Copyright (c) 2009-2010 Université Bordeaux 1 # Copyright (c) 2010 Cisco Systems, 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 are diff --git a/opal/mca/common/hwloc/hwloc/config/hwloc_get_version.sh b/opal/mca/common/hwloc/hwloc/config/hwloc_get_version.sh index eb60db0132..bff4b63d01 100755 --- a/opal/mca/common/hwloc/hwloc/config/hwloc_get_version.sh +++ b/opal/mca/common/hwloc/hwloc/config/hwloc_get_version.sh @@ -12,7 +12,7 @@ # University of Stuttgart. All rights reserved. # Copyright (c) 2004-2005 The Regents of the University of California. # All rights reserved. -# Copyright © 2008-2009 Cisco Systems, Inc. All rights reserved. +# Copyright © 2008-2010 Cisco Systems, Inc. All rights reserved. # $COPYRIGHT$ # # Additional copyrights may follow @@ -36,8 +36,8 @@ # prefix_MINOR_VERSION # prefix_RELEASE_VERSION # prefix_GREEK_VERSION -# prefix_WANT_SVN -# prefix_SVN_R +# prefix_WANT_REPO_REV +# prefix_REPO_REV # prefix_RELEASE_DATE @@ -48,10 +48,10 @@ option="$2" case "$option" in # svnversion can take a while to run. If we don't need it, don't run it. --major|--minor|--release|--greek|--base|--help) - ompi_ver_need_svn=0 + ompi_ver_need_repo_rev=0 ;; *) - ompi_ver_need_svn=1 + ompi_ver_need_repo_rev=1 esac @@ -59,7 +59,7 @@ if test -z "$srcfile"; then option="--help" else - : ${ompi_ver_need_svn=1} + : ${ompi_ver_need_repo_rev=1} : ${srcdir=.} : ${svnversion_result=-1} @@ -71,8 +71,8 @@ else s/^minor/HWLOC_MINOR_VERSION/ s/^release/HWLOC_RELEASE_VERSION/ s/^greek/HWLOC_GREEK_VERSION/ - s/^want_svn/HWLOC_WANT_SVN/ - s/^svn_r/HWLOC_SVN_R/ + s/^want_repo_rev/HWLOC_WANT_REPO_REV/ + s/^repo_rev/HWLOC_REPO_REV/ s/^date/HWLOC_RELEASE_DATE/ t print b @@ -89,23 +89,25 @@ else HWLOC_VERSION="${HWLOC_VERSION}${HWLOC_GREEK_VERSION}" HWLOC_BASE_VERSION=$HWLOC_VERSION - if test $HWLOC_WANT_SVN -eq 1 && test $ompi_ver_need_svn -eq 1 ; then + if test $HWLOC_WANT_REPO_REV -eq 1 && test $ompi_ver_need_repo_rev -eq 1 ; then if test "$svnversion_result" != "-1" ; then - HWLOC_SVN_R=$svnversion_result + HWLOC_REPO_REV=$svnversion_result fi - if test "$HWLOC_SVN_R" = "-1" ; then + if test "$HWLOC_REPO_REV" = "-1" ; then if test -d "$srcdir/.svn" ; then - HWLOC_SVN_R=r`svnversion "$srcdir"` + HWLOC_REPO_REV=r`svnversion "$srcdir"` elif test -d "$srcdir/.hg" ; then - HWLOC_SVN_R=hg`hg -v -R "$srcdir" tip | grep changeset | cut -d: -f3` + HWLOC_REPO_REV=hg`hg -v -R "$srcdir" tip | grep changeset | cut -d: -f3` + elif test -d "$srcdir/.git" ; then + HWLOC_REPO_REV=git`git log -1 "$srcdir" | grep commit | awk '{ print $2 }'` fi - if test "HWLOC_SVN_R" = ""; then - HWLOC_SVN_R=svn`date '+%m%d%Y'` + if test "HWLOC_REPO_REV" = ""; then + HWLOC_REPO_REV=date`date '+%m%d%Y'` fi fi - HWLOC_VERSION="${HWLOC_VERSION}${HWLOC_SVN_R}" + HWLOC_VERSION="${HWLOC_VERSION}${HWLOC_REPO_REV}" fi fi @@ -131,8 +133,8 @@ case "$option" in --greek) echo $HWLOC_GREEK_VERSION ;; - --svn) - echo $HWLOC_SVN_R + --repo-rev) + echo $HWLOC_REPO_REV ;; --base) echo $HWLOC_BASE_VERSION @@ -141,7 +143,7 @@ case "$option" in echo $HWLOC_RELEASE_DATE ;; --all) - echo ${HWLOC_VERSION} ${HWLOC_MAJOR_VERSION} ${HWLOC_MINOR_VERSION} ${HWLOC_RELEASE_VERSION} ${HWLOC_GREEK_VERSION} ${HWLOC_SVN_R} + echo ${HWLOC_VERSION} ${HWLOC_MAJOR_VERSION} ${HWLOC_MINOR_VERSION} ${HWLOC_RELEASE_VERSION} ${HWLOC_GREEK_VERSION} ${HWLOC_REPO_REV} ;; -h|--help) cat <