Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions opal/mca/pmix/pmix2x/pmix/VERSION
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ greek=
# command, or with the date (if "git describe" fails) in the form of
# "date<date>".

repo_rev=git59f8ecb
repo_rev=gite38cd0a

# If tarball_version is not empty, it is used as the version string in
# the tarball filename, regardless of all other versions listed in
Expand All @@ -44,7 +44,7 @@ tarball_version=

# The date when this release was created

date="Jul 21, 2017"
date="Aug 10, 2017"

# The shared library version of each of PMIx's public libraries.
# These versions are maintained in accordance with the "Library
Expand Down
20 changes: 0 additions & 20 deletions opal/mca/pmix/pmix2x/pmix/config/pmix.m4
Original file line number Diff line number Diff line change
Expand Up @@ -757,7 +757,6 @@ AC_DEFUN([PMIX_SETUP_CORE],[
pmix_config_prefix[Makefile]
pmix_config_prefix[config/Makefile]
pmix_config_prefix[include/Makefile]
pmix_config_prefix[src/atomics/asm/Makefile]
pmix_config_prefix[src/Makefile]
pmix_config_prefix[src/util/keyval/Makefile]
pmix_config_prefix[src/mca/base/Makefile]
Expand Down Expand Up @@ -937,25 +936,6 @@ AC_DEFINE_UNQUOTED([PMIX_WANT_PRETTY_PRINT_STACKTRACE],
[$WANT_PRETTY_PRINT_STACKTRACE],
[if want pretty-print stack trace feature])

#
# Do we want the shared memory datastore usage?
#

AC_MSG_CHECKING([if want shared memory datastore])
AC_ARG_ENABLE([dstore],
[AC_HELP_STRING([--disable-dstore],
[Using shared memory datastore (default: enabled)])])
if test "$enable_dstore" = "no" ; then
AC_MSG_RESULT([no])
WANT_DSTORE=0
else
AC_MSG_RESULT([yes])
WANT_DSTORE=1
fi
AC_DEFINE_UNQUOTED([PMIX_ENABLE_DSTORE],
[$WANT_DSTORE],
[if want shared memory dstore feature])

#
# Use pthread-based locking
#
Expand Down
3 changes: 1 addition & 2 deletions opal/mca/pmix/pmix2x/pmix/config/pmix_check_lock.m4
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ AC_DEFUN([PMIX_CHECK_DSTOR_LOCK],[
if test "$_x_ac_fcntl_lock_found" = "0"; then
AC_MSG_ERROR([dstore: no available locking mechanisms was found. Can not continue. Try disabling dstore])
fi
LIBS="$orig_libs"
fi

LIBS="$orig_libs"
])
3 changes: 2 additions & 1 deletion opal/mca/pmix/pmix2x/pmix/config/pmix_check_visibility.m4
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
# All rights reserved.
# Copyright (c) 2006-2015 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2009-2011 Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2017 Intel, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
Expand Down Expand Up @@ -86,7 +87,7 @@ AC_DEFUN([PMIX_CHECK_VISIBILITY],[
unset pmix_add
fi

AC_DEFINE_UNQUOTED([PMIX_C_HAVE_VISIBILITY], [$WANT_VISIBILITY],
AC_DEFINE_UNQUOTED([PMIX_HAVE_VISIBILITY], [$WANT_VISIBILITY],
[Whether C compiler supports symbol visibility or not])
AM_CONDITIONAL([WANT_HIDDEN],[test "$WANT_VISIBILITY" = "1"])
])
156 changes: 23 additions & 133 deletions opal/mca/pmix/pmix2x/pmix/config/pmix_config_asm.m4
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ dnl Copyright (c) 2008-2015 Cisco Systems, Inc. All rights reserved.
dnl Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved.
dnl Copyright (c) 2015-2017 Research Organization for Information Science
dnl and Technology (RIST). All rights reserved.
dnl Copyright (c) 2014-2016 Los Alamos National Security, LLC. All rights
dnl Copyright (c) 2014-2017 Los Alamos National Security, LLC. All rights
dnl reserved.
dnl Copyright (c) 2017 Amazon.com, Inc. or its affiliates. All Rights
dnl reserved.
Expand Down Expand Up @@ -194,9 +194,15 @@ AC_DEFUN([PMIX_CHECK_GCC_BUILTIN_CSWAP_INT128], [
AC_DEFUN([PMIX_CHECK_GCC_ATOMIC_BUILTINS], [
AC_MSG_CHECKING([for __atomic builtin atomics])

AC_TRY_LINK([long tmp, old = 0;], [__atomic_thread_fence(__ATOMIC_SEQ_CST);
AC_TRY_LINK([
#include <stdint.h>
uint32_t tmp, old = 0;
uint64_t tmp64, old64 = 0;], [
__atomic_thread_fence(__ATOMIC_SEQ_CST);
__atomic_compare_exchange_n(&tmp, &old, 1, 0, __ATOMIC_RELAXED, __ATOMIC_RELAXED);
__atomic_add_fetch(&tmp, 1, __ATOMIC_RELAXED);],
__atomic_add_fetch(&tmp, 1, __ATOMIC_RELAXED);
__atomic_compare_exchange_n(&tmp64, &old64, 1, 0, __ATOMIC_RELAXED, __ATOMIC_RELAXED);
__atomic_add_fetch(&tmp64, 1, __ATOMIC_RELAXED);],
[AC_MSG_RESULT([yes])
$1],
[AC_MSG_RESULT([no])
Expand Down Expand Up @@ -879,6 +885,7 @@ return ret;

if test "$asm_result" = "yes" ; then
PMIX_C_GCC_INLINE_ASSEMBLY=1
pmix_cv_asm_inline_supported="yes"
else
PMIX_C_GCC_INLINE_ASSEMBLY=0
fi
Expand All @@ -890,70 +897,6 @@ return ret;
unset PMIX_C_GCC_INLINE_ASSEMBLY assembly asm_result
])dnl


dnl #################################################################
dnl
dnl PMIX_CHECK_INLINE_DEC
dnl
dnl DEFINE PMIX_DEC to 0 or 1 depending on DEC
dnl support
dnl
dnl #################################################################
AC_DEFUN([PMIX_CHECK_INLINE_C_DEC],[

AC_MSG_CHECKING([if $CC supports DEC inline assembly])

AC_LINK_IFELSE([AC_LANG_PROGRAM([
AC_INCLUDES_DEFAULT
#include <c_asm.h>],
[[asm("");
return 0;]])],
[asm_result="yes"], [asm_result="no"])

AC_MSG_RESULT([$asm_result])

if test "$asm_result" = "yes" ; then
PMIX_C_DEC_INLINE_ASSEMBLY=1
else
PMIX_C_DEC_INLINE_ASSEMBLY=0
fi

AC_DEFINE_UNQUOTED([PMIX_C_DEC_INLINE_ASSEMBLY],
[$PMIX_C_DEC_INLINE_ASSEMBLY],
[Whether C compiler supports DEC style inline assembly])

unset PMIX_C_DEC_INLINE_ASSEMBLY asm_result
])dnl


dnl #################################################################
dnl
dnl PMIX_CHECK_INLINE_XLC
dnl
dnl DEFINE PMIX_XLC to 0 or 1 depending on XLC
dnl support
dnl
dnl #################################################################
AC_DEFUN([PMIX_CHECK_INLINE_C_XLC],[

AC_MSG_CHECKING([if $CC supports XLC inline assembly])

PMIX_C_XLC_INLINE_ASSEMBLY=0
asm_result="no"
if test "$CC" = "xlc" ; then
PMIX_XLC_INLINE_ASSEMBLY=1
asm_result="yes"
fi

AC_MSG_RESULT([$asm_result])
AC_DEFINE_UNQUOTED([PMIX_C_XLC_INLINE_ASSEMBLY],
[$PMIX_C_XLC_INLINE_ASSEMBLY],
[Whether C compiler supports XLC style inline assembly])

unset PMIX_C_XLC_INLINE_ASSEMBLY
])dnl


dnl #################################################################
dnl
dnl PMIX_CONFIG_ASM
Expand All @@ -975,12 +918,12 @@ AC_DEFUN([PMIX_CONFIG_ASM],[
[], [enable_builtin_atomics="yes"])

pmix_cv_asm_builtin="BUILTIN_NO"
if test "$pmix_cv_asm_builtin" = "BUILTIN_NO" && test "$enable_builtin_atomics" = "yes" ; then
PMIX_CHECK_GCC_ATOMIC_BUILTINS([pmix_cv_asm_builtin="BUILTIN_GCC"], [])
fi
if test "$pmix_cv_asm_builtin" = "BUILTIN_NO" && test "$enable_builtin_atomics" = "yes" ; then
PMIX_CHECK_SYNC_BUILTINS([pmix_cv_asm_builtin="BUILTIN_SYNC"], [])
fi
AS_IF([test "$pmix_cv_asm_builtin" = "BUILTIN_NO" && test "$enable_builtin_atomics" != "no"],
[PMIX_CHECK_GCC_ATOMIC_BUILTINS([pmix_cv_asm_builtin="BUILTIN_GCC"], [])])
AS_IF([test "$pmix_cv_asm_builtin" = "BUILTIN_NO" && test "$enable_builtin_atomics" != "no"],
[PMIX_CHECK_SYNC_BUILTINS([pmix_cv_asm_builtin="BUILTIN_SYNC"], [])])
AS_IF([test "$pmix_cv_asm_builtin" = "BUILTIN_NO" && test "$enable_builtin_atomics" = "yes"],
[AC_MSG_WARN([__sync builtin atomics requested but not found - proceeding with inline atomics])])

PMIX_CHECK_ASM_PROC
PMIX_CHECK_ASM_TEXT
Expand Down Expand Up @@ -1084,17 +1027,19 @@ AC_DEFUN([PMIX_CONFIG_ASM],[
fi
PMIX_GCC_INLINE_ASSIGN='"1: li %0,0" : "=&r"(ret)'
;;

# There is no current difference between s390 and s390x
# But use two different defines in case some come later
# as s390 is 31bits while s390x is 64bits
s390-*)
pmix_cv_asm_arch="S390"
PMIX_CHECK_SYNC_BUILTINS([pmix_cv_asm_builtin="BUILTIN_SYNC"],
[AC_MSG_ERROR([No atomic primitives available for $host])])
;;
s390x-*)
pmix_cv_asm_arch="S390X"
PMIX_CHECK_SYNC_BUILTINS([pmix_cv_asm_builtin="BUILTIN_SYNC"],
[AC_MSG_ERROR([No atomic primitives available for $host])])
;;

sparc*-*)
# SPARC v9 (and above) are the only ones with 64bit support
# if compiling 32 bit, see if we are v9 (aka v8plus) or
Expand Down Expand Up @@ -1156,10 +1101,9 @@ AC_MSG_ERROR([Can not continue.])
;;
esac

pmix_cv_asm_inline_supported="no"
# now that we know our architecture, try to inline assemble
PMIX_CHECK_INLINE_C_GCC([$PMIX_GCC_INLINE_ASSIGN])
PMIX_CHECK_INLINE_C_DEC
PMIX_CHECK_INLINE_C_XLC

# format:
# config_file-text-global-label_suffix-gsym-lsym-type-size-align_log-ppc_r_reg-64_bit-gnu_stack
Expand Down Expand Up @@ -1244,64 +1188,10 @@ AC_DEFUN([PMIX_ASM_FIND_FILE], [
AC_REQUIRE([AC_PROG_GREP])
AC_REQUIRE([AC_PROG_FGREP])

if test "$pmix_cv_asm_arch" != "WINDOWS" && test "$pmix_cv_asm_builtin" != "BUILTIN_SYNC" && test "$pmix_cv_asm_builtin" != "BUILTIN_GCC" && test "$pmix_cv_asm_builtin" != "BUILTIN_OSX" ; then
# see if we have a pre-built one already
AC_MSG_CHECKING([for pre-built assembly file])
pmix_cv_asm_file=""
if $GREP "$pmix_cv_asm_arch" "${PMIX_TOP_SRCDIR}/src/atomics/asm/asm-data.txt" | $FGREP "$pmix_cv_asm_format" >conftest.out 2>&1 ; then
pmix_cv_asm_file="`cut -f3 conftest.out`"
if test ! "$pmix_cv_asm_file" = "" ; then
pmix_cv_asm_file="atomic-${pmix_cv_asm_file}.s"
if test -f "${PMIX_TOP_SRCDIR}/src/atomics/asm/generated/${pmix_cv_asm_file}" ; then
AC_MSG_RESULT([yes ($pmix_cv_asm_file)])
else
AC_MSG_RESULT([no ($pmix_cv_asm_file not found)])
pmix_cv_asm_file=""
fi
fi
else
AC_MSG_RESULT([no (not in asm-data)])
fi
rm -rf conftest.*

if test "$pmix_cv_asm_file" = "" ; then
# Can we generate a file?
AC_MSG_CHECKING([whether possible to generate assembly file])
mkdir -p pmix/asm/generated
pmix_cv_asm_file="atomic-local.s"
pmix_try='$PERL $PMIX_TOP_SRCDIR/src/atomics/asm/generate-asm.pl $pmix_cv_asm_arch "$pmix_cv_asm_format" $PMIX_TOP_SRCDIR/src/atomics/asm/base $PMIX_TOP_BUILDDIR/src/atomics/asm/generated/$pmix_cv_asm_file >conftest.out 2>&1'
if AC_TRY_EVAL(pmix_try) ; then
# save the warnings
cat conftest.out >&AC_FD_CC
AC_MSG_RESULT([yes])
else
# save output
cat conftest.out >&AC_FD_CC
pmix_cv_asm_file=""
AC_MSG_RESULT([failed])
AC_MSG_WARN([Could not build atomic operations assembly file.])
AC_MSG_WARN([There will be no atomic operations for this build.])
fi
fi
rm -rf conftest.*
if test "$pmix_cv_asm_arch" != "WINDOWS" && test "$pmix_cv_asm_builtin" != "BUILTIN_SYNC" && test "$pmix_cv_asm_builtin" != "BUILTIN_GCC" && test "$pmix_cv_asm_builtin" != "BUILTIN_OSX" && test "$pmix_cv_asm_inline_arch" = "no" ; then
AC_MSG_ERROR([no atomic support available. exiting])
else
# On windows with VC++, atomics are done with compiler primitives
pmix_cv_asm_file=""
fi

AC_MSG_CHECKING([for atomic assembly filename])
if test "$pmix_cv_asm_file" = "" ; then
AC_MSG_RESULT([none])
result=0
else
AC_MSG_RESULT([$pmix_cv_asm_file])
result=1
fi

AC_DEFINE_UNQUOTED([PMIX_HAVE_ASM_FILE], [$result],
[Whether there is an atomic assembly file available])
AM_CONDITIONAL([PMIX_HAVE_ASM_FILE], [test "$result" = "1"])

PMIX_ASM_FILE=$pmix_cv_asm_file
AC_SUBST(PMIX_ASM_FILE)
])dnl
Loading