1
1

87 Коммитов

Автор SHA1 Сообщение Дата
Yossi Itigin
fc41c16134 OSHMEM: Add support for shmemx_malloc_with_hint()
- added multiple segments processing
- added shmemx_malloc_with_hint call + set of hints

(picked from master 94b5e91)

Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
Signed-off-by: Yossi Itigin <yosefe@mellanox.com>
2019-05-12 11:42:59 +03:00
Mikhail Brinskii
6861a68de6 SPML/UCS: CR comments p2
Signed-off-by: Mikhail Brinskii <mikhailb@mellanox.com>
(cherry picked from commit d4843b165172a9cffbdc967ec92ec1d60d053903)
2019-05-02 21:27:15 +03:00
Mikhail Brinskii
1c56f49a44 SPML/UCX: CR comments p1
Signed-off-by: Mikhail Brinskii <mikhailb@mellanox.com>
(cherry picked from commit c4c99457db6577f85b5b1c4c6849b5a04c226a84)
2019-05-02 21:26:55 +03:00
Mikhail Brinskii
e4ee56d1f3 SPML/UCX: Add shmemx_alltoall_global_nb routine to shmemx.h
The new routine transfers the data asynchronously from the source PE to all
PEs in the OpenSHMEM job. The routine returns immediately. The source and
target buffers are reusable only after the completion of the routine.
After the data is transferred to the target buffers, the counter object
is updated atomically. The counter object can be read either using atomic
operations such as shmem_atomic_fetch or can use point-to-point synchronization
routines such as shmem_wait_until and shmem_test.

Signed-off-by: Mikhail Brinskii <mikhailb@mellanox.com>
(cherry picked from commit 2ef5bd8b3671f1e10caf00d06d66d120eac9c5be)
2019-05-02 21:25:59 +03:00
Gilles Gouaillardet
9c5d4bb3b9 oshmem: fix macro usage in pshmem.h
pshmem.h now includes shmem.h (since open-mpi/ompi@f46130cd20) and some macros were removed at that time.

Use the OSHMEM_HAVE_C11 macro (defined in shmem.h) instead of the
previous OSHMEMP_HAVE_C11 macrso previously defined in pshmem.h

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
(cherry picked from commit 5ea939aa542605503b7926a44df10e23a344d063)
2019-03-06 00:14:19 +01:00
Bert Wesarg
d174e46dc1 OSHMEM: Let pshmem.h include shmem.h to be stand-alone again
See #6093

Signed-off-by: Bert Wesarg <bert.wesarg@tu-dresden.de>
(cherry picked from commit f46130cd20914a3c60b19c3b2ed7c4b380319ee9)
2019-03-06 00:13:34 +01:00
Sergey Oblomov
ef7ab9bf96 OSHMEM: added missing API for get/put operations
- added calls for datatypes int/uint/8/16/32/size/ptrdiff
  for shmem_g/get/iget/get_nbi/_p/put/iput/put_nbi

Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
(cherry picked from commit cfa9150934481ff19cbd9f2454da6d40a290f08a)
2019-01-09 11:52:26 +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 4c071da565b152dbceb8f48368327bd0ae218942)
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
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 f63d6da6d733e263385188b5470df195f092d041)
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 4a3e83780c0303e7e4d0ff92d7ba85d3a2239737)
2018-11-01 16:37:49 +02: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 be0ea1d7647e8c16cb8f30f4dd916454c2bdd746)
2018-08-23 09:36:52 +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
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
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
Artem Polyakov
66e774d959
Merge pull request #4638 from karasevb/oshmem/spec_1.3/c11
oshmem: remove `shmem_put/get` when not the C11 case in accordance with the spec v1.3
2018-05-26 17:29:51 -07:00
Boris Karasev
5ea892dc0b oshmem: remove shmem_put/get when not the C11 case in accordance with the spec v1.3
Fixes: https://github.com/open-mpi/ompi/issues/4307

Signed-off-by: Boris Karasev <karasev.b@gmail.com>
2017-12-19 12:40:10 +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
Boris Karasev
7479328937 oshmem: refactoring the definition of SHMEM_ALLTOALLS_SYNC_SIZE
Signed-off-by: Boris Karasev <karasev.b@gmail.com>
2017-09-26 12:08:55 +03:00
Boris Karasev
584ff76dea oshmem: introduced the definition SHMEM_ALLTOALLS_SYNC_SIZE
In accordance with the OSHMEM spec, this definition must be included in
the code.

Signed-off-by: Boris Karasev <karasev.b@gmail.com>
2017-09-26 09:12:09 +03:00
Howard Pritchard
bfd5ed6e98 Merge pull request #1910 from hpcraink/pr/shmem_fix_f77
Fix shmem.fh: fails to compile with F77 fixed-form compiled programs...
2017-09-19 14:28:08 -06:00
Rainer Keller
d529c289db Fails to compile with F77 fixed-form compiled programs...
Convert to F77 notation and split into two (shorter) lines.
Also, make usage of the SHMEM_MAX_NAME_LEN definition, by moving
that first.

Signed-off-by: Rainer Keller <rainer.keller@hft-stuttgart.de>
2017-09-15 15:09:43 +02:00
Howard Pritchard
1d612da1cb oshmem: fix issue with shmem_g c11 generics
There was a typo in the shmem_g c11 generic interface
in shmem.h.in

Thanks to @nspark for reporting the problem and
specifying the fix.

Fixes #3968

Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
2017-08-01 09:58:20 -06:00
Jeff Squyres
e79e478447 oshmem: add some deprecated names in shmem.h.in
Per https://github.com/openshmem-org/tests-uh/issues/17, add some
deprecated constant names that we didn't previously support in Open
MPI.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2017-01-17 16:13:38 -08:00
Joshua Ladd
dc6f4a0feb Remove shmemx.h from shmem.h. Add shmem.h to shmemx.h
Fixes #2483
Signed-off-by: Joshua Ladd <joshual@mellanox.com>
2016-12-06 06:42:26 +02:00
Ralph Castain
1e2019ce2a Revert "Update to sync with OMPI master and cleanup to build"
This reverts commit cb55c88a8b7817d5891ff06a447ea190b0e77479.
2016-11-22 15:03:20 -08:00
Ralph Castain
cb55c88a8b Update to sync with OMPI master and cleanup to build
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2016-11-22 14:24:54 -08:00
Joshua Ladd
fe2b8b7e06 OSHMEM Specification version: Bump to v1.3. 2016-10-06 22:12:07 +03:00
Alex Mikheev
dd2405a625 OSHMEM: fixes typo in c11 generic 2016-09-26 11:43:38 +03:00
Alex Mikheev
71712df8d1 OSHMEM: fixes arg mismatch in c11 macros 2016-09-26 09:59:23 +03:00
Alex Mikheev
caa1d17672 OSHMEM: fixes compiler warnings 2016-09-25 18:16:45 +03: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
Gilles Gouaillardet
0a25420dac oshmem: get rid of oshmem_proc_t and use ompi_proc_t instead
store oshmem related per proc data in an oshmem_proc_data_t struct,
that is stored in the padding section of an ompi_proc_t

this data can be accessed via the OSHMEM_PROC_DATA(proc) macro

Fixes open-mpi/ompi#2023
2016-09-01 14:20:14 +09:00
Gilles Gouaillardet
2a98f9fcc3 oshmem: replace header files in include/mpp with symlinks
This is a work around to avoit what looks like a CMake bug

Thanks Paul Kapinos for the report

Fixes open-mpi/ompi#1868
2016-07-14 14:32:25 +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
Gilles Gouaillardet
cb84f582b2 oshmem: add missing prototypes for pshmem_alltoall[s]{32,64} 2016-03-24 15:22:29 +09: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
50906b34b3 oshmem: Align OSHMEM API with spec v1.3 (Add scoll/alltoall interface) 2016-03-21 10:43:31 +02:00
Igor Ivanov
e0d87225eb oshmem: Align OSHMEM API with spec v1.3 (update shmem.h) 2016-03-17 19:06:38 +02:00
Igor Ivanov
456d32716a oshmem: Align OSHMEM API with spec v1.2 (backward compatibility for extensions) 2015-11-24 18:58:29 +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