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

29659 Коммитов

Автор SHA1 Сообщение Дата
Brian Barrett
44be7f139a mtl/ofi: Provide av count hint during initialization
Provide the av_attr.count hint (number of addresses that will be
inserted into the address vector through the life of the process)
at initialization of the address vector.  It's ok to be a bit
wrong, but some endpoints (RxR) can benefit by not going through
the slow growth realloc churn.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2019-01-24 15:47:24 -08:00
Gilles Gouaillardet
0832ab5acc opal/datatype: fix opal_convertor_raw
correctly handle the case in which iovec is full and the
last accessed element of the datatype is the beginning of a loop

Refs. open-mpi/ompi#6285

Thanks Axel Huebl for reporting this

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2019-01-23 15:38:43 +09:00
Gilles Gouaillardet
7c938f070f opal/datatype: plug a memory leak in opal_datatype_t destructor
correctly free ptypes if the datatype is not pre-defined.

Thanks Axel Huebl for reporting this.

Refs. open-mpi/ompi#6291

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2019-01-22 10:57:57 +09:00
Edgar Gabriel
c0f8ce0fff common/ompio: fix a floating point division problem
This commit fixes  a problem reported on the mailing list with
individual writes larger than 512 MB.

The culprit is a floating point division of two large, close values.
Changing the datatypes from float to double (which is what is being
used in the fcoll components) fixes the problem.

See issue #6285 and

 https://forum.hdfgroup.org/t/cannot-write-more-than-512-mb-in-1d/5118

Thanks for Axel Huebl and René Widera for reporting the issue.

Signed-off-by: Edgar Gabriel <egabriel@central.uh.edu>
2019-01-21 17:59:12 -06:00
Brian Barrett
fe25097194 mtl/ofi: Print descriptive error message on modex failure
With MTLs, there's no "other transport" when the remote side
does not have an active NIC, so we should print a useful error
message when the modex failed (indicating lack of a NIC on
the remote side).

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2019-01-21 23:50:31 +00:00
KAWASHIMA Takahiro
352b667323
Merge pull request #6210 from kawashima-fj/pr/mpiext-use-mod
Use mpi_f08 module in mpi_f08_ext module
2019-01-21 11:56:41 +09:00
Edgar Gabriel
e67133c36c
Merge pull request #6287 from psychocoderHPC/fix-possibleFloatRoundIssue
common/ompio: possible rounding issue
2019-01-19 08:44:27 -06:00
René Widera
a91fab80a1 common/ompio: possible rounding issue
Similar to #6286 rounding number of bytes into a single precision floating point value to round up the result of a division is a potential risk due to rounding errors.

- remove floating point operations for `round up`
- removes floating point conversion for round down (native behavior of integer division)

Signed-off-by: René Widera <r.widera@hzdr.de>
2019-01-18 14:05:23 +01:00
Yossi Itigin
387b2ff56f
Merge pull request #6260 from hoopoepg/topic/removed-fca
COLL: removed FCA component
2019-01-17 00:05:07 +08:00
KAWASHIMA Takahiro
b380dd58b5 config/ompi_ext: use mpi module in mpi_ext module
If MPI extensions are enabled, all
`ompi/mpiext/pcollreq/use-mpi/mpiext_*_usempi.h` are included in
`ompi/mpi/fortran/mpiext-use-mpi/mpi-ext-module.F90` and all
`ompi/mpiext/pcollreq/use-mpi/mpiext_*_usempif08.h` are included in
`ompi/mpi/fortran/mpiext-use-mpi-f08/mpi-f08-ext-module.F90` using
`#include` directives.

In `mpiext_*_usempi.h` and `mpiext_*_usempif08.h`, some MPI extension
may want to use constants or handles defined in the `mpi` module and
the `mpi_f08` module. For example, if you want to define a new
datatype in `mpi_f08_ext`, you'll need the definition of
`type(mpi_datatype)`. However, putting `use mpi_f08` line in thier
`mpiext_*_usempif08.h` may cause a compilation error if more than
one MPI extensions are enabled because the `use` statement must be
put prior to any variable declarations.

To resolve this problem, this commit puts `use mpi` and `use mpi_f08`
as first lines of `mpi-ext-module.F90` and `mpi-f08-ext-module.F90`
respectively.

Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
2019-01-16 11:55:55 +09:00
KAWASHIMA Takahiro
2220623f34 config/ompi_ext: Don't include mpiext_*_mpifh.h in mpi_f08_ext
Including `mpiext_*_mpifh.h` in the source file of the `mpi_f08_ext`
module is not always appropriate. For example, if you want to define
a new datatype in an MPI extension, the `include 'mpif-ext.h'` binding
defines the datatype as `integer` but the `use mpi_f08_ext` binding
defines it as `type(mpi_datatype)`. They conflict.

This commit allows each MPI extension to declare whether it wants to
include its `mpiext_*_mpifh.h` in `mpi_f08` and `mpi_f08_ext`
respectively. The default (no declaration) is 'want'.

See `ompi/mpiext/example/configure.m4` for an example.

Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
2019-01-16 11:55:55 +09:00
Nathan Hjelm
fe5d5c75f9
Merge pull request #6279 from hjelmn/ompi_memory_usage
mpool: add new base module type "basic"
2019-01-15 09:48:38 -07:00
Nathan Hjelm
f62d26ddbc btl/vader: use basic mpool type to handle frag/fbox allocation
This commit updates btl/vader to use an mpool for handling all shared
memory allocations (frags, fboxes).

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2019-01-14 15:54:16 -07:00
Nathan Hjelm
6ffc7cc96c mpool: add new base module type "basic"
This commit adds a new mpool base module type: basic. This module can
be used with an opal_free_list_t to allocate space from a
pre-allocated block (such as a shared memory region). The new module
only supports allocation and is not meant for more dynamic use cases
at this time.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2019-01-14 15:48:46 -07:00
Matias Cabral
dc6eb5d1a2
Merge pull request #6226 from aravindksg/sep_mca
mtl/ofi: Add MCA variables to enable SEP and to request OFI contexts
2019-01-14 11:00:37 -08:00
Aravind Gopalakrishnan
37f9aff2a0 mtl/ofi: Add MCA variables to enable SEP and to request number of OFI contexts
Moving to a model where we have users actively _enable_ SEP feature for use
rather than opening SEP by default if provider supports it. This allows us to
not regress (either functionally or for performance reasons) any apps that were
working correctly on regular endpoints.

Also, providing MCA to specify number of OFI contexts to create and default
this value to 1 (Given btl/ofi also creates one by default, this reduces the
incidence of a scenario where we allocate all available contexts by default and
if btl/ofi asks for one more, then provider breaks as it doesn't support it).

While at it, spruce up README on SEP content.

Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@intel.com>
2019-01-14 09:58:36 -08:00
Ralph Castain
d1fd1f4cce
Merge pull request #6151 from nrspruit/ns_ompi_mtl_ofi_specializations
MTL_OFI: Generation of specialized functions at build time
2019-01-14 09:31:54 -08:00
Gilles Gouaillardet
cdc1ebdf2c
Merge pull request #6272 from ggouaillardet/topic/configury_clang5
configury: enhance C11 detection
2019-01-13 14:17:54 +09:00
Gilles Gouaillardet
d1fadebc65 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>
2019-01-13 13:03:25 +09:00
Jeff Squyres
ae2bda9aa0
Merge pull request #6269 from jsquyres/pr/minor-platform-housecleaning
Remove some stale platform files
2019-01-10 17:33:22 -05:00
Jeff Squyres
16de1a990e contrib/platform: remove stale redstorm file
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2019-01-10 13:45:06 -08:00
Jeff Squyres
f86da9beee platform/contrib: remove stale "iu" directory
IU is no longer active in the Open MPI project.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2019-01-10 13:45:06 -08:00
Ralph Castain
2ce968058a
Merge pull request #6267 from rhc54/topic/pmix4
Update to latest PMIx master (v4.0)
2019-01-10 10:37:51 -08:00
Ralph Castain
1e70ea73f4 Update to latest PMIx master (v4.0)
Update the OPAL glue configure code to correctly link the opal/pmix4
component to the hwloc used by OMPI instead of defaulting to the
system-level hwloc. Required a corresponding update to the PMIx hwloc
configure code so we treat hwloc the same way we handle libevent in
embedded scenarios.

Signed-off-by: Ralph Castain <rhc@pmix.org>
2019-01-10 09:37:56 -08:00
Nathan Hjelm
78e9d01bdd
Merge pull request #6266 from hjelmn/fix_issue_6259_finalize_ordering_issue
opal/runtime: fix teardown ordering
2019-01-09 13:30:19 -07:00
Nathan Hjelm
c7867ffc4f opal/runtime: fix teardown ordering
This commit fixes the ordering of the teardown for
opal_finalize_util. The installdirs and if frameworks need to come
down before the MCA system.

Fixes #6259

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2019-01-09 12:38:12 -07:00
Jeff Squyres
1c5f97b637
Merge pull request #6254 from rtoijala/topic/mpifh-valgrind-warnings
mpi/fortran: Fix valgrind warnings for type create
2019-01-09 10:18:30 -05:00
Sergey Oblomov
0759bb8561 COLL: removed FCA component
- removed FCA collectives from coll/scoll

Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2019-01-09 16:51:40 +02:00
Risto Toijala
f14a0f4fc9 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>
2019-01-08 22:00:00 +02:00
Gilles Gouaillardet
acc2a706d3
Merge pull request #6251 from ggouaillardet/topic/pmix-v3.1
pmix/ext3x: fix support for external PMIx v3.1
2019-01-08 13:18:19 +09:00
Gilles Gouaillardet
950ba16aa1 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

Refs. open-mpi/ompi#6247

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2019-01-08 10:11:05 +09:00
Nathan Hjelm
c1bc92f4a5
Merge pull request #6250 from hjelmn/fix_issue_6201_on_master
btl/vader: minor correction to match ompi coding style
2019-01-07 16:35:00 -07:00
Nathan Hjelm
edaf08bf6d btl/vader: minor correction to match ompi coding style
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2019-01-07 14:24:58 -07:00
Nathan Hjelm
61cb008d37
Merge pull request #6248 from hjelmn/fix_issue_6201_on_master
btl/vader: don't try to set reachabilty in add_procs if not requested
2019-01-07 14:19:35 -07:00
Nathan Hjelm
30b8336cb4 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>
2019-01-07 13:00:48 -07:00
Gilles Gouaillardet
91edc618eb
Merge pull request #6244 from ggouaillardet/topic/mpool_hugepage_leak
mpool/hugepage: plug a memory leak
2019-01-07 12:50:14 +09:00
Gilles Gouaillardet
78fffa25f2 mpool/hugepage: plug a memory leak
Refs. open-mpi/ompi#6242

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2019-01-07 11:50:40 +09:00
Howard Pritchard
3a4a1f932d
Merge pull request #6239 from hppritcha/topic/swat_orte_shutdown_mca_issue
orte: shutdown
2019-01-04 14:41:29 -07:00
Howard Pritchard
b46e15535a orte: shutdown
be more careful about closing framewworks as part of
orte_finalize.  Owing to recent restructuring in opal to handle
finalize in a more general fashion, the missing framework
closes were causing meltdowns as the mca vars subsystem
was cleaning itself up.

This problem was recently reported by Siegmar:

https://www.mail-archive.com/users@lists.open-mpi.org//msg32946.html

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2019-01-04 11:04:13 -07:00
Jeff Squyres
0dc0d77b12
Merge pull request #6237 from hppritcha/topic/fix_admistrative_typo
CONTRIBUTING: fix a spelling error
2019-01-03 10:16:26 -05:00
Howard Pritchard
ee26ed9e8f
Merge pull request #6214 from heasterday/topic/fixmpool
Update mpool_hugepage_component.c
2019-01-02 16:24:39 -07:00
Ralph Castain
8429f5bcfe
Merge pull request #6238 from rhc54/topic/rmaps
Correct parsing of ppr directives
2019-01-02 14:55:01 -08:00
Ralph Castain
b19e5edf76 Correct parsing of ppr directives
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2019-01-02 09:03:13 -08:00
Howard Pritchard
7d8a363306 CONTRIBUTING: fix a spelling error
As pointed out in issue #6186 we have some challenges with
English spelling.  Fixing title in the wiki page resulted
in it being renamed.  So fix links to the now correctly
spelled title.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2019-01-02 09:53:06 -07:00
Yossi Itigin
00fbb4cc7e
Merge pull request #6234 from yosefe/topic/scoll-basic-fix-zero-size-collect
oshmem/scoll: fix shmem_collect32/64 for zero-size length
2019-01-02 12:13:48 +02:00
Yossi Itigin
939162ed33 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.

Signed-off-by: Yossi Itigin <yosefe@mellanox.com>
2019-01-01 20:43:32 +02:00
Aurelien Bouteiller
e54496bf2a
Merge pull request #6087 from ICLDisco/export/errors_cid
Manage errors in communicator creations (cid)
2018-12-31 15:01:55 -05:00
Jeff Squyres
17be4c6d1f
Merge pull request #6229 from jsquyres/pr/fix-enable-grequest-extension-in-a-tarball
romio321: ensure to distribute ompi_grequestx.h
2018-12-28 16:15:23 -05:00
Gilles Gouaillardet
79f02ade22
Merge pull request #6230 from ggouaillardet/topic/pmix_refresh
pmix/pmi4x: refresh to latest PMIx
2018-12-28 15:11:53 +09:00
Gilles Gouaillardet
0203531695 pmix/pmi4x: refresh to latest PMIx
refresh to pmix/pmix@fae0ee7d94

Refs. open-mpi/ompi#6228

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-12-28 12:57:57 +09:00