1
1
Граф коммитов

447 Коммитов

Автор SHA1 Сообщение Дата
Alex Mikheev
67d66c2326
oshmem: sshmem: make mmap allocator a default instead of verbs
By default use mmap() to allocate memory for the symmetric heap.
It is safer and more portable choice than sysv and verbs.

Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2016-12-14 13:31:16 +02:00
Alina Sklarevich
e9d2d029c6 PML/SPML/UCX: Adapt to the API changes in the UCX lib.
Signed-off-by: Alina Sklarevich <alinas@mellanox.com>
2016-12-08 11:33:29 +02:00
Gilles Gouaillardet
804a784fce Merge pull request #2544 from ggouaillardet/topic/mca_spml_yoda_get
spml/yoda: fix support for BTLs that do not register memory in mca_sp…
2016-12-08 17:26:07 +09:00
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