Howard Pritchard
552834b9a6
Merge pull request #6110 from hoopoepg/topic/amo-int32-64-datatypes-v4.0
...
OSHMEM/AMO: added int/uint/32/64 atomics calls - v4.0
2018-12-11 06:43:05 -07:00
Sergey Oblomov
5838760a3a
OSHMEM/COLL/BCAST: removed unnecessary bcast call
...
- removed unnecessary bcast call on zero-length request
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
(cherry picked from commit c93927e27a
)
2018-11-27 14:26:56 +02:00
Sergey Oblomov
0a064d8c8d
OSHMEM/COLL: optimization on zero-length ops
...
- removed barrier call on zero-length operations
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
(cherry picked from commit ff2fd0679e
)
2018-11-27 14:26:52 +02:00
Sergey Oblomov
dea9cf6b63
OSHMEM: added processing of zero-length collectives
...
- according spec 1.4, annex C shmem collectives should process
calls where number of elements is zero independently from pointer
value
- added zero-count processing - it just call barrier to
sync ranks
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
(cherry picked from commit 9de128afaf
)
2018-11-27 14:26:44 +02:00
Sergey Oblomov
63cbe36cab
OSHMEM/AMO: added int/uint/32/64 atomics calls
...
- added int/uint/32/64 atomics calls
- added SHMEM_SYNC_SIZE macro
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
(cherry picked from commit 4c071da565
)
2018-11-26 09:29:55 +02:00
Geoff Paulsen
6898de01a7
Merge pull request #6012 from hoopoepg/topic/added-missing-amo-datatypes-v4.0
...
OSHMEM/AMO: added missing C11 macro datatypes - v4.0
2018-11-19 14:20:15 -06:00
Howard Pritchard
3369b0d10f
Merge pull request #6011 from hoopoepg/topic/fixed-oshmem-profile-build-v4.0
...
OSHMEM/PROFILE: fixed profile build - v4.0
2018-11-19 13:15:09 -07:00
Sergey Oblomov
b416c8afe2
OSHMEM/AMO: code beautify
...
- added <cr> to split API groups to simplify human processing
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
(cherry picked from commit 6e78102089
)
2018-11-01 16:52:01 +02:00
Sergey Oblomov
d3f08d010c
OSHMEM/AMO: added missing C11 macro datatypes
...
- added signed datatypes for atomic_add calls
- added unsigned datatypes for atomic put/inc/get/fetch calls
- fixed incorrect SHMEM_CTX_DEFAULT macro, added
external declaration of oshmem_ctx_default variable
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
(cherry picked from commit f63d6da6d7
)
2018-11-01 16:51:56 +02:00
Sergey Oblomov
aaf15a6c17
OSHMEM/PROFILE: fixed profile build
...
- added missing file to profile makefile
- constants SHMEM_CTX_* are shifted into public header
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
(cherry picked from commit 4a3e83780c
)
2018-11-01 16:37:49 +02:00
Yossi Itigin
8a329a797c
SCOLL/BASIC: Fix invalid pSync pointer passed to barrier func
...
mca_scoll_basic_alltoall() passed (pSync + 1) to barrier function, but
the value of _SHMEM_ALLTOALL_SYNC_SIZE is 1, which made the barrier
function use an invalid memory location. In particular, this location
was not initialized to _SHMEM_SYNC_VALUE, which broke the barrier
algorithm and it did not complete: One PE could read 0 from its peer and
assume the peer already started the barrier, and then write 1 to the
peer. Then, the peer entered the barrier and overwrote the 1 with 0, and
then it waited forever to see '1' in its pSync.
Found with shmem_verifier test suite.
(picked from master 6754bf1
)
Signed-off-by: Yossi Itigin <yosefe@mellanox.com>
2018-10-31 12:22:19 +02:00
Yossi Itigin
cda310733f
shmem/lock: progress communications while waiting for shmem_lock
...
(cherry picked from commit 4101150
)
Signed-off-by: Yossi Itigin <yosefe@mellanox.com>
2018-09-27 11:42:34 +03:00
Jeff Squyres
2e37f97a38
Miscellaneous compiler warning stomps.
...
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
(cherry picked from commit fe0852bcb4
)
2018-09-21 14:35:51 -05:00
Sergey Oblomov
3cace87749
MCA/COMMON/UCX: del_procs calls are unified to common module
...
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
(cherry picked from commit 920cc2e0d9
)
2018-09-19 10:47:27 +03:00
Sergey Oblomov
6f9da0c3d5
OSHMEM: removed incorrect pshmem_wait_until macro redefinition
...
- fixes https://github.com/open-mpi/ompi/issues/5585
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
(cherry picked from commit 7a5ff6a076
)
2018-09-02 08:32:33 +03:00
Sergey Oblomov
028bcb8a73
MCA/COMMON/UCX: added synonim to opal_mem_hook variable
...
- added synonim to common ucx variables to allow
to print it in opal_info -a
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
(cherry picked from commit e00f7a68ba
)
2018-08-29 15:17:00 +03:00
Sergey Oblomov
00f417706c
OSHMEM/API/C11: fixed API macro
...
- updated compilation of C11 compiler for API macro
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
(cherry picked from commit be0ea1d764
)
2018-08-23 09:36:52 +03:00
Boris Karasev
8873d901e8
pmix: added check for pmix fence status
...
Signed-off-by: Boris Karasev <karasev.b@gmail.com>
(cherry picked from commit 57683366ca
)
Conflicts:
opal/mca/common/ucx/common_ucx.c
opal/mca/common/ucx/common_ucx.h
Modified:
ompi/mca/pml/ucx/pml_ucx.c
oshmem/mca/spml/ucx/spml_ucx.c
2018-08-17 21:33:50 +06:00
Sergey Oblomov
b64502977a
PML/SPML/UCX: init global objects using C99 style
...
- to avoid value mix used C99 style of object initializations
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
(cherry picked from commit 2806504290
)
2018-07-28 16:47:43 +03:00
Sergey Oblomov
58b7786b70
MCA/ATOMIC: atomic_init renamed to atomic_startup
...
- there is C11 naming conflict - atomic_init is C macro
which cause building issue
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
(cherry picked from commit 3295b23800
)
2018-07-24 17:23:42 +03:00
Joshua Ladd
7bfcd4545d
OSHMEM Specification version: Bump to v1.4
...
Signed-off-by: Joshua Ladd <jladd.mlnx@gmail.com>
2018-07-18 00:23:24 +03:00
Sergey Oblomov
36cc69d47a
ATOMIC: fixed build issues (incorrect function proto)
...
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-17 10:32:15 +03:00
Xin Zhao
c429900cd9
OMPI/OSHMEM: add new functionality of OpenSHMEM v1.4.
...
Signed-off-by: Xin Zhao <xinz@mellanox.com>
2018-07-16 12:55:25 -07:00
Yossi Itigin
9d0b3a42aa
Merge pull request #5423 from hoopoepg/topic/bitwise-atomics-renaming
...
ATOMICS: renamed atomic calls to unsigned datatypes
2018-07-16 19:08:02 +03:00
Sergey Oblomov
da1afcaaaf
ATOMIC/UCX: fixed typo in datatype macro
...
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-16 14:49:06 +03:00
Sergey Oblomov
bd84165277
ATOMICS: renamed atomic calls to unsigned datatypes
...
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-13 15:32:16 +03:00
Sergey Oblomov
d51426ff0a
ATOMIC/MXM: fixed abstraction violation
...
- applied workaround for incorrect dynamic module dependency
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-13 14:30:12 +03:00
Joshua Ladd
f92daa6494
Merge pull request #5392 from hoopoepg/topic/bitwise-atomics-c
...
OSHMEM/ATOMICS: added C implementation of and/or/xor ops
2018-07-10 09:13:05 -04:00
Sergey Oblomov
0212410187
OSHMEM/ATOMICS: fixed comments errors
...
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-10 10:13:40 +03:00
Sergey Oblomov
64212a9ff1
OSHMEM/ATOMICS: added C implementation of and/or/xor ops
...
- added implementation and/or/xor operations for post and
fetch-op notations
- implemented basic and UCX transports, mxm added
NON-IMPLEMENTED wrapper
- updated C interfaces only (fortran will be added later)
- existing API is not updated to spec v1.4
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-09 16:18:47 +03:00
Sergey Oblomov
f2a24a008c
OSHMEM: fixed compilation warning
...
- suppressed warning like: warning: no previous prototype for
'shmemx_XXXXX_OP' [-Wmissing-prototypes]
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-09 10:44:35 +03:00
Sergey Oblomov
240670152e
MCA/COMMON/UCX: code beautify - alignment
...
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-06 19:40:58 +03:00
Sergey Oblomov
bef47b792c
MCA/COMMON/UCX: unified logging across all UCX modules
...
- added common logging infrastructure for all
UCX modules
- all UCX modules are switched to new infra
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-05 16:25:39 +03:00
Sergey Oblomov
8080283b3d
MCA/COMMON/UCX: changed return type for wait_request
...
- for now wait_request returns OMPI status
- updated callers
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-04 23:29:38 +03:00
Sergey Oblomov
586c16be70
ATOMIC/UCX: renamed ATOMIC_PTR_2_INT to OSHMEM_ATOMIC_PTR_2_INT
...
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-04 15:07:39 +03:00
Sergey Oblomov
54d97efa84
ATOMIC/UCX: fixed atomic swap/cswap issues
...
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-04 14:41:48 +03:00
Sergey Oblomov
5eb8c99cd7
ATOMIC/UCX: optimization for cswap
...
- used uint64_t output datatype to avoid branches in
implementations
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-04 14:41:46 +03:00
Sergey Oblomov
f574c14e3a
ATOMICS/UCX: redefine atomic module API
...
- now it accepts integer values directily instead of
pointers
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-04 14:41:45 +03:00
Sergey Oblomov
a0ea368464
ATOMIC/UCX: minor optimization and code cleaning
...
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-04 14:41:43 +03:00
Sergey Oblomov
eb0abfcf92
SHMEM/ATOMIC: refactoring of module API
...
- removed atomic-basic-specific operand from module API
- added own calls for add and swap operations
- minor optimization for UCX atomics
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-04 14:40:14 +03:00
Sergey Oblomov
13331ba4d8
MCA/COMMON/UCX: code beautify + build fix
...
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-02 16:37:03 +03:00
Sergey Oblomov
8a793bb279
MCA/COMMON/UCX: fixed build issues
...
- fixed fuild issues when used older UCX
- added non-blocking call of ucp_put call
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-02 15:58:08 +03:00
Sergey Oblomov
c2bd6af9f2
MCA/COMMON/UCX: minor unification of del_proces calls
...
- some common functionality of del_procs calls is moved into
mca_common module
- blocking ucp_put call is replaced by non-blocking routine
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-02 15:10:53 +03:00
Sergey Oblomov
952fa8ade7
PML/UCX: method mca_spml_ucx_get_mkey_slow is renamed to get_mkey_slow
...
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-01 20:44:19 +03:00
Sergey Oblomov
c55db78e93
SPML/UCX: get mkey call refactoring
...
- method mca_spml_ucx_get_mkey_slow is moved into .c module,
added pointer to this method into mca_spml_ucx_t structure
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-01 18:58:14 +03:00
Sergey Oblomov
910e08f5ef
MCA/ATOMICS/UCX: workaround for abstraction violation
...
- some spml calls are marked as inline to exclude cross-module
dependency
- updated get-key call to get link to local module
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-06-29 16:32:04 +03:00
Sergey Oblomov
502d04bf12
UCX/PML/SPML: fixed few coverity issues
...
- fixed incorrect pointer manipulation/free
- cleaned dead code
- minor optimization on process delete routine
- fixed error handling - free pointers
- added debug output for woker flush failure
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-06-26 18:52:39 +03:00
Sergey Oblomov
63e7ba6843
MCA/COMMON/UCX: added parameter for UCX/opal progress
...
- added parameter to set UCX/opal progresses
- minor refactoring of request wait routines
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-06-25 11:00:12 +03:00
Sergey Oblomov
d57ae62dee
MCA/UCX: added common module
...
- implemented non-blocking routines for flush operations
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-06-22 16:41:09 +03:00
Jeff Squyres
9b9cb5fef0
to be squashed: move wait-for-init loop to ompi_mpi_init()
...
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2018-06-06 05:35:19 -07:00