Gilles Gouaillardet
062ed9c919
spml/yoda: fix support for BTLs that do not register memory in mca_spml_yoda_get()
...
Refs open-mpi/ompi#2499
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2016-12-08 15:56:25 +09: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
Mike Dubman
53a0c86c16
Merge pull request #2455 from yosefe/topic/ucp-uct-nonblock-mem-reg-api
...
spml_ucx: allow registering the heap in non-blocking mode.
2016-11-27 11:42:09 +02:00
Mike Dubman
f339632216
Merge pull request #2452 from alex-mikheev/topic/scoll_basic_fixes
...
oshmem: fixes scoll basic barrier and broadcast
2016-11-25 18:03:56 +02:00
Yossi Itigin
0241a2697d
spml_ucx: allow registering the heap in non-blocking mode.
...
Signed-off-by: Yossi Itigin <yosefe@mellanox.com>
2016-11-25 15:09:22 +02:00
Alex Mikheev
0f83a1fd57
oshmem: scoll: fixes basic barrier broadcast and alltoall
...
Add missing fence() call to alltoall and central counter broadcast.
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-11-24 16:56:55 +02: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
Gilles Gouaillardet
19bdd1d626
oshmem/memheap: initialize common symbol mca_memheap_base_map
...
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2016-11-21 09:32:27 +09:00
Joshua Ladd
9a79da729f
Merge pull request #2354 from alex-mikheev/topic/oshmem_mkey_cache
...
ikrit spml cleanup, mkey cache and assorted bug fixes
2016-11-14 17:22:13 -05:00
Alex Mikheev
864904e8ab
oshmem: ucx: check status only if configured --with-oshmem-param-check
...
Current standard says that behaviour in the case of error is undefined
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-11-10 11:29:03 +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
bf61961f8b
oshmem: code review fixes
...
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-11-08 15:11:59 +02:00
Alex Mikheev
f133d9b6c8
oshmem: fixes comiplation errors in sshmem
...
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-11-08 15:11:07 +02:00
Gilles Gouaillardet
11dc86f26b
cleanup: always #include <pthread.h>
...
pthreads are now mandatory, so there is no more need to
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2016-11-08 13:07:45 +09:00
Alex Mikheev
18301429a0
oshmem: removes fortran shmem_put() because v1.3 does not have it
...
picked from the 64a8f64afd351e37e7d80a080e495c082b56517c
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-11-07 13:47:57 +02:00
Alex Mikheev
ff5095e533
OSHMEM: adds support for mkey caching by spml
...
It improves cpu cache hit ratio.
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-11-06 11:56:43 +02:00
Alex Mikheev
5c2f807ef8
OSHMEM: fixes verbosity log level cal
...
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-11-06 11:56:42 +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
defcc3ddc1
OSHMEM: spml ikrit: get/put request cleanup
...
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-11-06 11:56:41 +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
23c3dc8345
OSHMEM: mxm: optimize mxm_peer layout.
...
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-11-06 11:56:40 +02:00
Alex Mikheev
df74d549dc
OSHMEM: spml ikrit: changes mxm_peers layout
...
use single array instead of array of pointers
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-11-06 11:56:39 +02:00
Alex Mikheev
b5c7c7de78
OSHMEM: memheap: disable oob if allgather mkey exchange is used
...
In this case there is no point to add another progress callback
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-11-06 11:56:39 +02:00
Alex Mikheev
0826e63363
OSHMEM: spml_ikrit: makes quiet wait for get_nbi requests
...
shmem_quit() shall complete all outstanding get_nbi() requests
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-11-06 11:56:38 +02:00
Alex Mikheev
2f91ce7281
OSHMEM: mxm versions less than 2.0 are no longer supported
...
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-11-06 11:56:38 +02:00
Pavel Shamis (Pasha)
92b0ebd7c3
For UCX it is legal to return UCS_INPROGRESS (1) code for non-blocking function
...
calls, which means that the operation was successfully started but not
immediately completed. This is a "good" return code that should not be handled
as an error.
Signed-off-by: Pavel Shamis (Pasha) <pasharesearch@gmail.com>
2016-11-03 15:36:13 -05:00
Boris Karasev
68b5acd9f4
oshmem/spml/yoda: fixed the btl operations
...
Fixed the shmem OOM error which is referenced on #2028
Signed-off-by: Boris Karasev <karasev.b@gmail.com>
2016-11-02 13:38:35 +02:00
Alex Mikheev
511dd43736
oshmem: fixes typo in the error message
...
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-10-27 09:27:45 +03:00
Alex Mikheev
f630b43285
OSHMEM: fixes crash during initialization
...
Do not call mpi comm_dup() if mpi failed to initialize. Also do not set
signal handlers.
Small code styling fixes.
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-10-26 11:15:06 +03:00
Alex Mikheev
6c798fe08d
OSHMEM: updates copyrights in fortran fetch/set
...
(cherry picked from commit f5297ccdb277208a96aaffd72a6454afe712fdb4)
2016-10-20 15:09:27 +03:00
Yossi Itigin
05ca466c6b
ucx: adapt pml_ucx and spml_ucx to new UCX APIs
...
- pass field_mask to ucp_init().
- use non-blocking disconnect.
- recv() with pre-allocated request.
- call opal_progress() from iprobe() and improbe().
- use shift pattern in connect/disconnect.
2016-10-12 23:45:45 +03:00
Joshua Ladd
fe2b8b7e06
OSHMEM Specification version: Bump to v1.3.
2016-10-06 22:12:07 +03:00
Joshua Hursey
fc3cf994db
build: Custom libmpi_FOO name fix for wrapper compilers
...
* In open-mpi/ompi@f6f24a4f67 I missed
updating the library references for the wrapper compilers.
* Fixes the CXX wrapper compiler and CXX library is renamed as needed.
* Fixes the Java wrapper compiler and the Java library is renamed as needed.
2016-09-30 16:40:56 -05:00
Joshua Hursey
f6f24a4f67
build: Custom libmpi(_FOO) name option in configure
...
* Add a configure time option to rename libmpi(_FOO).*
- `--with-libmpi-name=STRING`
* This commit only impacts the installed libraries.
Internal, temporary libraries have not been renamed to limit the
scope of the patch to only what is needed.
For example:
```shell
shell$ ./configure --with-libmpi-name=wookie
...
shell$ find . -name "libmpi*"
shell$ find . -name "libwookie*"
./lib/libwookie.so.0.0.0
./lib/libwookie.so.0
./lib/libwookie.so
./lib/libwookie.la
./lib/libwookie_mpifh.so.0.0.0
./lib/libwookie_mpifh.so.0
./lib/libwookie_mpifh.so
./lib/libwookie_mpifh.la
./lib/libwookie_usempi.so.0.0.0
./lib/libwookie_usempi.so.0
./lib/libwookie_usempi.so
./lib/libwookie_usempi.la
shell$
```
2016-09-29 21:47:24 -05: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
Joshua Ladd
d5e65c4860
Merge pull request #2052 from alex-mikheev/topic/spml_ikrit_zcopy_fix
...
OSHMEM: spml ikrit: fixes zero copy
2016-09-12 12:35:32 -04:00
Alex Mikheev
439456ae96
OSHMEM: spml ikrit: fixes zero copy
...
Allow mxm to use zero copy in put() and get() for the large messages.
2016-09-04 12:16:09 +03:00
Gilles Gouaillardet
184d53a018
oshmem: swap fields of oshmem_proc_data_t to prevent padding
...
previously, the definition was
struct oshmem_proc_data_t {
int num_transports;
char * transport_ids;
};
so in 64 bits arch, the compiler would very likely insert a 4 bytes
padding before the two fields in order to have transport_ids aligned
2016-09-01 14:20:14 +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
6b7bc64101
spml/yoda: MCA_PML(add_procs) all procs from oshmem_comm_world
...
and fix oshmem_group_proc_{init,create} so they use the number of procs in oshmem_comm_world
Thanks Debendra Das for the report and Josh Ladd for the guidance
Fixes open-mpi/ompi#1966
2016-08-17 14:24:02 +09:00
Gilles Gouaillardet
273e56096b
configury: capture configury command line
...
configury command line is quoted and made available via the OPAL_CONFIGURE_CLI macro.
it can be retrieved via {orte-info,ompi_info,oshmem_info} -c, or
{orte-info,ompi_info,oshmem_info} --all --parseable | grep ^config:cli:
2016-07-29 09:14:09 +09:00
Boris Karasev
49b67094e0
oshmem/fortran: fix warning mesages && fix size
2016-07-22 15:54:01 +06: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
Rainer Keller
3ec1b868d1
Fix missing include and missing MCA_SPML_CALL.
2016-07-13 11:23:47 +02:00
Pavel Shamis (Pasha)
1bb778857f
OSHMEM: Removing erroneous initialization check
...
Since the introduction of the on-demand proc allocation
the check become erroneous and irrelevant.
Moreover, it completely breaks OpenSHMEM support in OMPI.
Signed-off-by: Pavel Shamis (Pasha) <pasharesearch@gmail.com>
2016-06-24 16:57:10 -05:00
Igor Ivanov
a8ab5b55b9
oshmem: Fix double lock issue
...
Signed-off-by: Igor Ivanov <igor.ivanov.va@gmail.com>
2016-06-10 15:52:31 +03:00
Gilles Gouaillardet
544a2f1631
configury: fix mpifort and oshmemfort wrapper data
...
NAG compiler use gcc (and not ld) as a linker, so in order to pass an option to the linker,
the flag is -Wl,-Wl,,<option> and not -Wl,<option>
Thanks Paul Hargrove for the report
2016-06-06 11:54:12 +09:00
Nathan Hjelm
dbfab94ede
atomic/mxm: rename symbol that is a duplicate of one in atomic/ucx
...
This fixes an error when building with --enable-static.
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2016-05-25 15:34:40 -06:00
Jeff Squyres
265e5b9795
Merge pull request #1552 from kmroz/wip-hostname-len-cleanup-1
...
ompi/opal/orte/oshmem/test: max hostname length cleanup
2016-05-02 09:44:18 -04:00
Karol Mroz
941f2c1e0b
oshmem: fixup hostname max length usage
...
Signed-off-by: Karol Mroz <mroz.karol@gmail.com>
2016-04-25 07:08:23 +02:00
Nathan Hjelm
ae0ffbb67f
Merge pull request #1397 from hjelmn/enable_thread_multiple
...
ompi: always enable MPI_THREAD_MULTIPLE support
2016-04-23 08:40:22 -06: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
Karol Mroz
a468c3ba1a
opal_info_support: pass component map when handling params
...
Pass component_map to opal_info_do_params(). It will be needed to output
component versions.
Signed-off-by: Karol Mroz <mroz.karol@gmail.com>
2016-04-02 21:17:44 +02:00
Jeff Squyres
2c5b39718d
oshmem: fix scoll_null_alltoall() prototype
...
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2016-03-26 03:50:57 -07: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
Mike Dubman
7483a66ef6
Merge pull request #1455 from igor-ivanov/pr/oshmem-v1.3
...
oshmem: Add Non-blocking Remote Memory Access Routines
2016-03-22 07:50:11 +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
9825157fc4
oshmem: Align OSHMEM API with spec v1.3 (Add man for alltoall)
2016-03-21 10:43:45 +02:00
Igor Ivanov
3e1e131744
oshmem: Align OSHMEM API with spec v1.3 (Add alltoall Fortran)
2016-03-21 10:43:44 +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
50906b34b3
oshmem: Align OSHMEM API with spec v1.3 (Add scoll/alltoall interface)
2016-03-21 10:43:31 +02:00
Igor Ivanov
e690521cdd
oshmem/scoll: Fix bug in basic/barrier algorithm
2016-03-21 10:34:55 +02:00
Igor Ivanov
36c29b393b
oshmem: Align OSHMEM API with spec v1.3 (update spml/yoda)
2016-03-17 19:06:39 +02:00
Igor Ivanov
b2700320a3
oshmem: Align OSHMEM API with spec v1.3 (update spml/ikrit)
2016-03-17 19:06:39 +02:00
Igor Ivanov
450ea6684c
oshmem: Align OSHMEM API with spec v1.3 (update spml/ucx)
2016-03-17 19:06:38 +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
e59bf31d6b
oshmem: Align OSHMEM API with spec v1.3 (Add mans for nonblocking put/get Fortran functions)
2016-03-17 19:06:37 +02:00
Igor Ivanov
70139147ab
oshmem: Align OSHMEM API with spec v1.3 (Add nonblocking put/get Fortran functions)
2016-03-17 19:06:21 +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
8464b6147a
oshmem: Align OSHMEM API with spec v1.3 (Add spml/get_nb interface)
2016-03-15 14:04:59 +02:00
Nathan Hjelm
230d04327e
ompi: always enable MPI_THREAD_MULTIPLE support
...
This commit removes the --with-mpi-thread-multiple option and forces
MPI_THREAD_MULTIPLE support. This cleans up an abstration violation
in opal where OMPI_ENABLE_THREAD_MULTIPLE determines whether the
opal_using_threads is meaningful. To reduce the performance hit on
MPI_THREAD_SINGLE programs an OPAL_UNLIKELY is used for the
check on opal_using_threads in OPAL_THREAD_* macros.
This commit does not clean up the arguments to the various functions
that take whether muti-threading support is enabled. That should be
done at a later time.
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2016-02-23 10:02:14 -07:00
George Bosilca
68c36ea9dc
Fix two annoying warnings in our UCX support.
2016-02-14 00:02:16 -05:00
Alex Mikheev
f627608e42
OSHMEM/UCX: implements atomic support
...
ucx atomic component has a real code now.
fixes bug in spml ucx arr_procs
removes redundant parameter checks from atomic components.
2016-01-21 16:02:28 +02:00
Gilles Gouaillardet
fec973efda
configury: test portability
...
replace test ... -o ... with test ... || test ...
and test ... -a ... with test ... && test ...
2015-12-28 13:58:45 +09:00
Gilles Gouaillardet
99d046d060
scoll/fca: add missing #include <alloca.h>
2015-12-24 14:33:58 +09:00
igor.ivanov@itseez.com
08c18195e7
oshmem/sshmem: Fix warnings in verbs component
2015-12-16 17:37:00 +02:00
igor.ivanov@itseez.com
6448bd07a4
oshmem/spml: Fix warnings in ikrit component
2015-12-16 17:36:54 +02:00
Mike Dubman
dc3b138b7f
Merge pull request #1178 from igor-ivanov/pr/oshmem-fix-preconnect_all
...
oshmem: Add skew to the oshmem_preconnect_all
2015-12-03 21:00:52 +02:00
Jeff Squyres
a25cf8065d
Merge pull request #1176 from igor-ivanov/pr/oshmem-rm-java
...
oshmem: Remove JAVA support
2015-12-03 13:26:09 -05:00
Igor Ivanov
c4fc1ec081
oshmem: Add skew to the oshmem_preconnect_all
2015-12-03 18:32:26 +02:00
Igor Ivanov
63bc655b53
oshmem: Remove JAVA support
...
There is a conclusion to remove java support
(see https://github.com/open-mpi/ompi-release/pull/787 )
2015-12-03 11:59:07 +02:00
Igor Ivanov
5c061abf4e
oshmem: Fix scan coverity issues
...
1324740 - Resource leak
1304562 - Unchecked return value
1340514 - Dereference before null check
1340515 - Use of untrusted scalar value
1340516 - Use of untrusted string value
2015-12-02 12:49:19 +02:00
igor-ivanov
d8c85738ab
Merge pull request #1151 from igor-ivanov/pr/opal-abort-vars
...
Add new mca variables opal_abort_delay and opal_abort_print_stack
2015-12-01 16:27:11 +04: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@itseez.com
c15bf147bf
opal: Add opal_abort_print_stack mca variable with aliases for ompi/oshmem
...
This commit allows to control output during abnormal oshmem/ompi application
termination.
Fixed issue in backtrace output. HAVE_BACKTRACE was never set so user was limited
in control of this variable.
Two related mca variables are moved to opal layer. Corresponding aliases are
added for ompi and oshmem.
2015-11-25 18:18:33 +02:00
Igor Ivanov
ab70ca6d16
Revert "oshmem: Add new mca variables oshmem_abort_delay and oshmem_abort_print_stack"
...
This commit is replaced with more suitable.
This reverts commit f288cd7254
.
2015-11-25 13:27:34 +02:00
Igor Ivanov
217423e278
oshmem: Align OSHMEM API with spec v1.2 (java)
2015-11-24 19:29:23 +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
Igor Ivanov
e8b11500d5
oshmem: Align OSHMEM API with spec v1.2 (introduce SHMEM_SPEC_VERSION macro)
2015-11-24 18:58:27 +02:00
Igor Ivanov
05d947d55a
oshmem: Align OSHMEM API with spec v1.2 (support environment variables)
2015-11-24 18:57:56 +02:00