Sergey Oblomov
4c071da565
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>
2018-11-22 10:18:16 +02:00
Yossi Itigin
241b424bd3
Merge pull request #6000 from hoopoepg/topic/added-missing-amo-datatypes
...
OSHMEM/AMO: added missing C11 macro datatypes
2018-11-01 15:29:56 +02:00
Sergey Oblomov
6e78102089
OSHMEM/AMO: code beautify
...
- added <cr> to split API groups to simplify human processing
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-11-01 11:33:34 +02:00
Sergey Oblomov
f63d6da6d7
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>
2018-10-30 23:15:26 +02:00
Sergey Oblomov
4a3e83780c
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>
2018-10-29 23:50:26 +02:00
Yossi Itigin
41011502c8
shmem/lock: progress communications while waiting for shmem_lock
...
Signed-off-by: Yossi Itigin <yosefe@mellanox.com>
2018-09-16 18:46:36 +03:00
Sergey Oblomov
7a5ff6a076
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>
2018-08-23 18:03:01 +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
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
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
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
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
Mikhail Brinskii
8e9d401938
OSHMEM/SMPL/UCX: Add real fence support
...
+ Add quiet method to SPML, so it can have different implementation with
fence.
+ Use ucp_worker_fence for spml_fence method of UCX SPML
Signed-off-by: Mikhail Brinskii <mikhailb@mellanox.com>
2018-05-25 22:43:06 +03:00
Geoff Paulsen
591b174434
Merge pull request #5003 from sam6258/shmem_free_fix
...
ompi/oshmem: fix shmem_free to perform no-op on null ptr
2018-04-30 12:03:24 -05:00
Scott Miller
a8766adb55
ompi/oshmem: fix shmem_free to perform no-op on null ptr
...
Signed-off-by: Scott Miller <scott.miller1@ibm.com>
2018-04-02 17:12:24 -04:00
Xin Zhao
4aad386c2b
ompi/oshmem: fix bug in shmem_finalize.
...
Signed-off-by: Xin Zhao <xinz@mellanox.com>
2018-04-02 09:07:59 -05:00
Alex Mikheev
292d185c30
oshmem: refactor group cache
...
- Use opal hash table instead of list for group lookup.
- Code cleanup/refactoring. Group cache is now a part
of the proc_group.
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2018-02-22 11:48:06 +02:00
Boris Karasev
f6818af1ab
oshmem: remove "shmem_broadcast" in accordance with the spec v1.3
...
Fixes: https://github.com/open-mpi/ompi/issues/4098
Signed-off-by: Boris Karasev <karasev.b@gmail.com>
2017-12-19 10:41:12 +02:00
Alex Mikheev
1b5df76f8b
oshmem: shmem_ptr() implementation
...
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2017-08-03 13:56:34 +03:00
Gilles Gouaillardet
af0b5cffb4
asm: rename the AMD64 into X86_64
...
in this context, AMD64 really means amd64 or em64t, so let's
rename this into X86_64 in order to avoid any confusion
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2017-02-27 15:10:50 +09:00
Alex Mikheev
d1723355d3
oshmem: memheap: removes find_offset
...
Reasons for removal are:
- the function is only used by the shmem_lock code
- only a subset of the function is used by the shmem_lock
- for the general case the function is not correct
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-11-21 16:09:17 +02:00
Alex Mikheev
48a7a0bbb9
oshmem: lock: call opal_progress only when busy waiting
...
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-11-10 11:27:24 +02:00
Alex Mikheev
7caa736533
OSHMEM: fixes potential deadlock in shmem_lock()
...
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-11-06 11:56:42 +02:00
Alex Mikheev
61bd59a369
OSHMEM: fixes addr_acessible()
...
check every possible transport
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-11-06 11:56:41 +02:00
Alex Mikheev
9a21392ec2
OSHMEM: v1.3: add C11 generics
...
add missing put*/get* functions. Move *put|get16 functions from shmemx.h to
shmem.h as required by 1.3 spec.
2016-09-25 16:43:00 +03:00
Alex Mikheev
3a034352fe
OSHMEM: v1.3: adds shmem_fetch and shmem_set AMOs
...
The commit adds atomic set and fetch functions as described in
oshmem 1.3 spec.
2016-09-25 12:03:42 +03:00
Gilles Gouaillardet
92dd719df1
oshmem: move finalization from the liboshmem destructor into oshmem_onexit()
...
so we can use the legacy start_pes even when Open MPI is compiled with
--enable-static or --disable-visibility
2016-09-21 09:21:26 +09:00
Igor Ivanov
75050b44a2
oshmem: Align OSHMEM API with spec v1.3 (extension api changes)
...
openshmem.org specification does not mention about extension api
but there is an agreemnet to do these changes for related ex api too.
see
Annex G:
Version 1.3
Added const to every read-only pointer argument
2016-04-18 19:38:16 +03:00
Igor Ivanov
157f81b699
oshmem: Align OSHMEM API with spec v1.3 (Added const to every read-only pointer argument)
...
Annex G:
Version 1.3
Added const to every read-only pointer argument
2016-04-18 19:25:31 +03:00
Igor Ivanov
c02d0b7161
oshmem: Align OSHMEM API with spec v1.3 (shmem_lock change signature)
...
Annex G:
Version 1.3
Added volatile to remotely accessible pointer argument in
SHMEM_LOCK
See Sections 8.9.1
2016-04-18 19:25:18 +03:00
Igor Ivanov
a52b0797fc
oshmem: Align OSHMEM API with spec v1.3 (shmem_wait change signature)
...
Annex G:
Version 1.3
Added volatile to remotely accessible pointer argument in SHMEM_WAIT
See Sections 8.7.1
2016-04-18 19:24:55 +03:00
Mike Dubman
1d8fbfefb0
Merge pull request #1478 from igor-ivanov/pr/oshmem-v1.3-alltoall
...
oshmem: Add alltoall
2016-03-22 07:51:36 +02:00
Igor Ivanov
1bed5d8aee
oshmem: Align OSHMEM API with spec v1.3 (update scoll/basic)
2016-03-21 11:46:01 +02:00
Igor Ivanov
bd6eaac561
oshmem: Align OSHMEM API with spec v1.3 (Add alltoall C function)
2016-03-21 10:43:43 +02:00
Igor Ivanov
abe7ba5720
oshmem: Align OSHMEM API with spec v1.3 (Add nonblocking put/get C functions)
2016-03-15 14:05:00 +02:00
Igor Ivanov
9d1e09b42b
oshmem: Align OSHMEM API with spec v1.2 (fix ISO C99 warning for variadic macro)
2015-11-27 14:23:06 +02:00
Igor Ivanov
56214eb295
oshmem: Align OSHMEM API with spec v1.2 (rename extensions to shmemx_)
2015-11-24 18:58:28 +02:00
Igor Ivanov
2dc2159b4c
oshmem: Align OSHMEM API with spec v1.2 (add new functions)
2015-11-24 18:21:08 +02:00
Igor Ivanov
9942dfdabf
oshmem: Align OSHMEM API with spec v1.2 (modify existing functions)
...
Several functions are moved from to shmem-compat.h to shmem.h and
back.
2015-11-24 18:21:07 +02:00
Alex Mikheev
b020b628fc
oshmem/memheap: optimized mkey lookup.
...
Fast path lookup is done in inline funcion.
2015-10-20 19:45:51 +03:00
Igor Ivanov
e46e04792b
oshmem: Move help file for oshmem api one level up to
...
meet ompi structure
Signed-off-by: Igor Ivanov <Igor.Ivanov@itseez.com>
2015-08-25 12:52:34 +03:00
Ralph Castain
869041f770
Purge whitespace from the repo
2015-06-23 20:59:57 -07:00
Gilles Gouaillardet
11e11e1be9
initialize common symbols from oshmem
2015-05-08 10:11:58 +09:00
Devendar Bureddy
8dfed1c657
oshmem: rename global variables with prefix
2014-10-15 20:30:37 +03:00