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

29454 Коммитов

Автор SHA1 Сообщение Дата
Howard Pritchard
c9764f661b
Merge pull request #6263 from jsquyres/pr/v4.0.x/minor-fortran-valgrind-fix
v4.0.x: mpi/fortran: Fix valgrind warnings for type create
2019-01-13 12:31:46 -07:00
Gilles Gouaillardet
cca3caa84f configury: enhance C11 detection
clang 5.0 on trusty is busted with respect to C11 atomics

This can be evidenced with the simple program below.
This test was added into OPAL_PROG_CC_C11_HELPER() and disable
C11 atomics if it fails.

_Atomic uint32_t a;
uint32_t b;
atomic_fetch_xor_explicit(&a, b, memory_order_relaxed);

Refs. open-mpi/ompi#6264

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>

(cherry picked from commit open-mpi/ompi@d1fadebc65)
2019-01-13 14:19:36 +09:00
Howard Pritchard
bc58e22b03
Merge pull request #6120 from gpaulsen/topic/v4.0.x/re-add-deprecated-oops
v4.0.x: Re-add removed deprecate-only MPI-2.0 symbols
2019-01-09 20:10:02 -07:00
Risto Toijala
979b401936 mpi/fortran: Fix valgrind warnings for type create
Valgrind warns that *newtype is uninitialized when calling from
Fortran as e.g.
    use mpi
    integer :: t, err
    call MPI_Type_create_f90_integer(5, t, err)

Since newtype is intent(out), this should not happen. There is
no reason to convert the type using PMPI_Type_f2c, only to over-
write it immediately afterwards. The other type_create_* functions
did not convert newtype.

The valgrind warnings:
==28441== Conditional jump or move depends on uninitialised value(s)
==28441==    at 0x581B555: PMPI_Type_f2c (in [...]/lib/libmpi.so.0.0.0)
==28441==    by 0x4E87AB7: MPI_TYPE_CREATE_F90_INTEGER (in [...]/lib/libmpi_mpifh.so.0.0.0)
==28441==    by 0x400BA1: MAIN__ (in [...])
==28441==    by 0x400C46: main (in [...])
==28441==
==28441== Conditional jump or move depends on uninitialised value(s)
==28441==    at 0x581B563: PMPI_Type_f2c (in [...]/lib/libmpi.so.0.0.0)
==28441==    by 0x4E87AB7: MPI_TYPE_CREATE_F90_INTEGER (in [...]/lib/libmpi_mpifh.so.0.0.0)
==28441==    by 0x400BA1: MAIN__ (in [..])
==28441==    by 0x400C46: main (in [...])
==28441==
==28441== Use of uninitialised value of size 8
==28441==    at 0x581B577: PMPI_Type_f2c (in [...]/lib/libmpi.so.0.0.0)
==28441==    by 0x4E87AB7: MPI_TYPE_CREATE_F90_INTEGER (in [...]/lib/libmpi_mpifh.so.0.0.0)
==28441==    by 0x400BA1: MAIN__ (in [...])
==28441==    by 0x400C46: main (in [...])
==28441==

Signed-off-by: Risto Toijala <risto.toijala@gmail.com>
(cherry picked from commit f14a0f4fc9)
2019-01-09 07:24:22 -08:00
Sergey Oblomov
ef7ab9bf96 OSHMEM: added missing API for get/put operations
- added calls for datatypes int/uint/8/16/32/size/ptrdiff
  for shmem_g/get/iget/get_nbi/_p/put/iput/put_nbi

Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
(cherry picked from commit cfa9150934)
2019-01-09 11:52:26 +02:00
Howard Pritchard
0258ed5dfa
Merge pull request #6252 from ggouaillardet/topic/v4.0.x/pmix-v3.1
pmix/ext3x: fix support for external PMIx v3.1
2019-01-08 09:15:31 -07:00
Nathan Hjelm
b7fbdeb759 btl/vader: minor correction to match ompi coding style
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
(cherry picked from commit edaf08bf6d)
2019-01-07 16:40:01 -07:00
Nathan Hjelm
140842668f btl/vader: don't try to set reachabilty in add_procs if not requested
This commit fixes a bug where add_procs can incorrectly return an
error when going through the dynamic add_procs path. This doesn't
happen normally, only when pml/ob1 is not in use.

References #6201

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
(cherry picked from commit 30b8336cb4)
2019-01-07 14:20:33 -07:00
Gilles Gouaillardet
61108b6228 pmix/ext3x: fix support for external PMIx v3.1
The PMIX_MODEX and PMIX_INFO_ARRAY macros were removed from the PMIx 3.1 standard.
Open MPI does not really need them (they are only used to be reported as not supported),
so smply #ifdef protect them to support an external PMIx v3.1

The change only need to be done in ext3x/ext3x.c.
But since this file is automatically generated from pmix3x/pmix3x.c, we have to update
the latter file.

Refs. open-mpi/ompi#6247

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>

(back-ported from commit open-mpi/ompi@950ba16aa1)
2019-01-07 20:27:34 +09:00
Howard Pritchard
66c8694039
Merge pull request #6235 from yosefe/topic/scoll-basic-fix-zero-size-collect-v4.0.x
v4.0.x: oshmem/scoll: fix shmem_collect32/64 for zero-size length
2019-01-03 09:34:35 -07:00
Howard Pritchard
cf8139449e
Merge pull request #6218 from jsquyres/pr/v4.0.x/fix-CID-1441826
v4.0.x: odls_base_default_fns.c: remove errant free
2019-01-02 09:41:21 -07:00
Howard Pritchard
d5f5e49bde
Merge pull request #6232 from jsquyres/pr/v4.0.x/distribute-ompi-grequest-header
v4.0.x: romio321: ensure to distribute ompi_grequestx.h
2019-01-02 09:40:04 -07:00
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
Jeff Squyres
1a1a932acc romio321: ensure to distribute ompi_grequestx.h
Refs https://github.com/open-mpi/ompi/issues/6227.  Thanks to
George Marselis for reporting.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
(cherry picked from commit 62321be186)
2018-12-28 13:18:10 -08:00
Jeff Squyres
20d231defa odls_base_default_fns.c: put the free() in the right place
Fixes CID 1441826.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
(cherry picked from commit f96c04244d)
2018-12-22 06:41:33 -08:00
Howard Pritchard
af7a7f5da1
Merge pull request #6216 from abouteiller/export4x/overspawn
v4.0.x: Correctly propagate the oversubscribe flag to the spawnees
2018-12-21 15:33:05 -07:00
Howard Pritchard
fd2259774d
Merge pull request #6167 from ggouaillardet/topic/v4.0.x/btl_uct_fix_warning
btl/uct: fix misc warnings
2018-12-21 15:31:16 -07:00
Howard Pritchard
63315250d8
Merge pull request #6204 from jsquyres/pr/v4.0.x/another-rank-file-fix
v4.0.x: another rank file fix
2018-12-21 15:30:42 -07:00
Aurélien Bouteiller
d9b0dad828
Correctly propagate the oversubscribe flag to the spawnees
This is a cherry-pick of master (2820aef). The propagation is intended to resolve issue #6130

Signed-off-by: Aurélien Bouteiller <bouteill@icl.utk.edu>
2018-12-21 14:53:25 -05:00
Geoffrey Paulsen
4aa91e1ffb Return MPI1 function implementations to build list
Adding the implementations of the functions that were removed
from the MPI standard to the build list, regardless of the
state of the OMPI_ENABLE_MPI1_COMPAT.

According to the README, we want the OMPI_ENABLE_MPI1_COMPAT
configure flag to control which MPI prototypes are exposed in
mpi.h, NOT, which are built into the mpi library.  Those will
remain in the mpi library until a future major release (5.0?)

NOTE: for the Fortran implementations, we instead define
      OMPI_OMIT_MPI1_COMPAT_DECLS to 0 instead of
      OMPI_ENABLE_MPI1_COMPAT to 1.  I'm not sure why, but
      this seems to work correctly.

Also changing the removed MPI_Errhandler_create implementation
to use the non removed MPI_Comm_errhandler_function prototype
(prototype remains unchanged from MPI_Comm_errhandler_fn)

NOTE: This commit is *NOT* a cherry-pick from master, because
      on master, we are no longer building those symbols by
      default, but on v4.0.x we _ARE_ still building these
      symbols by default.   This is because the v4.0.x branch
      is to remain backwards compatible with v3.0.x, while at
      the same time removing the "removed" symbols from mpi.h
      (unless the user configures with --enable-mpi1-compatibility)

Signed-off-by: Geoffrey Paulsen <gpaulsen@us.ibm.com>
2018-12-20 12:22:04 -06:00
Ralph Castain
2d9c936082 If job is fully described, there will be no ppn string to unpack
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
(cherry picked from commit d728380741)
2018-12-18 08:27:39 -08:00
Howard Pritchard
4be4282312
Merge pull request #6128 from ggouaillardet/topic/v4.0.x/mpiext_short_path
mpiext: keep paths short
2018-12-17 13:22:19 -07:00
Howard Pritchard
71b83e8a09
Merge pull request #6193 from kawashima-fj/pr/v4.0.x/fix-type-create-f90
v4.0.x: mpi/c: Fix MPI_TYPE_CREATE_F90_{REAL,COMPLEX}
2018-12-17 13:21:21 -07:00
Howard Pritchard
d39d68e06d
Merge pull request #6169 from matcabral/remove_psm2_lower_p_v4
MTL/PSM2: Do not lower the priority when all processes are local.
2018-12-15 09:41:53 -07:00
KAWASHIMA Takahiro
8eb90ae9aa mpi/c: Fix MPI_TYPE_CREATE_F90_{REAL,COMPLEX}
This commit fixes edge cases of `r = 38` and `r = 308`.

As defined in the MPI standard, `TYPE_CREATE_F90_REAL` and
`TYPE_CREATE_F90_COMPLEX` must be consistent with the Fortran
`SELECTED_REAL_KIND` function. The `SELECTED_REAL_KIND` function is
defined based on the `RANGE` function. The `RANGE` function returns
`INT(MIN(LOG10(HUGE(X)), -LOG10(TINY(X))))` for a real value `X`.

The old code considers only `INT(LOG10(HUGE(X)))` using `*_MAX_10_EXP`.
This commit adds `INT(-LOG10(TINY(X)))` part using `*_MIN_10_EXP`.

This bug affected the following `p`-`r` combinations.

| p             | r   | expected  | returned  | expected  | returned  |
| :------------ | --: | :-------- | :-------- | :-------  | :-------- |
| MPI_UNDEFINED |  38 | REAL8     | REAL4     | COMPLEX16 | COMPLEX8  |
| 0 <= p <= 6   |  38 | REAL8     | REAL4     | COMPLEX16 | COMPLEX8  |
| MPI_UNDEFINED | 308 | REAL16    | REAL8     | COMPLEX32 | COMPLEX16 |
| 0 <= p <= 15  | 308 | REAL16    | REAL8     | COMPLEX32 | COMPLEX16 |

MPICH returns the same result as Open MPI with this fix.

Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
(cherry picked from commit 6fb01f64fe)
2018-12-13 16:01:56 +09:00
Jeff Squyres
ec8b2c47a9 ompi_ext.m4: ensure ext name <= 26 characters
Ensure that MPI extensions with mpif.h bindings have names that are
<=26 characters long.  26 is the magic number that still allows us to
have an "include ..." line in the user-facing mpif-ext.h header file
that includes this extension's header file without going over 72
characters.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>

(cherry picked from commit open-mpi/ompi@c0faf34855)
2018-12-12 09:25:12 +09:00
Gilles Gouaillardet
a79ce7d17f mpiext: updates for header file locations
Per discussion on https://github.com/open-mpi/ompi/pull/6030
and https://github.com/open-mpi/ompi/pull/6145, move
around where MPI extension header files are installed (specifically:
the installation tree path does not need to match the source tree
path).

For reference, header files were installed like this :

 - <prefix>/include/openmpi/ompi/mpiext/pcollreq/mpif-h/mpiext_pcollreq_mpifh.h
 - <prefix>/include/openmpi/ompi/mpiext/pcollreq/c/mpiext_pcollreq_c.h

and they are now installed like this :

 - <prefix>/include/openmpi/mpiext/mpiext_pcollreq_mpifh.h
 - <prefix>/include/openmpi/mpiext/mpiext_pcollreq_c.h

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>

(cherry picked from commit open-mpi/ompi@975e3cd0c9)
2018-12-12 09:24:45 +09:00
Howard Pritchard
4cce2b84fa
Merge pull request #6176 from ggouaillardet/topic/v4.0.x/uct_configury
v4.0.x: btl/uct: fix a typo in configure.m4
2018-12-11 09:19:06 -07:00
Howard Pritchard
ebd3421e53
Merge pull request #6165 from ggouaillardet/topic/v4.0.x/pmix_atomics
pmix/pmix3x: fix macros usage in embedded pmix3x
2018-12-11 09:17:17 -07:00
Howard Pritchard
7ad025e92b
Merge pull request #6160 from hjelmn/v4.0.x_btl_uct_fix_usage_when_on_ugni_even_though_we_really_dont_want_to_support_that_usage
v4.0.x: fix btl/uct usage on Cray hardware
2018-12-11 09:14:09 -07:00
Gilles Gouaillardet
0ade49c286 mpi/c: add back (some more) deprecated subroutines
- MPI_NULL_DELETE_FN
 - MPI_NULL_COPY_FN
 - MPI_DUP_FN

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
(cherry picked from commit 5a968306d6)
2018-12-11 09:55:33 -06:00
Bert Wesarg
5e4a6db23b Re-add removed deprecate-only MPI-2.0 symbols
See #6114

Signed-off-by: Bert Wesarg <bert.wesarg@tu-dresden.de>
(cherry picked from commit b3f3281290)
2018-12-11 09:55:33 -06:00
Howard Pritchard
552834b9a6
Merge pull request #6110 from hoopoepg/topic/amo-int32-64-datatypes-v4.0
OSHMEM/AMO: added int/uint/32/64 atomics calls - v4.0
2018-12-11 06:43:05 -07:00
Gilles Gouaillardet
f446472f06 btl/uct: fix a typo in configure.m4
remove whitespace around '=' when setting btl_uct_LIBS

Thanks Ake Sandgren for reporting this

Refs. open-mpi/ompi#6173

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>

(cherry picked from commit open-mpi/ompi@b89deeb1bb)
2018-12-11 15:15:12 +09:00
Matias A Cabral
b2327049c1 MTL/PSM2: add missing default priority
Missing default priority after PR #6153

Signed-off-by: Matias Cabral <matias.a.cabral@intel.com>
(cherry picked from commit c76c6d8b28)
2018-12-07 16:22:59 -08:00
Matias A Cabral
80113a368f MTL/PSM2: Do not lower the priority when all processes are local.
The intention of lowering the priority when all processes are local
was to favor Vader BTL. However, in builds including the OFI MTL it
gets selected instead.

Reviewed-by: Spruit, Neil R <neil.r.spruit@intel.com>
Reviewed-by: Gopalakrishnan, Aravind <aravind.gopalakrishnan@intel.com>
Signed-off-by: Matias Cabral <matias.a.cabral@intel.com>
(cherry picked from commit fc8582c560)
2018-12-07 11:11:43 -08:00
Gilles Gouaillardet
dd2b1ce49b btl/uct: fix a warning
Use the PRIsize_t macro to correctly print a size_t

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>

(cherry picked from commit open-mpi/ompi@78aa6fdd1d)
2018-12-07 17:02:16 +09:00
Gilles Gouaillardet
ffbe85c65f btl/uct: fix AC_CHECK_DECLS usage
AC_CHECK_DECLS take a comma separated list of macros/symbols,
so replace the whitespace separator with a comma.

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>

(cherry picked from commit open-mpi/ompi@b715dd2657)
2018-12-07 16:27:57 +09:00
Gilles Gouaillardet
195a07d03d pmix/pmix3x: fix macros usage in embedded pmix3x
Use PMIX_* macros instead of OPAL_* macros
master does things differently, so this is a one-off commit

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-12-07 16:07:07 +09:00
Nathan Hjelm
0957861689 btl/uct: fix some issues when using UCX over ugni
Though not a recommended configuration it is possible to use Open MPI
over UCX over uGNI. This configuration had some issues related to the
connection management and tl selection. This commit fixes those
issues.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
(cherry picked from commit e07a64c52d)
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2018-12-06 10:57:59 -07:00
Gilles Gouaillardet
057118dbe6 btl/uct: fix AC_CHECK_DECLS usage
AC_CHECK_DECLS take a comma separated list of macros/symbols,
so replace the whitespace separator with a comma.

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
(cherry picked from commit b715dd2657)
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2018-12-06 10:56:45 -07:00
Howard Pritchard
4f7f6d7061
Merge pull request #6155 from ggouaillardet/topic/4.0.1a1
roll to v4.0.1a1
2018-12-05 22:16:25 -07:00
Gilles Gouaillardet
0c3e76ec90 roll to v4.0.1a1
fixes previous commit open-mpi/ompi@116a140be8
that incorrectly rolled to v4.1.0a1

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-12-06 11:29:04 +09:00
Howard Pritchard
804f65f247
Merge pull request #6035 from ggouaillardet/topic/v4.0.x/mpiext_cuda
mpiext/cuda: do not include automatically generated file into dist ta…
2018-12-04 09:26:55 -07:00
Geoff Paulsen
752bbd195f
Merge pull request #6102 from hoopoepg/topic/set-osc-ucx-level-200-v4.0
OSC: set UCX module used by default - v4.0
2018-12-04 10:26:37 -06:00
Howard Pritchard
9fc4782b36
Merge pull request #6124 from hoopoepg/topic/oshmem-zero-len-coll-v4.0
OSHMEM: added processing of zero-length collectives - v4.0
2018-12-04 05:44:16 -07:00
Geoff Paulsen
03cf3e4400
Merge pull request #6112 from kawashima-fj/pr/v4.0.x/update-pcoll-doc
v4.0.x: README & man: Update pcollreq documentation
2018-11-30 13:58:34 -06:00
Geoff Paulsen
240582f600
Merge pull request #6121 from ggouaillardet/topic/v4.0.x/ompi_ext_fortran
v4.0.x: configury: fix auto-generated mpi-[f08-]ext-module.F90
2018-11-30 13:57:29 -06:00
Geoff Paulsen
bd2990f502
Merge pull request #6131 from devreal/rdma-plug-memleak-v4.0.x
v4.0.x: Plug two memory leaks in rdma osc
2018-11-30 13:54:51 -06:00
Geoff Paulsen
51d20915fd
Merge pull request #6139 from rhc54/cmr40/rmap
v4.0.x: Fix typo for rmaps_base_oversubscribe
2018-11-30 13:51:36 -06:00