Perfect -- thanks! On Apr 15, 2014, at 11:36 AM, "Grant, Ryan Eric (-EXP)" <regr...@sandia.gov> wrote:
> Jeff, > > Ack, sorry. I've grouped the built-in atomics into a family 020x as > discussed. I've also got the built-ins renamed as OMPI_BULTIN_name. Commit > is coming up soon. > > --Ryan > > On 4/15/14 8:57 AM, "Jeff Squyres (jsquyres)" <jsquy...@cisco.com> wrote: > >> Ryan -- >> >> I'm getting build failures with this: >> >> ----- >> make[1]: Entering directory >> `/home/jsquyres/svn/ompi5/openmpi-1.9a1r31394M/_build/opal/asm' >> CC asm.lo >> In file included from ../../../opal/asm/asm.c:21: >> ../../../opal/include/opal/sys/atomic.h:144:7: error: invalid digit "8" >> in octal constant >> ../../../opal/include/opal/sys/atomic.h:146:7: error: invalid digit "8" >> in octal constant >> ----- >> >> The problem seems to be coming from a new #define you added: >> >> #define OMPI_NO_BUILTIN 0800 >> >> With the leading 0, it's being interpreted as octal, and therefore 8 is >> an invalid digit. >> >> From looking at the other values in that #define group, it's not clear to >> me if these are supposed to be bit flags or just unique values...? >> >> >> >> On Apr 15, 2014, at 9:17 AM, svn-commit-mai...@open-mpi.org wrote: >> >>> Author: regrant (Ryan Grant) >>> Date: 2014-04-15 09:17:04 EDT (Tue, 15 Apr 2014) >>> New Revision: 31393 >>> URL: https://svn.open-mpi.org/trac/ompi/changeset/31393 >>> >>> Log: >>> Fixing atomics selection issue, to be CMR'd after it passes the nightly >>> tests >>> >>> Text files modified: >>> trunk/config/opal_config_asm.m4 | 26 >>> ++++++++++++++++++-------- >>> trunk/opal/include/opal/sys/architecture.h | 1 + >>> >>> trunk/opal/include/opal/sys/atomic.h | 10 +++++----- >>> >>> 3 files changed, 24 insertions(+), 13 deletions(-) >>> >>> Modified: trunk/config/opal_config_asm.m4 >>> >>> ========================================================================= >>> ===== >>> --- trunk/config/opal_config_asm.m4 Tue Apr 15 03:23:39 2014 (r31392) >>> +++ trunk/config/opal_config_asm.m4 2014-04-15 09:17:04 EDT (Tue, 15 >>> Apr 2014) (r31393) >>> @@ -766,14 +766,17 @@ >>> [Enable use of OSX builtin atomics (default: disabled)])]) >>> >>> if test "$enable_builtin_atomics" = "yes" ; then >>> - OPAL_CHECK_SYNC_BUILTINS([ompi_cv_asm_arch="SYNC_BUILTIN"], >>> + OPAL_CHECK_SYNC_BUILTINS([ompi_cv_asm_builtin="SYNC_BUILTIN"], >>> [AC_MSG_ERROR([__sync builtin atomics requested but not >>> found.])]) >>> AC_DEFINE([OPAL_C_GCC_INLINE_ASSEMBLY], [1], >>> [Whether C compiler supports GCC style inline assembly]) >>> elif test "$enable_osx_builtin_atomics" = "yes" ; then >>> - AC_CHECK_HEADER([libkern/OSAtomic.h],[ompi_cv_asm_arch="OSX_BUILTIN"], >>> + >>> AC_CHECK_HEADER([libkern/OSAtomic.h],[ompi_cv_asm_builtin="OSX_BUILTIN"], >>> [AC_MSG_ERROR([OSX builtin atomics requested but not found.])]) >>> else >>> + ompi_cv_asm_builtin="NO_BUILTIN" >>> + fi >>> + >>> OMPI_CHECK_ASM_PROC >>> OMPI_CHECK_ASM_TEXT >>> OMPI_CHECK_ASM_GLOBAL >>> @@ -898,12 +901,12 @@ >>> ;; >>> >>> *) >>> - OPAL_CHECK_SYNC_BUILTINS([ompi_cv_asm_arch="SYNC_BUILTIN"], >>> + >>> OPAL_CHECK_SYNC_BUILTINS([ompi_cv_asm_builtin="SYNC_BUILTIN"], >>> [AC_MSG_ERROR([No atomic primitives available for >>> $host])]) >>> ;; >>> esac >>> >>> - if test "$ompi_cv_asm_arch" = "SYNC_BUILTIN" ; then >>> + if test "$ompi_cv_asm_builtin" = "SYNC_BUILTIN" ; then >>> AC_DEFINE([OPAL_C_GCC_INLINE_ASSEMBLY], [1], >>> [Whether C compiler supports GCC style inline assembly]) >>> else >>> @@ -954,17 +957,24 @@ >>> AC_DEFINE_UNQUOTED([OPAL_ASSEMBLY_FORMAT], >>> ["$OPAL_ASSEMBLY_FORMAT"], >>> [Format of assembly file]) >>> AC_SUBST([OPAL_ASSEMBLY_FORMAT]) >>> - fi # if ompi_cv_asm_arch = SYNC_BUILTIN >>> - fi # if cv_c_compiler_vendor = microsoft >>> + fi # if ompi_cv_asm_builtin = SYNC_BUILTIN >>> >>> result="OMPI_$ompi_cv_asm_arch" >>> OPAL_ASSEMBLY_ARCH="$ompi_cv_asm_arch" >>> AC_MSG_CHECKING([for asssembly architecture]) >>> AC_MSG_RESULT([$ompi_cv_asm_arch]) >>> AC_DEFINE_UNQUOTED([OPAL_ASSEMBLY_ARCH], [$result], >>> - [Architecture type of assembly to use for atomic operations]) >>> + [Architecture type of assembly to use for atomic operations >>> and CMA]) >>> AC_SUBST([OPAL_ASSEMBLY_ARCH]) >>> >>> + result="OMPI_$ompi_cv_asm_builtin" >>> + OPAL_ASSEMBLY_BUILTIN="$ompi_cv_asm_builtin" >>> + AC_MSG_CHECKING([for builtin atomics]) >>> + AC_MSG_RESULT([$ompi_cv_asm_builtin]) >>> + AC_DEFINE_UNQUOTED([OPAL_ASSEMBLY_BUILTIN], [$result], >>> + [Whether to use builtin atomics]) >>> + AC_SUBST([OPAL_ASSEMBLY_BUILTIN]) >>> + >>> OMPI_ASM_FIND_FILE >>> >>> unset result asm_format >>> @@ -983,7 +993,7 @@ >>> AC_REQUIRE([AC_PROG_GREP]) >>> AC_REQUIRE([AC_PROG_FGREP]) >>> >>> -if test "$ompi_cv_asm_arch" != "WINDOWS" -a "$ompi_cv_asm_arch" != >>> "SYNC_BUILTIN" -a "$ompi_cv_asm_arch" != "OSX_BUILTIN" ; then >>> +if test "$ompi_cv_asm_arch" != "WINDOWS" -a "$ompi_cv_asm_builtin" != >>> "SYNC_BUILTIN" -a "$ompi_cv_asm_builtin" != "OSX_BUILTIN" ; then >>> AC_CHECK_PROG([PERL], [perl], [perl]) >>> >>> # see if we have a pre-built one already >>> >>> Modified: trunk/opal/include/opal/sys/architecture.h >>> >>> ========================================================================= >>> ===== >>> --- trunk/opal/include/opal/sys/architecture.h Tue Apr 15 03:23:39 >>> 2014 (r31392) >>> +++ trunk/opal/include/opal/sys/architecture.h 2014-04-15 09:17:04 EDT >>> (Tue, 15 Apr 2014) (r31393) >>> @@ -39,6 +39,7 @@ >>> #define OMPI_ARM 0100 >>> #define OMPI_SYNC_BUILTIN 0200 >>> #define OMPI_OSX_BUILTIN 0400 >>> +#define OMPI_NO_BUILTIN 0800 >>> >>> /* Formats */ >>> #define OMPI_DEFAULT 1000 /* standard for given architecture */ >>> >>> Modified: trunk/opal/include/opal/sys/atomic.h >>> >>> ========================================================================= >>> ===== >>> --- trunk/opal/include/opal/sys/atomic.h Tue Apr 15 03:23:39 >>> 2014 (r31392) >>> +++ trunk/opal/include/opal/sys/atomic.h 2014-04-15 09:17:04 EDT (Tue, >>> 15 Apr 2014) (r31393) >>> @@ -136,9 +136,13 @@ >>> * Load the appropriate architecture files and set some reasonable >>> * default values for our support >>> * >>> - *********************************************************************/ >>> + >>> *********************************************************************/ >>> #if defined(DOXYGEN) >>> /* don't include system-level gorp when generating doxygen files */ >>> +#elif OPAL_ASSEMBLY_BUILTIN == OMPI_SYNC_BUILTIN >>> +#include "opal/sys/sync_builtin/atomic.h" >>> +#elif OPAL_ASSEMBLY_BUILTIN == OMPI_OSX_BUILTIN >>> +#include "opal/sys/osx/atomic.h" >>> #elif OPAL_ASSEMBLY_ARCH == OMPI_ALPHA >>> #include "opal/sys/alpha/atomic.h" >>> #elif OPAL_ASSEMBLY_ARCH == OMPI_AMD64 >>> @@ -161,10 +165,6 @@ >>> #include "opal/sys/sparcv9/atomic.h" >>> #elif OPAL_ASSEMBLY_ARCH == OMPI_SPARCV9_64 >>> #include "opal/sys/sparcv9/atomic.h" >>> -#elif OPAL_ASSEMBLY_ARCH == OMPI_SYNC_BUILTIN >>> -#include "opal/sys/sync_builtin/atomic.h" >>> -#elif OPAL_ASSEMBLY_ARCH == OMPI_OSX_BUILTIN >>> -#include "opal/sys/osx/atomic.h" >>> #endif >>> >>> #ifndef DOXYGEN >>> _______________________________________________ >>> svn-full mailing list >>> svn-f...@open-mpi.org >>> http://www.open-mpi.org/mailman/listinfo.cgi/svn-full >> >> >> -- >> Jeff Squyres >> jsquy...@cisco.com >> For corporate legal information go to: >> http://www.cisco.com/web/about/doing_business/legal/cri/ >> >> _______________________________________________ >> devel mailing list >> de...@open-mpi.org >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >> Link to this post: >> http://www.open-mpi.org/community/lists/devel/2014/04/14529.php > > _______________________________________________ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/04/14530.php -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/