Skip to content

Commit

Permalink
Merge 773c10b into 7c38aa3
Browse files Browse the repository at this point in the history
  • Loading branch information
garlick committed Sep 15, 2018
2 parents 7c38aa3 + 773c10b commit 6dfec98
Show file tree
Hide file tree
Showing 9 changed files with 26 additions and 647 deletions.
9 changes: 4 additions & 5 deletions .travis.yml
Expand Up @@ -9,15 +9,15 @@ matrix:
- compiler: clang
env: LUA_VERSION=5.1
- compiler: gcc
env: LUA_VERSION=5.1 COVERAGE=t ARGS="--with-flux-security --with-pmix --enable-caliper --enable-pylint"
env: LUA_VERSION=5.1 COVERAGE=t ARGS="--with-flux-security --enable-caliper --enable-pylint"
- compiler: gcc
env: LUA_VERSION=5.1 T_INSTALL=t
- compiler: clang
env: LUA_VERSION=5.1 CPPCHECK=t ARGS="--with-flux-security --with-pmix --enable-sanitizer" CC=clang-3.8 CXX=clang++-3.8
env: LUA_VERSION=5.1 CPPCHECK=t ARGS="--with-flux-security --enable-sanitizer" CC=clang-3.8 CXX=clang++-3.8
- compiler: gcc
env: LUA_VERSION=5.2 CC=gcc-8 CXX=g++-8 ARGS="--with-flux-security --with-pmix" chain_lint=t
env: LUA_VERSION=5.2 CC=gcc-8 CXX=g++-8 ARGS="--with-flux-security" chain_lint=t
- compiler: clang
env: LUA_VERSION=5.2 ARGS="--with-flux-security --with-pmix --enable-caliper" CC=clang-3.8 CXX=clang++-3.8
env: LUA_VERSION=5.2 ARGS="--with-flux-security --enable-caliper" CC=clang-3.8 CXX=clang++-3.8

cache:
directories:
Expand Down Expand Up @@ -47,7 +47,6 @@ addons:
- valgrind
- libyaml-cpp-dev
- libboost-dev # for yaml-cpp 0.5.1. >=0.5.2 no longer need boost
- libevent-dev # pmix needs this

coverity_scan:
project:
Expand Down
21 changes: 21 additions & 0 deletions README.md
Expand Up @@ -129,3 +129,24 @@ Common commands from flux-core:

Most of these have UNIX manual pages as `flux-<sub-command>(1)`,
which can also be accessed using `./flux help <sub-command>`.

#### A note about PMI

When flux is launched, it requires PMI-1 in order to bootstrap.
It can use PMI-1 in one of two ways, by inheriting a file descriptor
via the `PMI_FD` environment variable, or by dlopening a PMI library.
The library name is `libpmi.so`, unless overridden by the `PMI_LIBRARY`
environment variable. If a PMI library is not found, flux falls back
to "singleton" operation, where each broker is an independent flux instance.
The PMI bootstrap may be traced by setting the `FLUX_PMI_DEBUG` environment
variable.

When flux launches flux or an MPI job, it provides PMI-1 to bootstrap the
MPI's runtime. It offers a PMI server and sets the `PMI_FD` environment
variable to point to an open file descriptor connected to it. It also offers
a `libpmi.so` library that can be dlopened.

If your system process manager uses PMIx, the `libpmi.so` compatibility library
provided by the PMIx project should be sufficient to bootstrap flux.
If your version of PMIx was not built with the compatibility libraries
installed, you may build libpmix as a separate package to get them installed.
16 changes: 0 additions & 16 deletions config/x_ac_pmix.m4

This file was deleted.

1 change: 0 additions & 1 deletion configure.ac
Expand Up @@ -202,7 +202,6 @@ X_AC_JANSSON
X_AC_YAMLCPP
PKG_CHECK_MODULES([HWLOC], [hwloc >= 1.11.1], [], [])
PKG_CHECK_MODULES([SQLITE], [sqlite3], [], [])
X_AC_PMIX
LX_FIND_MPI
AM_CONDITIONAL([HAVE_MPI], [test "$have_C_mpi" = yes])
AX_VALGRIND_H
Expand Down
8 changes: 1 addition & 7 deletions src/common/libpmi/Makefile.am
Expand Up @@ -32,12 +32,6 @@ libpmi_la_SOURCES = \
clique.h \
pmi_operations.h

if HAVE_LIBPMIX
libpmi_la_SOURCES += \
pmix_client.c \
pmix_client.h
endif

fluxinclude_HEADERS = \
pmi.h \
pmi2.h
Expand All @@ -56,7 +50,7 @@ test_ldadd = \
$(top_builddir)/src/common/liblsd/liblsd.la \
$(top_builddir)/src/common/libev/libev.la \
$(ZMQ_LIBS) $(JANSSON_LIBS) $(LIBPTHREAD) \
$(LIBRT) $(LIBDL) $(LIBMUNGE) $(LIBPMIX)
$(LIBRT) $(LIBDL) $(LIBMUNGE)

test_cppflags = \
-I$(top_srcdir)/src/common/libtap \
Expand Down
10 changes: 0 additions & 10 deletions src/common/libpmi/pmi.c
Expand Up @@ -35,7 +35,6 @@
#include "pmi.h"
#include "pmi_strerror.h"
#include "simple_client.h"
#include "pmix_client.h"
#include "wrap.h"
#include "single.h"
#include "clique.h"
Expand Down Expand Up @@ -82,15 +81,6 @@ int PMI_Init (int *spawned)
if (!(ctx.impl = pmi_simple_client_create (&ctx.ops)))
goto done;
}
#if HAVE_LIBPMIX
/* If PMIX_SERVER_* is set, pmix service is offered.
* Use the pmix client.
*/
else if (getenv ("PMIX_SERVER_URI") || getenv ("PMIX_SERVER_URI2")) {
if (!(ctx.impl = pmix_client_create (&ctx.ops)))
goto done;
}
#endif
/* If PMI_LIBRARY is set, we are directed to open a specific library.
*/
else if ((library = getenv ("PMI_LIBRARY"))) {
Expand Down

0 comments on commit 6dfec98

Please sign in to comment.