1
1

10536 Коммитов

Автор SHA1 Сообщение Дата
Gilles Gouaillardet
ed703bec1b fortran/mpif-h: fix [i]alltoallw bindings
Fix a regression introduced in open-mpi/ompi@cdaed89d04

Fixes CID 1451610, 1451611 and 1451612

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2019-07-17 11:14:35 +09:00
Mikhail Brinskii
404c480068 COLL/TUNED: Update alltoall selection rule for mlx
Use linear with sync alltoall algorithm for certain message/comm size
ranges. Does not affect default fixed decision, unless HPCX (with its
custom parameters) is used or corresponding mca is set.

Signed-off-by: Mikhail Brinskii <mikhailb@mellanox.com>
2019-07-13 23:27:40 +03:00
Gilles Gouaillardet
cdaed89d04 fortran/mpif-h: fix MPI_[I]Alltoallw() binding
- ignore sendcounts, sendispls and sendtypes arguments when MPI_IN_PLACE is used
 - use the right size when an inter-communicator is used.

Thanks Markus Geimer for reporting this.

Refs. open-mpi/ompi#5459

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2019-07-13 22:34:30 +09:00
Gilles Gouaillardet
223e6cc537 fortran/mpif-h: fix C to Fortran error code conversion
- remove incorrect use of OMPI_INT_2_FINT()
 - use homogenous syntax (e.g. c_ierr = PMPI_...())

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2019-07-13 18:36:12 +09:00
Gilles Gouaillardet
5de5e751ed fortran/use-mpi-f08: do not slurp the sentinel module files
A sentinel is only an internal Fortran module and hence should not
be slurped into libmpi_usempif08.so

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2019-07-13 16:50:55 +09:00
Gilles Gouaillardet
020a5918af
Merge pull request #2154 from ggouaillardet/topic/retain_op_and_datatypes
non-blocking collectives: retain MPI_op and MPI_Datatype(s)
2019-07-13 10:20:36 +09:00
Jeff Squyres
a985a0d7d1
Merge pull request #6809 from wkliao/man_vector
man page of MPI_Type_vector
2019-07-12 21:04:04 -04:00
Geoff Paulsen
4b696dca5b
Merge pull request #6660 from gpaulsen/task/master/revert-mpi1-removal-commits
Add --enable-mpi1-compatibility configure option back
2019-07-12 14:42:28 -05:00
Wei-keng Liao
56f45b2aeb stride size should be 4 x 16, as extent of oldtype is 16 bytes
Signed-off-by: wkliao
2019-07-12 13:55:22 -05:00
Gilles Gouaillardet
0fe756d416 mpi: retain operation and datatype in non blocking collectives
MPI standard states a user MPI_Op and/or user MPI_Datatype can be free'd
after a call to a non blocking collective and before the non-blocking
collective completes.
Retain user (only) MPI_Op and MPI_Datatype when the non blocking call is
invoked, and set a request callback so they are free'd when the MPI_Request
completes.

Thanks Thomas Ponweiser for reporting this

Fixes open-mpi/ompi#2151
Fixes open-mpi/ompi#1304

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2019-07-12 09:15:45 +09:00
guserav
3c9f4e6823 Fix osc sm posts when only 32 bit atomics support
Signed-off-by: guserav <erik.zeiske@hpe.com>
2019-07-09 15:13:25 -07:00
George Bosilca
f25674291b
Optimized datatype description.
Move toward a base type of vector (count, type, blocklen, extent, disp)
with disp and extent applying toward the count repertition and blocklen
being a contiguous memory of type type.
Implement 2 optimizations on this description used during type_commit:
- collapse: successive similar datatype descriptions are collapsed
together with an increased count.
- fusion: fuse successive datatype descriptions in order to minimize the
number of resulting memcpy during pack/unpack.

Fixes at the OMPI datatype level including:
 - Fix the create_hindexed and vector creation.
 - Fix the handling of [get|set]_elements and _count.
 - Correctly compute the dispacement for block indexed types.
 - Support the MPI_LB and MPI_UB deprecation, aka. OMPI_ENABLE_MPI1_COMPAT.

Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2019-07-09 14:50:08 -04:00
Jeff Squyres
506d0b104d
Merge pull request #6793 from jmbr/patch-1
Add missing argument name.
2019-07-09 11:00:09 -04:00
Juan M. Bello-Rivas
24c018fa22 Add missing argument name.
Signed-off-by: Juan M. Bello-Rivas <jbellorivas@rigetti.com>
2019-07-08 17:00:09 -07:00
Gilles Gouaillardet
db760c508d man: fix MPI_Allgather[v] man pages
- remove incorrect reference to MPI_ROOT
 - fix MPI_IN_PLACE description

no code change

[skip ci]

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2019-07-08 13:45:35 +09:00
Gilles Gouaillardet
c2d35aaadc
Merge pull request #6790 from ggouaillardet/topic/ompi_comm_spawn_f
fortran/mpif-h: correctly handle array_of_errcodes in ompi_comm_spawn…
2019-07-08 09:06:21 +09:00
Nysal Jan K.A
fe4ef147f8 pml/ucx: Fix the max tag and context id values
Signed-off-by: Nysal Jan K.A <jnysal@in.ibm.com>
2019-07-03 14:33:01 +05:30
Gilles Gouaillardet
07830d05a7 fortran/mpif-h: correctly handle array_of_errcodes in ompi_comm_spawn[_multiple]_f
Since array_of_errcodes is only allocated when MPI_ERRCODES_IGNORE is not used,
it should not be cleaned when MPI_ERRCODES_IGNORE is used.

Correctly allocate array_of_errcodes with the right size (e.g. maxprocs).

Thanks Gyevi-Nagy Laszlo for reporting this issue.

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2019-07-03 09:53:46 +09:00
Geoff Paulsen
f1b2a09675
Merge pull request #6649 from devreal/rdma-fetchop-local
OSC rdma: make sure accumulating in shared memory is safe
2019-06-28 14:46:21 -05:00
Gilles Gouaillardet
5655d64bd3 mpi/c: fix param checks in [I]Neighbor_alltoall{v,w}
do not check some input parameters when an {in,out}degree is zero

Thanks Junchao Zhang for analyzing and reporting this issue.

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2019-06-28 13:39:28 +09:00
Artem Polyakov
6678ac0f55 osc/ucx: Fix possible win creation/destruction race condition
To avoid fully initializing the osc/ucx component for MPI application
that are not using One-Sided functionality, the initialization happens
at the first MPI window creation.

This commit ensures atomicity of global state modifications.

Signed-off-by: Artem Polyakov <artpol84@gmail.com>
2019-06-20 09:05:03 -07:00
Artem Polyakov
0857742624 osc/ucx: Fix worker pool finalization
Signed-off-by: Artem Polyakov <artpol84@gmail.com>
2019-06-20 09:05:03 -07:00
Nathan Hjelm
560886f095
Merge pull request #6746 from devreal/osc_winalloc_err
OSC rdma win allocate: propagate errors to avoid deadlocks
2019-06-18 17:57:53 -07:00
Geoffrey Paulsen
54a286ee9d Revert "ompi_info: report MPI1 compat is disabled"
This reverts commit 61ccc653020a4f7821eeaf022586f17037b821a0.

Signed-off-by: Geoffrey Paulsen <gpaulsen@us.ibm.com>
2019-06-14 13:22:21 -05:00
Geoffrey Paulsen
ca4b70913e Revert "man: remove man pages of removed MPI1 subroutines"
This reverts commit 26c1b833c70f27153d245f60216fd1df41e53b8d.

Signed-off-by: Geoffrey Paulsen <gpaulsen@us.ibm.com>
2019-06-14 13:22:21 -05:00
Geoffrey Paulsen
ed9a670074 Revert "mpi.h.in: delete removed MPI1 functions/datatypes (API change!)"
This reverts commit a6d6be2853488cfb20128f97b381b3c94a921cd7.

Signed-off-by: Geoffrey Paulsen <gpaulsen@us.ibm.com>
2019-06-14 13:22:21 -05:00
Geoffrey Paulsen
5cc0141675 Revert "MPI_Type_get_envelope: remove MPI-1 deleted names"
This reverts commit 65eb118e087b0bdaa9c92a12eba151eb30994590.

Signed-off-by: Geoffrey Paulsen <gpaulsen@us.ibm.com>
2019-06-14 13:22:21 -05:00
Geoffrey Paulsen
e036941ab5 Revert "mpi.h: remove MPI_UB/MPI_LB when not enabling MPI-1 compat"
This reverts commit 7223334d4dc1225d49cd2c63714870c3a04ad953.

Signed-off-by: Geoffrey Paulsen <gpaulsen@us.ibm.com>
2019-06-14 13:22:21 -05:00
Geoffrey Paulsen
6de263fc29 Revert "mpi: make C++ bindings compile when MPI-1 compat is disabled"
This reverts commit b323655809d514db4092b9beb40c88eb52406fa6.

Signed-off-by: Geoffrey Paulsen <gpaulsen@us.ibm.com>
2019-06-14 13:22:21 -05:00
Harald Klimach
e222a04ae5 Suggestion to fix division by zero in file view.
In common_ompi_aggregators calc_cost routine:
do not cast the real division to an int intermediately.
This patch removes the obsolete int variable c and assigns
the result of the P_a/P_x division directly to n_as.

With the intermediate int c variable, n_as gets 0 if P_a < P_x,
resulting in a division by 0 when computing n_s.

Signed-off-by: Harald Klimach <harald.klimach@uni-siegen.de>
2019-06-13 18:47:32 +02:00
Jeff Squyres
7c3aeb3061
Merge pull request #6686 from alex-anenkov/coll-iallreduce-recursivedoubling
coll/libnbc: add recursive doubling algorithm for MPI_Iallreduce
2019-06-10 10:09:51 -04:00
Yossi Itigin
a46e5da3ca
Merge pull request #6744 from brminich/topic/all2all_linear_sync_fix
COLL/BASE: Fix linear sync all2all
2019-06-09 21:23:38 +03:00
Joseph Schuchart
8f27cc26d9 OSC rdma win allocate: synchronize error codes across shared memory group
Signed-off-by: Joseph Schuchart <schuchart@hlrs.de>
2019-06-07 11:03:21 +02:00
KAWASHIMA Takahiro
85c3311b7d
Merge pull request #6726 from yanagibashi/pr/add-f08-procedure-names
mpiext/pcollreq: Add `_f08` to procedure names
2019-06-07 09:10:58 +09:00
Mikhail Brinskii
79006f4e5a COLL/BASE: Fix linear sync all2all
Signed-off-by: Mikhail Brinskii <mikhailb@mellanox.com>
2019-06-06 19:22:42 +03:00
Yossi Itigin
8535dd570b
Merge pull request #6732 from dmitrygladkov/topic/pml/ucx_init
PML/UCX: Don't destroy UCP worker if it wasn't created
2019-06-06 10:41:33 +03:00
KAWASHIMA Takahiro
2b856573b2
Merge pull request #6699 from t-kurita/pr/java-alltoallw-arrays
java: Fix compilation error in allToAllw using Java arrays
2019-06-04 11:33:17 +09:00
Dmitry Gladkov
c864ca51d2 PML/UCX: Don't destroy UCP worker if it wasn't created
Signed-off-by: Dmitry Gladkov <dmitrygla@mellanox.com>
2019-06-03 10:49:36 +03:00
Tsubasa Yanagibashi
3148b0cfaa mpiext/pcollreq: Add _f08 to procedure names
The procedure names don't contain "_f08" of Fortran 2008 bindings of
Persistent Collective Operations(mpiext/pcollreq/use-mpi-f08).
This fix adds "_f08" to the procedure names of pcollreq/use-mpi-f08,
same as other Fortran 2008 routines in `ompi/mpi/fortran/use-mpi-f08/mod`.

Signed-off-by: Tsubasa Yanagibashi <fj2505dt@aa.jp.fujitsu.com>
2019-05-31 15:22:42 +09:00
George Bosilca
a0fce4eac2
Fix the man pages for some of the MPI_T_* functions.
Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2019-05-29 00:23:35 -04:00
George Bosilca
eed770ce5c
Fix the SPC initialization.
Use the PVAR ctx to save the SPC index, so that no lookup nor
restriction on the SPC vars position is imposed.
Make sure the PVAR are always registered.

Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2019-05-29 00:23:18 -04:00
George Bosilca
7dab8c002b
Fixed SPC/MPI_T initialization error.
Signed-off-by: Yong Qin <yongq@mellanox.com>
2019-05-28 15:10:32 -04:00
Tomislav Janjusic
6ea920e225 Coll/hcoll: adding scatterv interface
Signed-off-by: Valentin Petrov valentinp@mellanox.com
2019-05-27 12:27:43 +03:00
Edgar Gabriel
8eda9f2ecd common/ompio: fix coverty warnings
this commmit fixes coverty warnings CID 1445198 and CID 1445197
For a reason that is a bit unclear to me, coverty only complained about the read
files, but the write operations had the same issue, so I fixed that within the
same commit as well.

Signed-off-by: Edgar Gabriel <egabriel@central.uh.edu>
2019-05-23 13:40:39 -05:00
Kurita, Takehiro
7ece564978 java: Fix compilation error in allToAllw using Java arrays
Java bindings in Open MPI support Java arrays and direct buffers
as buffers. All non-blocking methods must use direct buffers and
only blocking methods can choose between Java arrays and
direct buffers.
Though Comm.allToAllw() is a blocking method, Java applications
using Java arrays as buffers get compilation errors.
This fix enables using Java arrays in Comm.allToAllw().

Signed-off-by: Kurita, Takehiro <fj6370fp@aa.jp.fujitsu.com>
2019-05-22 10:00:16 +09:00
Edgar Gabriel
27b2ec71a7 common/ompio: add support for read operations and collective I/O
external32 data representation is now support by ompio for everything
but non-blocking collective I/O operations. The support can further be improved
in a second step to limit the temporary buffer size (at least for blocking operations),
but it does work now for many scenarios.

Signed-off-by: Edgar Gabriel <egabriel@central.uh.edu>
2019-05-20 17:56:16 -05:00
Edgar Gabriel
ab56e6f0db common/ompio: make individual read operations work.
Signed-off-by: Edgar Gabriel <egabriel@central.uh.edu>
2019-05-20 17:22:33 -05:00
Edgar Gabriel
f6b3a0af52 common/ompio: individual write of external32 works
both blocking and non-blocking. collective write and read operations not yet.

Signed-off-by: Edgar Gabriel <egabriel@central.uh.edu>
2019-05-20 16:26:14 -05:00
Edgar Gabriel
d955753cb8 common/ompio: abstraction for different convertor types
introduce separate convertors for memory vs. file representation. Adjust the interfaces for decode_datatype to provide the convertor to be used for that.

Signed-off-by: Edgar Gabriel <egabriel@central.uh.edu>
2019-05-20 13:35:38 -05:00
Edgar Gabriel
35be18b266 common/ompio: rename ompio_cuda* to ompio_buffer*
the infrastructure put in place to manage cuda buffers is actually
a lot more generic than just for cuda buffers. Specifically, we ca
reuse much of the code to implement the external32 data representation.
This commit converts the code from common_ompio_cuda* to
common_ompio_buffer*. There are just very few places where we actually need to keep the OPAL_CUDA_SUPPORT ifdef in place.

Signed-off-by: Edgar Gabriel <egabriel@central.uh.edu>
2019-05-20 12:50:04 -05:00