1
1

10459 Коммитов

Автор SHA1 Сообщение Дата
Mikhail Kurnosov
b0429d25df coll/libnbc: add knomial tree algorithm for MPI_Ibcast
Signed-off-by: Mikhail Kurnosov <mkurnosov@gmail.com>
2018-10-09 20:43:04 +07:00
Mikhail Kurnosov
7bd63e79c8 coll/libnbc: add Rabenseifner's algorithm for MPI_Ireduce
An implementation of R. Rabenseifner's algorithm for MPI_Ireduce.
This algorithm is a combination of a reduce-scatter implemented with recursive vector halving
and recursive distance doubling, followed either by a gather.

Limitations:
-- count >= 2^{\floor{\log_2 p}}
-- commutative operations only
-- intra-communicators only

Signed-off-by: Mikhail Kurnosov <mkurnosov@gmail.com>
2018-10-09 20:27:09 +07:00
KAWASHIMA Takahiro
b491b454dc java: Fix javadoc build failure with OpenJDK 11
OpenJDK 11 changed the default javadoc output HTML version to HTML 5
from HTML 4.01. It causes an error on building Open MPI configured
with `--enable-mpi-java` (default: disable). This fix is compatible
with older OpenJDK.

I don't know whether this problem exists with other vender's JDKs.
But this fix should be compatible with other JDKs because the new
syntax is used in other places in the same file.

Thanks to Siegmar Gross for the bug report.

Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
2018-10-09 17:49:30 +09:00
Brian Barrett
e9e4d2a4bc Handle asprintf errors with opal_asprintf wrapper
The Open MPI code base assumed that asprintf always behaved like
the FreeBSD variant, where ptr is set to NULL on error.  However,
the C standard (and Linux) only guarantee that the return code will
be -1 on error and leave ptr undefined.  Rather than fix all the
usage in the code, we use opal_asprintf() wrapper instead, which
guarantees the BSD-like behavior of ptr always being set to NULL.
In addition to being correct, this will fix many, many warnings
in the Open MPI code base.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2018-10-08 16:43:53 -07:00
Mikhail Kurnosov
9557fa087f Resolve merge conflicts
Signed-off-by: Mikhail Kurnosov <mkurnosov@gmail.com>
2018-10-05 21:40:27 +07:00
KAWASHIMA Takahiro
5f1c940c8b
Merge pull request #5840 from kawashima-fj/pr/pcollreq-f08-signatures
mpiext/pcollreq: Correct f08 routine signatures
2018-10-05 08:59:03 +09:00
KAWASHIMA Takahiro
43d85dbc81 mpiext/pcollreq: Add Fortran bindings in man
Fortran bindings were added to persistent collectives in 9e0115c980
but man was not updated.

Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
2018-10-04 21:05:38 +09:00
KAWASHIMA Takahiro
994b345253 man: Correct markup of MPI_Neighbor_allgather
Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
2018-10-04 21:02:35 +09:00
KAWASHIMA Takahiro
be91a26fd8 mpiext/pcollreq: Add missing f08 asynchronous
Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
2018-10-04 20:36:30 +09:00
KAWASHIMA Takahiro
357531847e mpiext/pcollreq: Correct f08 routine signatures
Changes of nonblocking collectives in e98d794e8b and f750c6932c
are applied to persistent collectives.

Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
2018-10-04 19:51:40 +09:00
Nathan Hjelm
88a560fa3c
Merge pull request #5744 from mkurnosov/coll-iscan-recursivedoubling
coll/libnbc: add recursive doubling algorithm for MPI_Iscan
2018-10-03 09:02:05 -06:00
Gilles Gouaillardet
69f1a19c5d fortran/use-mpi-f08: add MPI C types
Refers open-mpi/ompi#5801

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-10-03 16:09:00 +09:00
KAWASHIMA Takahiro
eb65e1c6fb
Merge pull request #5799 from kawashima-fj/pr/correct-f08-signatures
fortran/use-mpi-f08: Correct f08 routine signatures
2018-10-03 10:37:21 +09:00
Brian Barrett
b2ee56aa81 fortran: Fix ident warning
On OS X, where #pragma ident and #ident aren't supported, the
use of a static const star that was never used was generating
a warning (and, it should be noted, was useless, because the
compiler would optimize it away).  Fix up the ident declaration
so that it is only created once in libmpi_mpifh.la.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2018-10-02 13:35:15 -04:00
Brian Barrett
2e24e6ec08 coll libnbc: Remove dead code
Remove dead code that was causing warnings about unused static
functions.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2018-10-02 13:35:15 -04:00
Gilles Gouaillardet
e4001040b4 fortran: add CHARACTER and LOGICAL support to MPI_Sizeof()
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-10-01 13:37:05 +09:00
KAWASHIMA Takahiro
cf6d28cb66 fortran/use-mpi-f08: Correct f08 routine signatures
Following the commit f750c6932c, I compared
`ompi/mpi/fortran/use-mpi-f08/*.F90` and
`ompi/mpi/fortran/use-mpi-f08/profile/p*.F90`, and
`ompi/mpi/fortran/use-mpi-f08/mod/mpi-f08-interfaces.F90` and
`ompi/mpi/fortran/use-mpi-f08/mod/pmpi-f08-interfaces.F90`.

There are many differences. Some are bugs of `MPI_*`, some are
bugs of `PMPI_*`. I'm not sure how these bugs affect applications.

To make it easy to compare these files future, I also removed
editorial differences.

Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
2018-09-29 01:39:01 +09:00
Jeff Squyres
7223334d4d mpi.h: remove MPI_UB/MPI_LB when not enabling MPI-1 compat
When --enable-mpi1-compatibility was specified, the ompi_mpi_ub/lb
symbols were #if'ed out of mpi.h.  But the #defines for MPI_UB/LB
still remained.  This commit also #if's out the MPI_UB/LB macros when
--enable-mpi1-compatibility is specified.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2018-09-28 09:10:03 -07:00
Jeff Squyres
11ab621555 mpi.h: file errhandeler typedef: use new form of name
The old/deprecated form of the file errhandler typedef used "fn" as a
suffix.  The new form uses the name "function".

The MPI API typedef name has already been updated to use "function";
this commit updates the internal Open MPI typedef to use the name
"function" to match the MPI API name and avoid confusion.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2018-09-28 07:49:28 -07:00
Brian Barrett
c5eaa38491 mtl ofi: Change from opt-in to opt-out provider selection
Change default provider selection logic for the OFI MTL.  The
old logic was whitelist-only, so any new HPC NIC provider would
have to ask users to do extra work or wait for an OMPI release
to be whitelisted.  The reason for the logic was to avoid
selecting a "generic" provider like sockets or shm that would
frequently have worse performance than the optimized BTL options
Open MPI supports.

With the change, we blacklist the (small, relatively static) list
of providers that duplicate internal capabilities.  Users can use
one of thse blacklisted providers in two ways: first, they can
explicitly request the provider in the include list (which will
override the default exclude list) and second, the can set a new
empty exclude list.

Since most HPC networks require special libraries and therefore
an explicit build of libfabric, it is highly unlikely that this
change will cause users to use libfabric when they didn't want to
do so.  It does, however, solve the whitelisting problem.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2018-09-27 11:02:18 -07:00
Jeff Squyres
6bb356ab87 Squash a bunch of harmless compiler warnings.
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2018-09-26 12:15:21 -07:00
Gilles Gouaillardet
f750c6932c fortran/use-mpi-f08: Corrections to PMPI signatures of collectives
Corrected the signatures of the collectives used by the Fortran 2008
interface to state correct intent for inout arguments and use the
ASYNCHRONOUS attribute in non-blocking collective calls.

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-09-25 11:17:01 +09:00
Philipp Otte
e98d794e8b fortran/use-mpi-f08: Corrections to Fortran08 signatures of collectives
Corrected the signatures of the collectives used by the Fortran 2008
interface to state correct intent for inout arguments and use the
ASYNCHRONOUS attribute in non-blocking collective calls. Also corrected
the C-bindings in Fortran accordingly

Signed-off-by: Philipp Otte <philipp.j.otte@googlemail.com>
2018-09-25 11:16:52 +09:00
Mikhail Kurnosov
dfe203e167 coll/libnbc: add recursive doubling algorithm for MPI_Iexscan
Implements recursive doubling algorithm for MPI_Iexscan.
The algorithm preserves order of operations so it can be used both
by commutative and non-commutative operations.

The MCA parameter 'coll_libnbc_iexscan_algorithm' was added for dynamic
algorithm selection.

Signed-off-by: Mikhail Kurnosov <mkurnosov@gmail.com>
2018-09-23 19:54:27 +07:00
Mikhail Kurnosov
3d43ff0f32 coll/libnbc: add recursive doubling algorithm for MPI_Iscan
Implements recursive doubling algorithm for MPI_Iscan. The algorithm preserves order of operations so it can be used both by commutative and non-commutative operations.

The MCA parameter coll_libnbc_iscan_algorithm was added for dynamic algorithm selection.

Signed-off-by: Mikhail Kurnosov <mkurnosov@gmail.com>
2018-09-22 21:09:12 +07:00
bosilca
3f598e9e83
Merge pull request #5450 from mkurnosov/coll-base-allgather-fix-in-place
coll-base-allgather: fix MPI_IN_PLACE processing
2018-09-21 14:51:45 -04:00
bosilca
17f1684438
Merge pull request #5491 from mkurnosov/coll-base-allgatherv-fix-mpi-in-place
coll/base/allgatherv: fix MPI_IN_PLACE processing
2018-09-21 14:48:16 -04:00
bosilca
441727fcb0
Merge pull request #5680 from ggouaillardet/topic/nbc_unpack
coll/libnbc: fix NBC_Unpack()
2018-09-19 10:17:21 -04:00
bosilca
2ae3cfd9bc
Merge pull request #5699 from ICLDisco/export/coll_errors
Error cases in base collectives
2018-09-19 09:47:24 -04:00
Jeff Squyres
3dae8703a5
Merge pull request #5451 from ggouaillardet/topic/use_mpi_f08_bindings
fortran/use-mpi-f08: clean [p]ompi_FOO_f bindings
2018-09-19 07:53:04 -04:00
Kurita, Takehiro
fb8311d331 java: Fix typos of javadoc
Signed-off-by: Kurita, Takehiro <fj6370fp@aa.jp.fujitsu.com>
2018-09-19 14:45:17 +09:00
Gilles Gouaillardet
c4ce01d104 fortran/use-mpi-f08: use bindings from ompi_mpifh_bindings
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-09-19 14:13:00 +09:00
Gilles Gouaillardet
c6070fd2e0 fortran/use-mpi-f08: fix [p]ompi_FOO_f symbols handling
- do not generate bindings for pompi_FOO_f symbols
   (they are simply not used anywhere)

 - move ompi_FOO_f bindings out of mpi_f08.mod into
   ompi_mpifh_bindings.mod that is only used at build time

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-09-19 14:12:55 +09:00
Gilles Gouaillardet
6e04b2a66a configury: do not define "dummy" empty targets any more.
We previously needed to have empty targets because AM couldn't handle
having an AM_CONDITIONAL was targets in the "if" statement but not in the
"else".  :-(

That now appears as an old automake bug that has been fixed,
so cleanup some Makefile.am

Thanks Jeff for the pointer.

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-09-19 14:12:50 +09:00
Gilles Gouaillardet
d2393251f7 use-mpi-f08: fix a typo in [P]MPI_Dist_graph_create_adjacent bindings
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-09-19 14:12:46 +09:00
Jeff Squyres
09d6740a72
Merge pull request #4897 from bosilca/topic/waitsome
Be conservative with the array_of_indices
2018-09-18 12:34:22 -04:00
KAWASHIMA Takahiro
e27f519a5e
Merge pull request #5722 from kawashima-fj/pr/pcoll-typo
mpiext/pcollreq: fix more typos
2018-09-18 15:41:20 +09:00
KAWASHIMA Takahiro
4a0a2598f6 mpiext/pcollreq: fix more typos
Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
2018-09-18 14:45:33 +09:00
Gilles Gouaillardet
8b51862fb2 coll/libnbc: fix various error paths
The parameter passed to NBC_Return_handle() was incorrectly casted
and not dereferenced.

Thanks Yossi for the bug report.

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-09-18 13:17:43 +09:00
Gilles Gouaillardet
8dc6985a5a mpiext/pcollreq: fix misc typos
Thanks Jeff for the report

Fixes open-mpi/ompi#5712

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-09-18 10:02:04 +09:00
Jeff Squyres
5be0ba0247 common/monitoring: fix include files
Move includes to top of file.  Set some #defines so that
monitoring_prof.c compiles without warning (as identified by gcc 8 on
MacOS).  Also ensure to include the internal Open MPI "mpi.h" file
(not some random system <mpi.h> file).

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2018-09-15 06:04:13 -07:00
Jeff Squyres
06c1bf73da libnbc: remove some stale/dead code
Gcc 8 identified hb_tree_csearch() as an infinite recursion, and it
turns out that we never call this function, anyway.  So just remove
it.

Fixes #5670.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2018-09-15 06:04:13 -07:00
Jeff Squyres
8f2620d3af misc: compiler warning fixes
A variety of small compiler warning fixes.  The 2 PMIx fixes are
already committed upstream.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2018-09-15 06:04:13 -07:00
Nathan Hjelm
1071d72130
Merge pull request #5445 from hjelmn/asm_type
Update opal to use C11 atomics if available
2018-09-14 12:32:56 -06:00
Aurelien Bouteiller
466217fadd
Always return a valid error code from collective operations
Signed-off-by: Aurelien Bouteiller <bouteill@icl.utk.edu>
2018-09-14 13:46:35 -04:00
Nathan Hjelm
000f9eed4d opal: add types for atomic variables
This commit updates the entire codebase to use specific opal types for
all atomic variables. This is a change from the prior atomic support
which required the use of the volatile keyword. This is the first step
towards implementing support for C11 atomics as that interface
requires the use of types declared with the _Atomic keyword.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2018-09-14 10:48:55 -06:00
Ralph Castain
466cad6cb2 Update master to PMIx v4
Retain ext3x for PMIx 3  compatibility
Get the blasted permissions correct on config files

Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2018-09-13 08:24:17 -07:00
Gilles Gouaillardet
ff48e92864 coll/libnbc: fix NBC_Unpack()
always initialize 'size'.

Only the a2a_sched_diss() alltoall algorithm is impacted,
and this algo is currently unused, so there is no need
to backport nor update the NEWS file for now.

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-09-13 10:55:29 +09:00
KAWASHIMA Takahiro
69901a5156 mpiext/pcollreq: Fix zero-count reduction
We need to return a persistent request.
`ompi_request_empty` is not a persistent request.

Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
2018-09-10 11:19:07 +09:00
Gilles Gouaillardet
42b0e3bd61
Merge pull request #5494 from markalle/apply_romio314_patch_to_master
apply romio314 patch to romio321
2018-09-05 10:27:19 +09:00