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

Reply via email to