1
1

49 Коммитов

Автор SHA1 Сообщение Дата
Jeff Squyres
5065978a1e oshmem: __FUNCTION__ -> __func__ fixes 2015-08-05 05:39:38 -07:00
Nathan Hjelm
4d92c9989e more c99 updates
This commit does two things. It removes checks for C99 required
headers (stdlib.h, string.h, signal.h, etc). Additionally it removes
definitions for required C99 types (intptr_t, int64_t, int32_t, etc).

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2015-06-25 10:14:13 -06:00
Ralph Castain
869041f770 Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
Nathan Hjelm
c4a61969c0 oshmem: use C99 subobject naming for component initialization
This commit helps future-proof oshmem components by initializing each
component member by name.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-04-18 10:29:58 -06:00
Nathan Hjelm
b68d66bb9b MCA: Add the project/project version to the MCA base component
This commit adds support for project_framework_component_* parameter
matching. This is the first step in allowing the same framework name
in multiple projects. This change also bumps the MCA component version
to 2.1.0.

All master frameworks have been updated to use the new component
versioning macro. An mca.h has been added to each project to add a
project specific versioning macro of the form
PROJECT_MCA_VERSION_2_1_0.

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2015-03-27 10:59:04 -06:00
Alina Sklarevich
e4c4e7df5e Fix the calls to ibv_fork_init and remove btl_openib_want_fork_support.
In order to have an effect, ibv_fork_init should be called in the
beginning of the verbs initialization flow - before the calls to the
ibv_create_qp and ibv_create_cq verbs.
These functions are called from the oob/ud code and by the time the
other verbs components (btl openib, pml yalla, ...) call ibv_fork_init,
it's too late. This commit forces the call to ibv_fork_init (if it's
requested) right at the beginning of all the components that are using
verbs.
(ibv_fork_init() can be safely called multiple times)

This commit also removes the btl_openib_want_fork_support mca parameter
and adds a new mca parameter instead - opal_verbs_want_fork_support.
Through this new parameter, fork support may be requested for ALL
components.
The default value for this parameter is set to 1.

Before this commit the btl_openib_want_fork_support parameter didn't
provide fork support for the openib btl if its value was set to 1.
(because when openib called ibv_fork_init, it was already after the
calls to ibv_create_* in oob/ud and thereofre it failed).
2015-02-25 10:58:50 +02:00
Alex Mikheev
097b469f61 OSHMEM: sshmem verbs: fix shared_mr detection
It seems that 5ce2f1006762ef908b2960df5b93dc7532f8e448
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
Mike Dubman
5ce2f10067 OSHMEM: integrate review comments from open-mpi/ompi-release#7 2014-10-24 17:21:46 +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
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
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 fd77ebd4525e9e0c1a3ab1c4966bf31aa45251b4)

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
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
Alex Mikheev
c3e017c190 OSHMEM: refactoring of fix wrong btl/sm processing
Use exising fields of mkey struct to identify 'shared memory'
segments.

mkey.u.key is now always initialized to MAP_SEGMENT_SHM_INVALID instead
of 0

reviewed by Mike and Igor
cmr=v1.8.2:reviewer=ompi-rm1.8

This commit was SVN r32174.
2014-07-09 08:57:27 +00:00
Mike Dubman
503db51715 OSHMEM: properly handle situation when verb is unavailable
fixed by Alex, reviewed by Miked
cmr=v1.8.2:reviewer=ompi-rm1.8

This commit was SVN r32103.
2014-06-28 19:02:24 +00:00
Mike Dubman
247da2819f OSHMEM: fix wrong btl/sm processing and typo
fixed by Igor reviewed by Alex,Mike,Yossi

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

This commit was SVN r32100.
2014-06-28 18:40:28 +00:00
Alex Mikheev
3b5fa97790 OSHMEM: fixes problem with local heap2heap copy
check for possibility of heap2heap copy was incorrect
in case when shared heaps have different virtual
addresses on same host.

It seems that ibv_exp_reg_mr() on CIB cards may return
different VAs for heap on same node. On CX3 addresses are
the same.

reviewed by miked

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

This commit was SVN r31969.
2014-06-09 09:41:44 +00:00
Mike Dubman
7c1eb0aad9 OSHMEM: fix for devices which do not support sharedmr
disqualify itself and use next allocator

fixed by Igor, reviewed by MikeD

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

This commit was SVN r31823.
2014-05-19 17:59:49 +00:00
Ralph Castain
5602156a1c Use the correct abstraction layer name for the data dirs
This commit was SVN r31684.
2014-05-08 14:32:24 +00:00
Ralph Castain
11faab1091 The final step of the RFC: convert the <foo>libdir and friends to fit their respective code areas, and equate them all at the top. Note that we can't entirely separate things as the opal_install_dirs framework can't handle separated locations for the various trees.
This commit was SVN r31679.
2014-05-08 02:01:35 +00:00
Mike Dubman
7c47aab927 OSHMEM: fix segv with new OFED
new OFED changed struct layout and static assignment caused segv.
detect struct new layout and use dynamic assignment

fixed by AlexM, reviewed by Miked

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

This commit was SVN r31502.
2014-04-23 11:38:44 +00:00
Mike Dubman
8e4cea59da OSHMEM: bug fix for hca selection from list
fixed by AlexM, reviewed by Miked

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

This commit was SVN r31501.
2014-04-23 11:32:52 +00:00
Mike Dubman
325f4e0449 OSHMEM: sshmem verbs: ofed api changes
Use only contig allocator if shared_mr() is not supported
Fixes ibv_exp_reg_mr() parameters passing.
Fixes incorrect handling of sshmem_verbs_hca_name option.

fixed by AlexM, reviewed by Mike

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

This commit was SVN r31379.
2014-04-13 16:54:18 +00:00
Mike Dubman
490d28e2d4 OSHMEM: usability fix for 32bit systems
set default memheap start address to use one returned from memallocator
on 32bit system kernel may have issue because of this:

 CONFIG_STRICT_DEVMEM kernel option which "prevents user space access to physical memory above 1MB"

fixed by Roman, reviewed by Igor/Miked

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

This commit was SVN r31331.
2014-04-07 23:04:25 +00:00
Mike Dubman
be3fc7bf20 OSHMEM: better error messages when failing
Provide users with right fail reason.

fixes trac:4433

This commit was SVN r31202.

The following Trac tickets were found above:
  Ticket 4433 --> https://svn.open-mpi.org/trac/ompi/ticket/4433
2014-03-25 15:27:13 +00:00
Joshua Ladd
b3c6b0629c Clean up sshmem/mmap error messages. This should be added to
cmr=v1.7.5:ticket=4432

This commit was SVN r31180.

The following Trac tickets were found above:
  Ticket 4432 --> https://svn.open-mpi.org/trac/ompi/ticket/4432
2014-03-20 18:22:12 +00:00
Mike Dubman
aa4775b021 OSHMEM: better error handling for sshmem/mmap
Refs trac:4399

fixed by Roman, reviewed by Miked

cmr=v1.7.5:reviewer=ompi-rm1.7

This commit was SVN r31179.

The following Trac tickets were found above:
  Ticket 4399 --> https://svn.open-mpi.org/trac/ompi/ticket/4399
2014-03-20 16:47:42 +00:00
Jeff Squyres
e5504859d2 Follow on to r31172: improve the help message
* Show the help message for all errors, not just EINVAL
* Put the help message in the correct helpfile
* Fix grammar and spelling, and expand the help message

cmr=v1.7.5:ticket=trac:4431

This commit was SVN r31173.

The following SVN revision numbers were found above:
  r31172 --> open-mpi/ompi@3e51d28b97

The following Trac tickets were found above:
  Ticket 4431 --> https://svn.open-mpi.org/trac/ompi/ticket/4431
2014-03-20 14:51:56 +00:00
Joshua Ladd
3e51d28b97 This commit adds a help message when system limitations prevent setting up OSHMEM's symmetric heap. This fixes trac:4399 and should be added to
cmr=v1.7.5:reviewer=jsquyres

This commit was SVN r31172.

The following Trac tickets were found above:
  Ticket 4399 --> https://svn.open-mpi.org/trac/ompi/ticket/4399
2014-03-20 14:42:25 +00:00
Mike Dubman
9314e9f0a3 OSHMEM: Fix mmap compatibility issue
Using MAP_ANONYMOUS brings different interpretation of fd, offset arguuments of mmap()
Linux:
The mapping is not backed by any file; the fd and offset arguments are ignored.
Mac:
Map anonymous memory not associated with any specific file.  The offset argument is
ignored.  Mac OS X specific: the file descriptor used for creating MAP_ANON regions
can be used to pass some Mach VM flags, and can be specified as -1 if no such flags
are associated with the region
FreeBSD:
Map anonymous memory not associated with any specific file.  The file
descriptor used for creating MAP_ANON must be -1.  The offset   argument must be 0.

fixed by Igor, reviewed by Mike

Refs trac:4399

cmr=v1.7.5:reviewer=ompi-rm1.7

This commit was SVN r31140.

The following Trac tickets were found above:
  Ticket 4399 --> https://svn.open-mpi.org/trac/ompi/ticket/4399
2014-03-19 07:05:40 +00:00
Jeff Squyres
16cab57ec5 Fix some set-but-not-used compiler warnings.
cmr=v1.8:reviewer=miked

This commit was SVN r31061.
2014-03-13 21:20:36 +00:00
Mike Dubman
ec3957ddde OSHMEM: fix cleanup
add proper cleanup for sysv shmem segments
fixed by Igor, reviewed by Miked

cmr=v1.7.5:reviewer=ompi-rm1.7

This commit was SVN r30987.
2014-03-11 13:19:37 +00:00
Mike Dubman
2828afddce OSHMEM: fix output, lower prio for scoll/mpi
fixed by Roman/Elena, reviewed by Igor/Mike

cmr=v1.7.5:revewer=ompi-rm1.7

This commit was SVN r30957.
2014-03-06 16:17:58 +00:00
Mike Dubman
1657d6047c OSHMEM: fix warnings
Thanks to Jeff for spotting.

fixed by Igor, reviewed by Mike

cmr=v1.7.5:reviewer=ompi-rm1.7

This commit was SVN r30951.
2014-03-06 11:14:00 +00:00
Mike Dubman
361f15d5d7 OSHMEM: fix use of opal_verbose
fixed by Roman, reviewed by Igor/Mike

cmr=v1.7.5:reviewer=ompi-rm1.7

This commit was SVN r30943.
2014-03-05 08:49:14 +00:00
Mike Dubman
323e4418b9 OSHMEM: extract memheap allocate methods into separate framework
- similar to opal/shmem
- next step is some refactoring and merge into opal/shmem
 Developed by Igor, reviewed by AlexM, MikeD

This commit fixes trac:4261.

This commit was SVN r30855.

The following Trac tickets were found above:
  Ticket 4261 --> https://svn.open-mpi.org/trac/ompi/ticket/4261
2014-02-26 16:32:23 +00:00