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
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
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
Jeff Squyres
983bd49f11
opal_timer_require_monotinic: change to bool / level 5
2014-12-03 17:09:43 -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
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
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
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
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
a35d2b9fb5
Update copyrights and mark ia32 timers as non-monotonic.
2014-12-01 14:03:54 -08:00
George Bosilca
5277fd5aa2
Various cleanups.
2014-12-01 14:03:47 -08:00
George Bosilca
00300f464d
Add support for clock_gettime on Linux. Allow the user to
...
request a monotonic timer via MCA parameters.
2014-12-01 14:03:40 -08:00
Ralph Castain
960ef34988
Ensure the LSF ras adds the hosts to the allocation. Correctly handle the semi-colon vs comma situation in hwloc slot_lists
2014-11-30 14:37:37 -08:00
Ralph Castain
3f9d9ae8b6
Provide tighter LSF integration by correctly handling scenarios where the user has asked LSF to assign bindings. Fix a couple of typos in lex parser definitions. Tell hostfile parser to ignore binding designations in hostfiles. Add an attribute to indicate that cpusets were provided as physical cpu ids.
...
Once validated, a version of this will be backported to the v1.8.4 release.
2014-11-30 11:50:31 -08:00
George Bosilca
0b0c7ea28b
Fix a subtle bug in the convertor where the lb of the datatype
...
can be added twice (for partially packed datatypes). Thanks to
the Fujitsu's MPI development team for the bug report and the
patch.
2014-11-29 19:46:02 -05:00
George Bosilca
dee243c58d
ompi_proc_finalize has an interesting side effect. A proc is
...
inserted in the ompi_proc_list as soon as it is created and it
is removed only upon the call to the destructor. In ompi_proc_finalize
we loop over all procs in ompi_proc_finalize and release them once.
However, as a proc is not removed from this list right away, we
decrease the ref count for each proc until it reach zero and the
proc is finally removed. Thus, we cannot clean the BML/BTL after
the call the ompi_proc_finalize.
A quick fix is to delay the call to ompi_proc_finalize until all
other frameworks have been finalized, and then the behavior
depicted above will give the expected outcome.
2014-11-28 18:26:36 -05:00
George Bosilca
6772b07792
Only use RDTSCP if supported by the processor.
...
Conflicts:
opal/include/opal/sys/amd64/timer.h
2014-11-27 11:29:47 -05:00
George Bosilca
82920b77d3
Use RDTSC by now.
2014-11-26 16:59:57 -05:00
bosilca
8cae899a42
Merge pull request #285 from bosilca/master
...
Reenable high accuracy timers
2014-11-25 17:09:34 -05:00
Gilles Gouaillardet
578fe41788
fix hangs introduced by previous commit a6744b8177
2014-11-25 17:50:44 +09:00
Gilles Gouaillardet
a6744b8177
fix misc memory leaks specific to the master
2014-11-25 13:52:10 +09:00
Gilles Gouaillardet
0e3b5bf000
add opal_hash_table_get_{first,next}_key_ptr
2014-11-25 11:32:43 +09:00
George Bosilca
fb44b03f67
The use of cpuid destroys the content of %eax and %edx,
...
so they must be saved before.
2014-11-24 17:40:53 -05:00
George Bosilca
261684858f
Improved support for OSX timers.
2014-11-24 17:15:49 -05:00
George Bosilca
b7fa0e312f
Cleanup the clobber list.
2014-11-24 16:35:51 -05:00
George Bosilca
1877dfd0df
On Darwin make sure the field we expect to be 0 is indeed 0.
2014-11-24 14:16:36 -05:00
George Bosilca
b5574c1b4f
Per Dave suggestion add a serializing instruction bundled
...
together with RDTSC. It is still not perfect, but hopefully
much better than before.
2014-11-24 14:15:25 -05:00
George Bosilca
766cfece36
Remove useless header.
2014-11-24 00:57:54 -05:00
George Bosilca
5f49a11b29
Minor cleanups.
2014-11-24 00:44:50 -05:00
George Bosilca
18a916fced
Cleanup the AMD64 timer function.
2014-11-23 23:58:39 -05:00
George Bosilca
e27759956f
Allow the use of the optimized used timers
2014-11-23 23:51:13 -05:00
George Bosilca
324e43909d
Enable CUDA support on Mac OS X.
2014-11-20 13:51:10 -06:00
Gilles Gouaillardet
758f7ab768
Revert "btl/vader: use FRAG_ALLOC_USER when single_copy_mechanism is VADER_NONE"
...
as discussed with @hjelmn in open-mpi/ompi-release#86
This reverts commit d2d7f39a4b
.
2014-11-20 16:04:55 +09:00
Nathan Hjelm
1b564f62bd
Revert "Merge pull request #275 from hjelmn/btlmod"
...
This reverts commit ccaecf0fd6
, reversing
changes made to 6a19bf85dd
.
2014-11-19 23:22:43 -07:00
Nathan Hjelm
b1f9569b7d
Revert "btl/openib: fix warnings"
...
This reverts commit 6e6c786b49
.
2014-11-19 23:16:16 -07:00
Nathan Hjelm
6e6c786b49
btl/openib: fix warnings
2014-11-19 15:57:01 -07:00
Nathan Hjelm
ccaecf0fd6
Merge pull request #275 from hjelmn/btlmod
...
Updated the btl interface. Please update your components.
2014-11-19 15:01:40 -07:00
Ralph Castain
6a19bf85dd
Add a little debug
2014-11-19 13:45:00 -08:00
Ralph Castain
27be73c6fb
Allow callers to dstore.open to not request a specific list of desired components, but just take the highest priority one that is available
2014-11-19 13:31:31 -08:00
Nathan Hjelm
2b579610f2
btl/openib: fix compilation issues with XRC
2014-11-19 11:44:48 -07:00
Nathan Hjelm
2a382c2ec1
add btl comment
2014-11-19 11:33:04 -07:00
Nathan Hjelm
bf7daac388
btl/openib: add atomic operation support
2014-11-19 11:33:04 -07:00