1
1
Граф коммитов

21431 Коммитов

Автор SHA1 Сообщение Дата
Nathan Hjelm
20c6eb5237 Rename opal_atomic_lifo_t to opal_lifo_t and improve interface
- 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.
2014-12-04 15:30:02 -07:00
Nathan Hjelm
a0083ceab4 Adjust cmpxchg16b clobber list 2014-12-04 15:29:28 -07:00
Nathan Hjelm
077f4a2982 Merge pull request #297 from hjelmn/topic/cmpset128
Add support for 128-bit compare and swap on x86_64 when available.
2014-12-04 16:05:13 -06:00
Nathan Hjelm
0efe6baf64 Add check for -mcx16 flag for 128-bit compare and swap
Some versions of gcc require this flag to be set before the __sync
builtin atomic compare and swap will support 128-bit values. If the
flag is required this check adds the flag to the CFLAGS.
2014-12-04 14:25:53 -07:00
Ralph Castain
c4fd6d1cde Fix typo 2014-12-04 12:24:35 -08:00
Ralph Castain
c4002a8485 Further cleanups on the LSF integration - the affinity file is apparently always present, but simply empty if affinity wasn't set. 2014-12-04 12:24:35 -08:00
Howard Pritchard
dc311e3a4b minor ugni config cleanup 2014-12-04 12:16:55 -07:00
Howard Pritchard
53dd5b6379 minor cray pmi config cleanup 2014-12-04 11:04:02 -07:00
Nathan Hjelm
fe787512d8 Add support for __sync builtin compare and swap on 128-bit values 2014-12-04 09:23:51 -07:00
Nathan Hjelm
250f749602 Fix return type of opal_atomic_cmpset_128.
The return type will be opal_int128_t after the fetching atomics
changes but for now it is int.
2014-12-04 09:23:51 -07:00
Nathan Hjelm
b1632dfb3c Define opal_int128_t type if a 128-bit integer is available.
There currently is no standard support for 128-bit integer types. Any use
of the __int128 and int128_t types can lead to warnings from the compiler
when using -Wpedantic. Additionally, some compilers may support __int128
and other may support int128_t. This commit addresses both issues by
defining opal_int128_t if there is a supported 128-bit type. In the
case of GCC a pragma has been added to suppress warnings about __int128
not being a standard C type.
2014-12-04 09:23:51 -07:00
Nathan Hjelm
b2b58b31a2 Add support for 128-bit compare and swap on x86_64 when available.
A 128-bit compare-and-swap will enable a better atomic lifo implementation
that uses the pointer + counter method to avoid ABA issues. This commit
adds configury to check for the instruction (cmpxchg16b) and adds an
implementation that uses the __int128 type available in C99.
2014-12-04 08:53:28 -07:00
Jeff Squyres
a71b5dd5c7 debuggers: update warning messages when types not found
Fixes #302.
2014-12-04 03:01:51 -08:00
George Bosilca
04a4cbd77a Fix the clock_gettime monotonic timer. Thanks to Gilles for the
first sketch of the patch.
2014-12-04 00:20:56 -05:00
Ralph Castain
c88f181efe Fix singleton comm-spawn, yet again. The new grpcomm collectives require a complete knowledge of every active proc in the system in case they participate in a collective. So ensure we pass the required job info when we spawn new daemons, and construct the necessary connections to allow grpcomm to operate. 2014-12-03 18:11:17 -08:00
Jeff Squyres
983bd49f11 opal_timer_require_monotinic: change to bool / level 5 2014-12-03 17:09:43 -08:00
Jeff Squyres
1dd68d48a8 MPI_Wtime.3: give further explanation about high-res timers 2014-12-03 17:07:42 -08:00
Jeff Squyres
8880b070b8 Merge pull request #295 from jsquyres/topic/bosilca-accurate-timers
Topic/bosilca accurate timers
2014-12-03 19:46:14 -05:00
Jeff Squyres
cf35e0c28c timers: fix 32 bit compile of timer 2014-12-03 16:43:33 -08:00
Howard Pritchard
c67afadcfc Merge pull request #289 from hppritcha/topic/remove_pmi
Topic/remove pmi
2014-12-03 16:58:35 -07:00
Nathan Hjelm
f989fe27b8 btl/vader: workaround to make jenkins happy 2014-12-03 15:51:58 -07:00
rhc54
148c5d8b27 Merge pull request #303 from jsquyres/pr/more-lsf-configury-fixes
Wrapper compiler static library fixes
2014-12-03 14:47:40 -08:00
Jeff Squyres
4e8ea6f716 tm: add proper libraries for static builds
Ensure to set the proper WRAPPER_EXTRA flags for static builds.
2014-12-03 13:32:56 -08:00
Jeff Squyres
a3af7d6dbb Revert "lsf configury: add dependent libraries for static linking"
This reverts commit 56cfa90dda.
2014-12-03 13:32:56 -08:00
Jeff Squyres
92c2ff91ec Revert "Cleanup static build requirements by adding the wrapper flags back to the component configure.m4's. Minor cleanup of the lsf configure logic."
This reverts commit open-mpi/ompi@32bf0e7b7e.
2014-12-03 13:15:20 -08:00
Todd Kordenbrock
c0c680bccb Portals4 BTL: Do not disqualify if a peer does not put Portals4 BTL modex info
If OPAL_MODEX_RECV() returns OPAL_ERR_NOT_FOUND, the peer didn't
send any Portals4 BTL info.  This is not a fatal error.  Instead of
disqualifying the Portals4 BTL just ignore that peer.

@jsquyres reported this in #194.
2014-12-03 14:22:10 -06:00
Ralph Castain
54c955c92d Fix a race condition that only appears to be affecting certain setups. The pmix.finalize function closes the file descriptor to the server, which then triggers the errhandler callback. Since the errmgr is about to be unloaded, it might be getting hit. 2014-12-03 12:19:00 -08:00
Howard Pritchard
c75dccede1 pmix/cray: remove finalize call from comp close
The finalize call in component close method is
no longer being matched by an equivalent init call,
so remove this call in the close method.
2014-12-03 09:44:18 -07:00
Howard Pritchard
666344a081 orte/mca/common/alps: fix configure file
Fix configure file for alps to actually check for
alps being available.

Also include stdio.h explicitly in common_alps.c
2014-12-03 09:44:18 -07:00
Howard Pritchard
ec38aa3732 orte/mca/common: add missing Makefile.am 2014-12-03 09:44:18 -07:00
Howard Pritchard
191fe0f949 alps configury changes
Clean up the orte_check_alps.m4.  There was a little of
unnecesary stuff for handling cle 5, since it wasn't actually
doing the right thing, which would be to use pkg-config to
find dependencies both for dynamic and static linking.

Decouple the searching for alps libs, etc. from cray pmi.

Switch the alps ess  and alps odls components' config files
to use the ALPS m4 macro.

alps configury fixes

Improve a check for detecting CLE release.
Improve an error message.
2014-12-03 09:44:17 -07:00
Howard Pritchard
d749077e1e odls/alps: make sure PMI env. variables set up
Add call to orte_odls_alps_get_rdma_creds in the
local proc launch step to obtain the Cray Rdma
credentials from the apshepherd, and to set
the PMI env. variables expected by uGNI BTL, etc.
2014-12-03 09:44:17 -07:00
Howard Pritchard
e0487e7702 orte/common/alps: add an alps common lib to orte
Add an alps common lib to orte.  Add a function
to determine whether or not a process is in a
PAGG container.

Note: we need a better naming convention for
common libs, since right now they use a "flat"
naming convention.
2014-12-03 09:44:17 -07:00
Howard Pritchard
a753c3ece0 ess/alps: add initial alps ess component
Note this alps ess component has nothing to do
with the old CNOS alps component used on
Cray Seastar/Portals3 (Cray XT) systems.

To work properly, changes need to be made to the
open method of the ess/pmi component to keep it
from selecting, and thus initializing, the opal/pmix/cray
component.
2014-12-03 09:44:17 -07:00
Ralph Castain
32bf0e7b7e Cleanup static build requirements by adding the wrapper flags back to the component configure.m4's. Minor cleanup of the lsf configure logic. 2014-12-03 07:14:06 -08:00
Ralph Castain
0f94be1268 Revert "If someone specifically asks for knem support and we can't do it, then we really should abort."
This reverts commit 6287d43c47.
2014-12-03 07:10:54 -08:00
Alex Mikheev
428add390e OSHMEM: spml ikrit: add skew to connect/disconnect
Each pe connects/disconnects starting from itself instead of pe=0. This
will distribute network traffic in a more friendly way.
2014-12-03 15:36:45 +02:00
Ralph Castain
d9b23c1054 Increment the init_count in the Slurm pmix components so they correctly respond to calls to pmix.initialized 2014-12-02 20:20:29 -08:00
Ralph Castain
cb15cc06e1 Minor changes per Jeff's request on PR for 1.8.4 2014-12-02 19:54:10 -08:00
Artem Polyakov
fe1aaa12b4 Merge pull request #301 from artpol84/lt_dladvise
Add  "-I$srcdir/opal/libltdl/" so conftest will allways set lt_dladvise.
2014-12-03 07:45:22 +05:00
Artem Polyakov
859b9f951f Add "-I$srcdir/opal/libltdl/" so conftest will allways set lt_dladvise. 2014-12-03 08:29:07 +06:00
Jeff Squyres
c6f222a5af configury: add "./configure V=1" verbose mode
Currently only shows whether opal_mca.m4 decides whether to build a
component or not.  This will be helpful in debugging a remote user's
setup that somehow, mysteriously decides not to build a specific
component.
2014-12-02 17:50:44 -08:00
Ralph Castain
6294ed991b Fix singletons - still working on singleton comm_spawn 2014-12-02 14:12:24 -08:00
Jeff Squyres
f99e56d17b Merge pull request #298 from jsquyres/topic/lt_dladvise-fix
Fix the lt_dladvise test noted by Edgar
2014-12-02 14:45:13 -05:00
Jeff Squyres
ed6c15be89 configury: whitespace and shell quoting cleanup
Remove extra whitespace, change foo="$bar" to foo=$bar,
and change one instance of "$foo" = "1" to $foo -eq 1.
2014-12-02 10:43:23 -08:00
Jeff Squyres
f229dcd1bb configury: fix lt_dladvise_init grep test
Change the CPPFLAGS to just -I$srcdir, and change the include file to
check to be just opal/libltdl/ltdl.h.  Do this because the CPPFLAGS
are passed to the preprocessor, and the C program that is passed
through the preprocessor is basically:

    #include <opal/libltdl/ltdl.h>

Using the proper -I covers both VPATH and non-VPATH cases.
2014-12-02 10:42:57 -08:00
Nadezhda Kogteva
9406050f32 Merge pull request #296 from nkogteva/master
Timing framework: pack timing scripts to tarball always
2014-12-02 14:04:22 +03:00
Nadezhda Kogteva
315a240899 Timing framework: pack timing scripts to tarball always 2014-12-02 12:22:46 +02:00
George Bosilca
e640673372 Refactor the datatype engine to reduce the critical path for the most
trivial (and thus used) datatype usages. Make the gaps_contiguous
pack and unpack functions similar.
2014-12-02 16:23:41 +09:00
George Bosilca
8ee501350b Implement strict validation for the packing/unpacking of the data. 2014-12-02 16:22:18 +09:00