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

167 Коммитов

Автор SHA1 Сообщение Дата
Mike Dubman
54a072caaa OSHMEM: fix infinite recursion and stack size violation
send reply before posting the receive request again to limit the recursion size to
number of receive requests.
send can call opal_progress which calls this function again. If recv req is started
stack size will be proportional to number of job ranks.
2015-01-04 16:31:19 +02:00
Alex Mikheev
c76261da07 OSHMEM: atomic mxm: fix mkey conversion
Correctly return mxm_empty_mem_key when shmem mkey is empty
2014-12-16 16:34:42 +02:00
Alex Mikheev
71ebbca26d OSHMEM: spml ikrit: fix spelling in help file 2014-12-16 16:18:38 +02:00
Alex Mikheev
3f7ed56548 OSHMEM: spml ikrit: fix mxm disconnect flow
Add out of band barrier before performing mxm disconnect.
It will make sure that every pe is ready to disconnect. Otherwise
bad things may happen.
2014-12-16 15:07:17 +02:00
Alex Mikheev
428add390e OSHMEM: spml ikrit: add skew to connect/disconnect
Each pe connects/disconnects starting from itself instead of pe=0. This
will distribute network traffic in a more friendly way.
2014-12-03 15:36:45 +02:00
Alex Mikheev
8de50d8420 OSHMEM: spml ikrit: add call to mxm_mq_destroy()
Make valgrind happy by calling mxm_mq_destroy() on module
close.
2014-12-01 12:36:46 +02:00
Nathan Hjelm
d495d49b1c Merge pull request #273 from open-mpi/topic/yoda_rdma_flags
OSHMEM: spml yoda: use flags to check if btl is RDMA capable
2014-11-16 12:04:04 -07:00
Alex Mikheev
fbb9dc5b1e OSHMEM: spml ikrit valgrind fix
always initialize request flags
2014-11-16 17:24:16 +02:00
Alex Mikheev
3443c1d5e5 OSHMEM: spml yoda: use flags to check if btl is RDMA capable 2014-11-16 17:20:20 +02:00
Gilles Gouaillardet
2177f9ec3e fix missing copyright, no code change 2014-11-13 14:56:09 +09:00
Gilles Gouaillardet
cd6e3ecb07 oshmem/yoda: fix a typo in mca_spml_yoda_get_completion 2014-11-13 14:53:32 +09:00
Ralph Castain
780c93ee57 Per the PR and discussion on today's telecon, extend the process name definition as a two-field struct of uint32_t's down to the OPAL layer. This resolves issues created by prior commits that impacted both heterogeneous and SPARC support. This also simplifies the OMPI code base by removing the need for frequent memcpy's when transitioning between the OMPI/ORTE layers and OPAL.
We recognize that this means other users of OPAL will need to "wrap" the opal_process_name_t if they desire to abstract it in some fashion. This is regrettable, and we are looking at possible alternatives that might mitigate that requirement. Meantime, however, we have to put the needs of the OMPI community first, and are taking this step to restore hetero and SPARC support.
2014-11-11 17:00:42 -08:00
Alex Mikheev
097b469f61 OSHMEM: sshmem verbs: fix shared_mr detection
It seems that 5ce2f10067
changed default flag values but it did not modify detection code.
2014-11-10 13:34:04 +02:00
Alex Mikheev
7327b13823 OSHMEM: sshmem mmap: removed unused help topics 2014-11-05 16:39:20 +02:00
Alex Mikheev
1f2ab43ba9 OSHMEM: spml ikrit: remove empty lines in helpfile 2014-11-04 11:26:09 +02:00
Alex Mikheev
d06fb85350 OSHMEM: fixes 'improve mxm transport sanity check'
The code that actually checks for valid transport combos
somehow did not make it to the original commit:

74ab30b738
2014-11-04 11:07:22 +02:00
Alex Mikheev
e1cf6f37ba OSHMEM: spml ikrit: disable rdmap op DCI pool
Instead use single pool for both rdma and send receive ops.
2014-11-03 10:01:07 +02:00
Mike Dubman
5ce2f10067 OSHMEM: integrate review comments from open-mpi/ompi-release#7 2014-10-24 17:21:46 +03:00
Alex Mikheev
5af4d02bd3 OSHMEM: spml ikrit: complete puts b4 memheap destruction
Force completion of all puts before deregestering memheap/bss memory

Fixes a possible race condition where put request completion callback
is called when request context is already cleared.

Change-Id: I7ed887ec0b03a66ce5d3076a7edcf64061f57370
2014-10-19 14:04:34 +03:00
Mike Dubman
ab22dcb875 Merge pull request #229 from nkogteva/master
oshmem mmap: new mca parameters were introduced - sshmem_mmap_anonymous,...
2014-10-15 10:24:29 +03:00
Alex Mikheev
643e64497d OSHMEM: spml ikrit: hw rdma channel is disabled by default 2014-10-14 16:09:51 +03:00
Alex Mikheev
74ab30b738 OSHMEM: spml ikrit: improve mxm transport sanity check
Do not allow combination of transports that is not compliant with
shmem spec. Especially do not allow mix of hw and software atomic
ops

Issue: 4721
Change-Id: Ide382f7510495df3d385f2a5ae5f9def6ef5332c
2014-10-14 15:44:57 +03:00
Alex Mikheev
1bcc88cfb1 OSHMEM: spml ikrit: hardware rdma endpoint
Create additional endpoint that is capable of true
one sided RDMA transfers.

MXM atomics component now uses this endpoint
2014-10-14 15:31:09 +03:00
Alina Sklarevich
1eb6286547 OSHMEM: fix the makefile.
(oshmem/mca/sshmem/base/Makefile.am)
2014-10-14 11:57:46 +03:00
Nadezhda Kogteva
b2a93943dc oshmem mmap: set lvl4 for sshmem_mmap_anonymous and sshmem_mmap_fixed variables, define MAP_ANONYMOUS returned. 2014-10-14 08:54:44 +03:00
Mike Dubman
ec1f761d8e OSHMEM: add missing help file, got lost during merge. Thanks to Yossi/Igor for finding it.
Change-Id: I466e40a3fea70e8045dd1e897edcc50ccf0451a3

Conflicts:
	oshmem/mca/sshmem/base/Makefile.am
	oshmem/mca/sshmem/base/help-oshmem-sshmem.txt
2014-10-13 16:58:35 +03:00
Alex Mikheev
8fcbcba516 Merge branch 'topic/oshmem_shared_mr_fix' 2014-10-13 15:24:12 +03:00
Alex Mikheev
cd67642183 OSHMEM: sshmem verbs: workaround shared_mr procfs bug
dereg shared_mr before doing dereg on its mr.
2014-10-13 15:14:34 +03:00
Nadezhda Kogteva
c68c4b45b5 Merge remote-tracking branch 'upstream/master' 2014-10-13 15:12:39 +03:00
Nadezhda Kogteva
de68d58a9e oshmem: refactor of oshmem/mca/sshmem/*.[ch] files to use #if MACRO style 2014-10-13 13:12:16 +03:00
Nadezhda Kogteva
3e7002e8aa oshmem mmap: copyrights for memheap_base_alloc.c files updated 2014-10-13 11:41:35 +03:00
Nadezhda Kogteva
ce4ee2aa8d oshmem mmap: new mca parameters were introduced - sshmem_mmap_anonymous, sshmem_mmap_fixed and sshmem_base_backing_file_dir - for runtime mmap management.
(cherry picked up from Mellanox-v1.8 repo commit 4c391a)
2014-10-13 11:39:26 +03:00
Mike Dubman
113f40b0ec OSHMEM: sshmem verbs: allocate memory at fixed address
Use experimental verbs to allocate memory at fixed base
virtual address.

verbs will disqualify itself if shared_mr is disabled
or not supported and it is impossible to allocate memory
starting at fixed base virtual address.

verbs contig pages allocator did not guarantee fixed va, now it does.
(cherry picked from commit fd77ebd452)

Apply Jeff`s comments

Update with Jeff commits
(cherry picked from commit open-mpi/ompi-release@4dc487fc3d)
2014-10-12 09:53:48 +03:00
Alex Mikheev
89535a3272 OSHMEM: sshmem mmap: use MAP_PRIVATE instead of MAP_SHARED
It looks like using MAP_PRIVATE instead of MAP_SHARED greatly
speeds up infiniband memory registration.

Change-Id: Id7089f58458ef8fff4034a2c4707d31f7e8b6694
2014-10-06 11:41:06 +03:00
Mike Dubman
fd77ebd452 OSHMEM: sshmem verbs: allocate memory at fixed address
Use experimental verbs to allocate memory at fixed base
virtual address.

verbs will disqualify itself if shared_mr is disabled
or not supported and it is impossible to allocate memory
starting at fixed base virtual address.

verbs contig pages allocator did not guarantee fixed va, now it does.
2014-10-05 14:33:56 +03:00
Alex Mikheev
4ac5936257 OSHMEM: sshmem verbs: improve hca name parsing
If user gives hca port ignore port, use only hca name.
Ex: mlx4_0:1 -> mlx4_0

fixed by @alex-mikheev reviewed by @miked-mellanox
2014-10-05 14:29:11 +03:00
Igor Ivanov
d82dc7f67f OSHMEM: Add two new mca variables
Added use_hp flag in sshmem/sysv variable to control huge page usage;
Added shared_mr sshmem/verbs;
Both paraemetes are set in auto.
Fix help messages

fixed by Igor, reviewed by @miked-mellanox and @alex-mikheev
2014-10-05 14:25:39 +03:00
Alex Mikheev
067fa05209 OSHMEM: fixes bug in shmem_lock
Lock server pe computation was incorrect in cases when:

lock virtual address is signed long. In this case negative pe
value was returned.

In case when lock has different virtual adresses on different pes.
It can happen when memheap or static segment have different base
addresses. Use offset instead of absolute virtual address to
compute server pe

Fixed by @alex-mikheev, reviewed by @miked-mellanox
2014-10-05 09:31:03 +03:00
Alina Sklarevich
e974bec57e OSHMEM: fix check-help-string.pl errors and warnings.
This commit was SVN r32511.
2014-08-12 11:30:14 +00:00
Gilles Gouaillardet
03fbd9a12d check-help-strings cleanup
This commit was SVN r32490.
2014-08-11 03:19:01 +00:00
Mike Dubman
e819a45cee shmem: opal refactoring voices
http://www.open-mpi.org/community/lists/devel/2014/08/15590.php

This commit was SVN r32489.
2014-08-10 08:06:37 +00:00
Mike Dubman
bb53dff57a oshmem: fix after opal refactoring
http://www.open-mpi.org/community/lists/devel/2014/08/15590.php

This commit was SVN r32488.
2014-08-10 07:30:12 +00:00
Mike Dubman
b99fd08c3d oshmem: scoll/fca - opal refactoring voices
based on http://www.open-mpi.org/community/lists/devel/2014/08/15590.php

This commit was SVN r32487.
2014-08-10 04:54:38 +00:00
Rolf vandeVaart
49ab9fe795 Add missing include file to fix build.
Refs trac:4826

This commit was SVN r32439.

The following Trac tickets were found above:
  Ticket 4826 --> https://svn.open-mpi.org/trac/ompi/ticket/4826
2014-08-06 13:57:53 +00:00
Gilles Gouaillardet
e8bf030d93 Use opal_getpagesize to get the proper page size
Refs trac:4826

This commit was SVN r32427.

The following Trac tickets were found above:
  Ticket 4826 --> https://svn.open-mpi.org/trac/ompi/ticket/4826
2014-08-05 05:35:57 +00:00
Ralph Castain
552c9ca5a0 George did the work and deserves all the credit for it. Ralph did the merge, and deserves whatever blame results from errors in it :-)
WHAT:    Open our low-level communication infrastructure by moving all necessary components (btl/rcache/allocator/mpool) down in OPAL

All the components required for inter-process communications are currently deeply integrated in the OMPI layer. Several groups/institutions have express interest in having a more generic communication infrastructure, without all the OMPI layer dependencies.  This communication layer should be made available at a different software level, available to all layers in the Open MPI software stack. As an example, our ORTE layer could replace the current OOB and instead use the BTL directly, gaining access to more reactive network interfaces than TCP.  Similarly, external software libraries could take advantage of our highly optimized AM (active message) communication layer for their own purpose.  UTK with support from Sandia, developped a version of Open MPI where the entire communication infrastucture has been moved down to OPAL (btl/rcache/allocator/mpool). Most of the moved components have been updated to match the new schema, with few exceptions (mainly BTLs where I have no way of compiling/testing them). Thus, the completion of this RFC is tied to being able to completing this move for all BTLs. For this we need help from the rest of the Open MPI community, especially those supporting some of the BTLs.  A non-exhaustive list of BTLs that qualify here is: mx, portals4, scif, udapl, ugni, usnic.

This commit was SVN r32317.
2014-07-26 00:47:28 +00:00
Mike Dubman
0c2aa8abcd OSHMEM: Set SMA_SYMMETRIC_SIZE to default value
OpenSHMEMspec 1.1 introduces a set of environment variables that allows users to configure the Open-SHMEM implementation, and receive information about the implementation.
- Add SMA_SYMMETRIC_SIZE - number of bytes to allocate for symmetric heap
- SHMEM_SYMMETRIC_HEAP_SIZE (Mellanox extension) is used by a user to provide a size of symmetric area. This change sets this env variable in case a user does not set this variable
  directly.

fixed by Igor, reviewed by Miked

cmr=v1.8.2:reviwer=ompi-rm1.8

This commit was SVN r32257.
2014-07-17 17:53:15 +00:00
Mike Dubman
8d906b12f2 oshmem: fix warnings
fixed by Igor, reviewed by Miked

cmr=v1.8.2:reviewer=ompi-rm1.8

This commit was SVN r32217.
2014-07-11 13:25:09 +00:00
Jeff Squyres
75230ee574 spml_yoda_getreq.c: fix compile error related to r32196
This commit was SVN r32197.

The following SVN revision numbers were found above:
  r32196 --> open-mpi/ompi@a14e0f10d4
2014-07-10 17:17:19 +00:00
Nathan Hjelm
a14e0f10d4 Per RFC: Remove des_src and des_dst members from the
mca_btl_base_segment_t and replace them with des_local and des_remote

This change also updates the BTL version to 3.0.0. This commit does
not represent the final version of BTL 3.0.0. More changes are coming.

In making this change I updated all of the BTLs as well as BTL user's
to use the new structure members. Please evaluate your component to
ensure the changes are correct.

RFC text:

This is the first of several BTL interface changes I am proposing for
the 1.9/2.0 release series.

What: Change naming of btl descriptor members. I propose we change
des_src and des_dst (and their associated counts) to be des_local and
des_remote. For receive callbacks the des_local member will be used to
communicate the segment information to the callback. The proposed change
will include updating all of the doxygen in btl.h as well as updating
all BTLs and BTL users to use the new naming scheme.

Why: My btl usage makes use of both put and get operations on the same
descriptor. With the current naming scheme I need to ensure that there
is consistency beteen the segments described in des_src and des_dst
depending on whether a put or get operation is executed. Additionally,
the current naming prevents BTLs that do not require prepare/RMA matched
operations (do not set MCA_BTL_FLAGS_RDMA_MATCHED) from executing
multiple simultaneous put AND get operations. At the moment the
descriptor can only be used with one or the other. The naming change
makes it easier for BTL users to setup/modify descriptors for RMA
operations as the local segment and remote segment are always in the
same member field. The only issue I forsee with this change is that it
will require a little more work to move BTL fixes to the 1.8 release
series.

This commit was SVN r32196.
2014-07-10 16:31:15 +00:00