Bring Slurm PMI-1 component online
Bring the s2 component online
Little cleanup - let the various PMIx modules set the process name during init, and then just raise it up to the ORTE level. Required as the different PMI environments all pass the jobid in different ways.
Bring the OMPI pubsub/pmi component online
Get comm_spawn working again
Ensure we always provide a cpuset, even if it is NULL
pmix/cray: adjust cray pmix component for pmix
Make changes so cray pmix can work within the integrated
ompi/pmix framework.
Bring singletons back online. Implement the comm_spawn operation using pmix - not tested yet
Cleanup comm_spawn - procs now starting, error in connect_accept
Complete integration
WRAPPER_EXTRA_LDFLAGS is both no longer used, and even if we fixed to
use the new names (i.e., <PACKAGE>_WRAPPER_EXTRA_LDFLAGS), it contains
a token that will not be understandable in Makefile.ams: @{libdir}.
Hence, update all instances to use <PACKAGE>_PKG_CONFIG_LDFLAGS, which
does not contain the @{libdir} token. See comment in
opal_setup_wrappers.m4 for an explanation.
On some OSs (e.g., Ubuntu 14.04.2 LTS), the linker is configured such
that the symbols of library dependencies are not available to the
application. Hence, we need to explicitly list such dependencies when
creating the executable.
For this commit, these tests are use OPAL function calls, so we must
explicitly link in libopen-pal.so.
PGI was failing to build this test due to the {} initializers of some
of the global variables. The initializers were added to remove common
symbols from the test repository. This commit removes the initializers
and makes the variables static which should fix both the compile issue
and avoid the common symbols.
This commit additionally removes the check for
OPAL_ENABLE_MULTI_THREADS since Open MPI requires thread support.
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
This commit does two things. It removes checks for C99 required
headers (stdlib.h, string.h, signal.h, etc). Additionally it removes
definitions for required C99 types (intptr_t, int64_t, int32_t, etc).
Signed-off-by: Nathan Hjelm <hjelmn@me.com>
This test needs to be tweaked to not use MPI_Init (and only use
opal_init_util(), per #568). @ggouaillardet can't get to this until
next week sometime, so we're just temporarily disabling it for now.
Fixes#568
Use of the old ompi_free_list_t and ompi_free_list_item_t is
deprecated. These classes will be removed in a future commit.
This commit updates the entire code base to use opal_free_list_t and
opal_free_list_item_t.
Notes:
OMPI_FREE_LIST_*_MT -> opal_free_list_* (uses opal_using_threads ())
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
Many of these tests were failing due to opal_init() failing in some
cases (because the opal shmem framework needs installed components, so
"make distcheck" would fail these tests because the opal shmem
components were not installed). However, all of these tests seem to
be fine with opal_init_util() -- so let's re-enable these tests.
Now that "make check" siphons off stdout/stderr to logfiles, it's ok
to have output by default from tests. This test fails often enough
that it's useful to see the diagnostic output.
This commit adds a new class: opal_fifo.h. The new class has atomic, non-atomic,
and opal_using_threads() conditoned routines. It should be used when first-in
first-out is required and should perform much better than using locks and an
opal_list_t. Like with opal_lifo_t there are two versions of the atomic
implementation: 128-bit compare-and-swap, and spin-locked. More implementations
can be added later (LL/SC comes to mind).
This commit also adds a unit test for the opal_fifo_t class. This test verifies
the fifo implementation when using multiple threads.
- Rename opal_atomic_lifo_t to opal_lifo_t to reflect both atomic and
non-atomic usage. Added new routines (opal_lifo_*_st) for non-atomic
usage as well as routines conditioned off opal_using_threads(). The
atomic versions are always thread safe and the non-atomic are always
not thread safe.
- Add a new atomic lifo implementation that makes use of 128-bit
compare-and-swap. The new implementation should scale better with
larger numbers of threads.
- Add threading unit test for opal_lifo_t.