Skip to content

Update to pmix v2.0beta #3585

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 26, 2017
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=git198a2b0
repo_rev=git217c369

# 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="Apr 12, 2017"
date="May 25, 2017"

# The shared library version of each of PMIx's public libraries.
# These versions are maintained in accordance with the "Library
Expand Down
6 changes: 3 additions & 3 deletions opal/mca/pmix/pmix2x/pmix/autogen.pl
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2013 Mellanox Technologies, Inc.
# All rights reserved.
# Copyright (c) 2013-2016 Intel, Inc. All rights reserved.
# Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
# Copyright (c) 2015 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# Copyright (c) 2015 IBM Corporation. All rights reserved.
Expand Down Expand Up @@ -55,9 +55,9 @@
my $exclude_list;

# Minimum versions
my $pmix_automake_version = "1.12.2";
my $pmix_automake_version = "1.15.0";
my $pmix_autoconf_version = "2.69";
my $pmix_libtool_version = "2.4.2";
my $pmix_libtool_version = "2.4.6";

# Search paths
my $pmix_autoconf_search = "autoconf";
Expand Down
48 changes: 42 additions & 6 deletions opal/mca/pmix/pmix2x/pmix/config/pmix.m4
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,8 @@ AC_DEFUN([PMIX_SETUP_CORE],[
AC_CHECK_TYPES(uint32_t)
AC_CHECK_TYPES(int64_t)
AC_CHECK_TYPES(uint64_t)
AC_CHECK_TYPES(__int128)
AC_CHECK_TYPES(uint128_t)
AC_CHECK_TYPES(long long)

AC_CHECK_TYPES(intptr_t)
Expand Down Expand Up @@ -302,6 +304,17 @@ AC_DEFUN([PMIX_SETUP_CORE],[
PMIX_CHECK_ATTRIBUTES
PMIX_CHECK_COMPILER_VERSION_ID

##################################
# Assembler Configuration
##################################

pmix_show_subtitle "Assembler"

AM_PROG_AS
AC_PATH_PROG(PERL, perl, perl)
PMIX_CONFIG_ASM


##################################
# Header files
##################################
Expand Down Expand Up @@ -618,6 +631,28 @@ AC_DEFUN([PMIX_SETUP_CORE],[
AC_C_BIGENDIAN
PMIX_CHECK_BROKEN_QSORT

#
# Check out what thread support we have
#
PMIX_CONFIG_THREADS

CFLAGS="$CFLAGS $THREAD_CFLAGS"
CPPFLAGS="$CPPFLAGS $THREAD_CPPFLAGS"
CXXFLAGS="$CXXFLAGS $THREAD_CXXFLAGS"
CXXCPPFLAGS="$CXXCPPFLAGS $THREAD_CXXCPPFLAGS"
LDFLAGS="$LDFLAGS $THREAD_LDFLAGS"
LIBS="$LIBS $THREAD_LIBS"

#
# What is the local equivalent of "ln -s"
#

AC_PROG_LN_S

AC_PROG_GREP
AC_PROG_EGREP


##################################
# Visibility
##################################
Expand Down Expand Up @@ -708,6 +743,7 @@ 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 @@ -983,15 +1019,15 @@ fi
# Install backward compatibility support for PMI-1 and PMI-2
#
AC_MSG_CHECKING([if want backward compatibility for PMI-1 and PMI-2])
AC_ARG_ENABLE(pmix-backward-compatibility,
AC_HELP_STRING([--enable-pmix-backward-compatibility],
AC_ARG_ENABLE(pmi-backward-compatibility,
AC_HELP_STRING([--enable-pmi-backward-compatibility],
[enable PMIx support for PMI-1 and PMI-2 (default: enabled)]))
if test "$enable_pmix_backward_compatibility" = "no"; then
if test "$enable_pmi_backward_compatibility" = "no"; then
AC_MSG_RESULT([no])
WANT_PMIX_BACKWARD=0
WANT_PMI_BACKWARD=0
else
AC_MSG_RESULT([yes])
WANT_PMIX_BACKWARD=1
WANT_PMI_BACKWARD=1
fi

AM_CONDITIONAL([WANT_INSTALL_HEADERS], [test $WANT_INSTALL_HEADERS -eq 1])
Expand All @@ -1009,7 +1045,7 @@ AC_DEFUN([PMIX_DO_AM_CONDITIONALS],[
AM_CONDITIONAL([WANT_DSTORE], [test "x$enable_dstore" != "xno"])
AM_CONDITIONAL([WANT_PRIMARY_HEADERS], [test "x$pmix_install_primary_headers" = "xyes"])
AM_CONDITIONAL(WANT_INSTALL_HEADERS, test "$WANT_INSTALL_HEADERS" = 1)
AM_CONDITIONAL(WANT_PMIX_BACKWARD, test "$WANT_PMIX_BACKWARD" = 1)
AM_CONDITIONAL(WANT_PMI_BACKWARD, test "$WANT_PMI_BACKWARD" = 1)
])
pmix_did_am_conditionals=yes
])dnl
109 changes: 109 additions & 0 deletions opal/mca/pmix/pmix2x/pmix/config/pmix_check_pthread_pids.m4
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
dnl
dnl Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
dnl University Research and Technology
dnl Corporation. All rights reserved.
dnl Copyright (c) 2004-2005 The University of Tennessee and The University
dnl of Tennessee Research Foundation. All rights
dnl reserved.
dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
dnl University of Stuttgart. All rights reserved.
dnl Copyright (c) 2004-2005 The Regents of the University of California.
dnl All rights reserved.
dnl Copyright (c) 2008-2013 Cisco Systems, Inc. All rights reserved.
dnl Copyright (c) 2017 Intel, Inc. All rights reserved.
dnl $COPYRIGHT$
dnl
dnl Additional copyrights may follow
dnl
dnl $HEADER$
dnl

AC_DEFUN([PMIX_CHECK_PTHREAD_PIDS],[
#
# Arguments: none
#
# Dependencies: None
#
# Sets:
# PMIX_THREADS_HAVE_DIFFERENT_PIDS (variable)
#
# Test for Linux-like threads in the system. PMIX does not support
# systems with different PIDs for threads in the same process, so error
# out if we detect that case.
#

AC_MSG_CHECKING([if threads have different pids (pthreads on linux)])

PMIX_VAR_SCOPE_PUSH([tpids_CFLAGS_save tpids_CPPFLAGS_save tpids_LDFLAGS_save tpids_LIBS_save tpids_MSG])
tpids_CFLAGS_save="$CFLAGS"
CFLAGS="$CFLAGS $THREAD_CFLAGS"
tpids_CPPFLAGS_save="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $THREAD_CPPFLAGS"
tpids_LDFLAGS_save="$LDFLAGS"
LDFLAGS="$LDFLAGS $THREAD_LDFLAGS"
tpids_LIBS_save="$LIBS"
LIBS="$LIBS $THREAD_LIBS"
AC_RUN_IFELSE([AC_LANG_SOURCE([#include <pthread.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>

void *checkpid(void *arg);
int main() {
pthread_t thr;
int pid, *retval;
pid = getpid();
pthread_create(&thr, NULL, checkpid, &pid);
pthread_join(thr, (void **) &retval);
exit(*retval);
}

static int ret;
void *checkpid(void *arg) {
int ppid = *((int *) arg);
if (ppid == getpid())
ret = 0;
else
ret = 1;
pthread_exit((void *) &ret);
}])],
[tpids_MSG=no PMIX_THREADS_HAVE_DIFFERENT_PIDS=0],
[tpids_MSG=yes PMIX_THREADS_HAVE_DIFFERENT_PIDS=1],
[
# If we're cross compiling, we can't do another AC_* function here beause
# it we haven't displayed the result from the last one yet. So defer
# another test until below.
PMIX_THREADS_HAVE_DIFFERENT_PIDS=
MSG="cross compiling (need another test)"])

CFLAGS="$tpids_CFLAGS_save"
CPPFLAGS="$tpids_CPPFLAGS_save"
LDFLAGS="$tpids_LDFLAGS_save"
LIBS="$tpids_LIBS_save"

AC_MSG_RESULT([$tpids_MSG])

AS_IF([test "x$PMIX_THREADS_HAVE_DIFFERENT_PIDS" = "x"],
[ # If we are cross-compiling, look for the symbol
# __linuxthreads_create_event, which seems to only exist in the
# Linux Threads-based pthreads implementation (i.e., the one
# that has different PIDs for each thread). We *could* switch
# on $host here and only test *linux* hosts, but this test is
# pretty unique, so why bother? Note that AC_CHECK_FUNC works
# properly in cross-compiling environments in recent-enough
# versions of Autoconf (which is one of the reasons we mandate
# recent versions in autogen!).
AC_CHECK_FUNC([__linuxthreads_create_event],
[PMIX_THREADS_HAVE_DIFFERENT_PIDS=1])])

AS_IF([test "$PMIX_THREADS_HAVE_DIFFERENT_PIDS" = "1"],
[AC_MSG_WARN([This version of PMIx only supports environments where])
AC_MSG_WARN([threads have the same PID])
AC_MSG_ERROR([Cannot continue])
])

#
# if pthreads is not available, then the system does not have an insane threads
# model
#
PMIX_VAR_SCOPE_POP])dnl
Loading