1
1

28 Коммитов

Автор SHA1 Сообщение Дата
Yossi Itigin
ad4b33336d oshmem/scoll: fix shmem_collect32/64 for zero-size length
Fixes scoll_basic failures with shmem_verifier, caused by recent changes
in handling of zero-size collectives.

- Check for zero-size length only for fixed size collect (shmem_fcollect),
  but not for variable-size collect (shmem_collect)
- Add 'nlong_type' parameter to internal broadcast function, to indicate
  whether the 'nlong' parameter is valid on non-root PEs, since it's
  used by shmem_collect algorithm. Before this change, some components
  assumed it's true (scoll_mpi) while others assumed it's false
  (scoll_basic).
- In scoll_basic, if nlong_type==false, do not exit if nlong==0, since
  this parameter may not be the same on all PEs.
- In scoll_mpi, fallback to scoll_basic if nlong_type==false, since MPI
  requires the 'count' argument of MPI_Bcast to be valid on all ranks.

(Picked from master 939162e)

Signed-off-by: Yossi Itigin <yosefe@mellanox.com>
2019-01-02 12:15:01 +02:00
Sergey Oblomov
0a064d8c8d OSHMEM/COLL: optimization on zero-length ops
- removed barrier call on zero-length operations

Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
(cherry picked from commit ff2fd0679eb4b31bfd840395d73746612e2670f4)
2018-11-27 14:26:52 +02:00
Sergey Oblomov
dea9cf6b63 OSHMEM: added processing of zero-length collectives
- according spec 1.4, annex C shmem collectives should process
  calls where number of elements is zero independently from pointer
  value
- added zero-count processing - it just call barrier to
  sync ranks

Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
(cherry picked from commit 9de128afaf5224193a88f00c897f5d5c94336f99)
2018-11-27 14:26:44 +02:00
Boris Karasev
3796307a57 timings: added new timing points
Signed-off-by: Boris Karasev <karasev.b@gmail.com>
2018-03-21 05:16:25 +02:00
Joshua Hursey
e1d079544b mca: Dynamic components link against project lib
* Resolves #3705
 * Components should link against the project level library to better
   support `dlopen` with `RTLD_LOCAL`.
 * Extend the `mca_FRAMEWORK_COMPONENT_la_LIBADD` in the `Makefile.am`
   with the appropriate project level library:
```
MCA components in ompi/
       $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la
MCA components in orte/
       $(top_builddir)/orte/lib@ORTE_LIB_PREFIX@open-rte.la
MCA components in opal/
       $(top_builddir)/opal/lib@OPAL_LIB_PREFIX@open-pal.la
MCA components in oshmem/
       $(top_builddir)/oshmem/liboshmem.la"
```

Note: The changes in this commit were automated by the script in
the commit that proceeds it with the `libadd_mca_comp_update.py`
script. Some components were not included in this change because
they are statically built only.

Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
2017-08-24 11:56:16 -04:00
George Bosilca
366d64b7e5 Move the collective structure outside the communicator.
As we changed the ABI (forcing a major release), we can limit
the size of the predefined communicators by moving the collective
structure outside the communicator. This might have a minimal,
but unnoticeable, impact on performance. This approach has been
discussed during the January 2017 devel meeting.

Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
2017-02-27 11:54:17 -06: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
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
7de0537a1d oshmem: Add help message for fatal issues in scoll:mpi and scoll:fca
Signed-off-by: Igor Ivanov <Igor.Ivanov@itseez.com>
2015-09-21 18:50:20 +03:00
Igor Ivanov
ec7cd13a81 oshmem: Fix compilation warnings 2015-09-21 18:50:20 +03:00
Igor Ivanov
ca8c3eebea oshmem: Abort application in casesingle scoll:mpi is selected
scoll:mpi does not have barrier and should be selected with
any other scoll component.

Signed-off-by: Igor Ivanov <Igor.Ivanov@itseez.com>
2015-09-21 10:42:54 +03:00
Igor Ivanov
f437f4012e Revert "scoll/mpi: work around bug in oshmem/proc design"
This workaround is needless after oshmem/proc refactoring

This reverts commit 202c6a38e4151c4a4eab9884abaf21f621f87f6d.
2015-09-17 19:01:24 +03:00
Nathan Hjelm
202c6a38e4 scoll/mpi: work around bug in oshmem/proc design
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-09-10 08:55:56 -06:00
Ralph Castain
869041f770 Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
Nathan Hjelm
033894b493 Merge pull request #541 from hjelmn/c99_components
C99 component initialization
2015-04-20 10:45:39 -06:00
Devendar Bureddy
3dbd95fa73 OSHMEM: enable mpi collective by default 2015-04-20 19:39:36 +03: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
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
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
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
c784aab7d8 OSHMEM: scoll fix corner cases
- fix segv
- proper enable/disable and prio handling

fixed by Elena, reviewed by Igor/Mike

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

This commit was SVN r30962.
2014-03-07 12:31:29 +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
1f69e2d588 OSHMEM: fix warn in macro
fixed by Elena, reviewed by Igor/Mike

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

This commit was SVN r30897.
2014-03-01 07:54:48 +00:00
Mike Dubman
4572bd58e5 OSHMEM: fix bug in scoll/mpi, add fortran support
dtypes support to oshmem scoll mpi. added comment to
oshmem scoll mpi component regarding casting size_t to int.

Fixed by Elena, Reviewed by Igor/Mike

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

This commit was SVN r30856.
2014-02-26 17:06:44 +00:00
Joshua Ladd
a0a850a77b Fixing warnings in oshmem/mca/scoll/mpi.
Refs trac:4302

This commit was SVN r30824.

The following Trac tickets were found above:
  Ticket 4302 --> https://svn.open-mpi.org/trac/ompi/ticket/4302
2014-02-25 21:24:15 +00:00
Mike Dubman
180e4f06bf OSHMEM: add support for MPI collectives
oshmem collective can select MPI collectives modules as provider.

Developed by Elena, reviewed by Miked

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

This commit was SVN r30808.
2014-02-25 15:01:10 +00:00