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

29056 Коммитов

Автор SHA1 Сообщение Дата
Kurita, Takehiro
73e038ec18 mpiext/pcollreq: Add Fortran use-mpi bindings
Signed-off-by: Kurita, Takehiro <fj6370fp@aa.jp.fujitsu.com>
2018-07-17 16:29:41 +09:00
Gilles Gouaillardet
9e0115c980 mpiext/pcollreq: Add Fortran mpif-h bindings
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-07-17 16:29:33 +09:00
Gilles Gouaillardet
44110a575d mpiext/pcollreq: do include PMPIX_* subroutines to C bindings
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-07-17 16:29:33 +09:00
KAWASHIMA Takahiro
2ac08ddfb6
Merge pull request #5435 from kawashima-fj/pr/fortran-iscatter-inplace
mpi/fortran: Fix IN_PLACE detection of ISCATTER(V)
2018-07-17 15:07:47 +09:00
KAWASHIMA Takahiro
5ddf0f6418 mpi/fortran: Fix IN_PLACE detection of ISCATTER(V)
Blocking `MPI_SCATTER` and `MPI_SCATTERV` were fixed in 506d0e96f4
but noblocking `MPI_ISCATTER` and `MPI_ISCATTERV` were not fixed yet.

Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
2018-07-17 14:15:21 +09:00
Joshua Ladd
1f4829b874
Merge pull request #5265 from xinzhao3/topic/openshmem-v1.4
OMPI/OSHMEM: add new functionality of OpenSHMEM v1.4.
2018-07-16 17:37:42 -04:00
Xin Zhao
c429900cd9 OMPI/OSHMEM: add new functionality of OpenSHMEM v1.4.
Signed-off-by: Xin Zhao <xinz@mellanox.com>
2018-07-16 12:55:25 -07:00
Yossi Itigin
9d0b3a42aa
Merge pull request #5423 from hoopoepg/topic/bitwise-atomics-renaming
ATOMICS: renamed atomic calls to unsigned datatypes
2018-07-16 19:08:02 +03:00
Mikhail Kurnosov
ba83cc91eb coll/base: add MPI_Bcast based on a binomial tree scatter followed by a ring allgather
Implements MPI_Bcast using a binomial tree scatter followed by a ring allgather.

Signed-off-by: Mikhail Kurnosov <mkurnosov@gmail.com>
2018-07-16 08:56:09 -06:00
Sergey Oblomov
da1afcaaaf ATOMIC/UCX: fixed typo in datatype macro
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-16 14:49:06 +03:00
Yossi Itigin
27b91d7564
Merge pull request #5425 from hoopoepg/topic/atomic-mxm-abstraction-viola-master
ATOMIC/MXM: fixed abstraction violation
2018-07-15 10:51:29 +03:00
Gilles Gouaillardet
99e0f96155
Merge pull request #5413 from ggouaillardet/topic/pcollreq
mpiext/pcollreq: check subroutine parameters and add profiling symbols
2018-07-14 15:02:02 +09:00
Gilles Gouaillardet
61b3308871 mpiext/pcollreq: check subroutine parameters and add profiling symbols
- check subroutine parameters
 - implement PMPIX_* subroutines

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-07-14 14:14:37 +09:00
Gilles Gouaillardet
dec1663364 spc: add missing subroutines
add counters for :
 - MPI_Exscan
 - MPI_Iexscan
 - MPI_Igatherv

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-07-14 14:14:37 +09:00
Ralph Castain
9831145020
Merge pull request #5427 from rhc54/topic/px
Remove the PMIx ext4x component
2018-07-13 20:43:09 -07:00
Ralph Castain
4a596d35f7 Remove the PMIx ext4x component
Update configury to redirect anything at or above v3 to the ext3x component

Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2018-07-13 19:51:50 -07:00
Howard Pritchard
9a5fd48388
Merge pull request #5079 from jsquyres/pr/fortran-is-the-devil
status_set_cancelled: fix F08 binding
2018-07-13 15:36:02 -05:00
Joshua Ladd
b12868239c
Merge pull request #4765 from xinzhao3/topic/osc-ucx-mem-hook
OMPI/OSC/UCX: move memory hooks init in osc to win creation.
2018-07-13 09:36:20 -04:00
Sergey Oblomov
bd84165277 ATOMICS: renamed atomic calls to unsigned datatypes
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-13 15:32:16 +03:00
Sergey Oblomov
d51426ff0a ATOMIC/MXM: fixed abstraction violation
- applied workaround for incorrect dynamic module dependency

Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-13 14:30:12 +03:00
Xin Zhao
74ef51af1b OMPI/OSC/UCX: move memory hooks init in osc to win creation.
Move memory hooks init (for request based operation) in osc ucx to window
creation time, to avoid performance issue in MPI initialization.

Signed-off-by: Xin Zhao <xinz@mellanox.com>
2018-07-12 15:03:02 -07:00
Nathan Hjelm
9d3a79925b btl/vader: fix bugs in rma emulation
This commit fixes two bugs in the RMA/atomic emulation code:

 1) Fix a fragment leak when using AMO emulation.

 2) Always initialize the single-copy emulation code. This is required
 to use the AMO support.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2018-07-12 15:50:50 -06:00
Nathan Hjelm
304a6a52d4 osc/rdma: use local base for local process when possible
This commit fixes a crash that occurs when using btl/vader as an RDMA
btl. This btl supports using CPU atomics and does not support using
the btl for self communication so we must use the local memory
optimizations in osc/rdma.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2018-07-12 15:50:50 -06:00
KAWASHIMA Takahiro
c87a3df0c9
Merge pull request #5416 from kawashima-fj/pr/coll-libnbc-suppress-warnings
coll/libnbc: Suppress compiler warnings
2018-07-12 15:45:59 +09:00
KAWASHIMA Takahiro
98aba03632
Merge pull request #5415 from kawashima-fj/pr/pending-bsend-fix
pml/ob1: Fix data corruption of MPI_BSEND
2018-07-12 15:45:46 +09:00
KAWASHIMA Takahiro
37a05e74aa coll/libnbc: Suppress compiler warnings
Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
2018-07-12 14:42:39 +09:00
KAWASHIMA Takahiro
0021616984 pml/ob1: Fix data corruption of MPI_BSEND
Data transferred by `MPI_BSEND` may corrupt if all of the following
conditions are met.

- The message size is less than the eager limit.
- The `btl_alloc` function in the BTL interface returns `NULL`
  for some reason.
- The MPI program overwrites the send buffer after `MPI_BSEND`
  returns.

The problem is in the way of pending a send request in ob1 PML.
The `mca_pml_ob1_send_request_start_copy` function retruns
`OMPI_ERR_OUT_OF_RESOURCE` if `mca_bml_base_alloc` function returns
`des = NULL`. In this case, the send request is added to the
`send_pending` list and `MPI_BSEND` returns immediately. Next time
the `mca_pml_ob1_send_request_start_copy` function tries sending,
the user buffer may have been overwritten by the MPI program.

Call hierarchy of `MPI_BSEND`:

```
  MPI_Bsend
    mca_pml_ob1_send
      if (MCA_PML_BASE_SEND_BUFFERED == sendmode)
        mca_pml_ob1_isend
          MCA_PML_OB1_SEND_REQUEST_START_W_SEQ
            mca_pml_ob1_send_request_start_seq
              mca_pml_ob1_send_request_start_btl
                if (size <= eager_limit)
                  if (req_send_mode == MCA_PML_BASE_SEND_BUFFERED)
                    mca_pml_ob1_send_request_start_copy
                      mca_bml_base_alloc
                        btl_alloc
              if (OMPI_ERR_OUT_OF_RESOURCE == rc)
                add_request_to_send_pending
        ompi_request_free
```

To solve this problem, we should save the data to the buffer
attached by `MPI_BUFFER_ATTACH` before leaving `MPI_BSEND`.

This problem was introduced by ob1 optimization (commits 2b57f422
and a06e491c) in v1.8 series.

Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
2018-07-12 14:30:58 +09:00
Howard Pritchard
34bc77747c
Merge pull request #5388 from mkurnosov/base-gather-bmtree-fix-mpi-in-place
coll/base/gather_intra_binomial: fix MPI_IN_PLACE processing
2018-07-11 18:34:35 -05:00
Nathan Hjelm
35a75a6bf5 osc/sm: avoid filename collision when multiple windows share same CID
This commit fixes an issue identified by MTT where we can have two
different sets of processes on the same node creating a shared memory
window with communicators sharing the same CID. To avoid this issue
the temporary filename now includes the creating processes vpid.

References #5363

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2018-07-11 14:32:27 -06:00
Ralph Castain
22a13e34d8
Merge pull request #5400 from rhc54/topic/extpmix
Default to external PMIx installation
2018-07-10 17:19:41 -07:00
Nathan Hjelm
037656bc1d osc/rdma: fix bug introduced in b90c838
This commit fixes an bug that was introduced back in 2016 which
impacts request-based RMA in some cases.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2018-07-10 18:17:55 -06:00
Ralph Castain
aeb415a3d0 Add warning for PMIx v1.2.x - dynamic ops not supported
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2018-07-10 16:24:21 -07:00
Ralph Castain
09963affba Further detail check for external PMIx
Per today's telecon, check for supported version and do not use anything less than 1.2.x. Sadly, we don't include the last piece of the version triplet in the version file and so we cannot check for 1.2.5.

If someone explicitly points us at an external installation that isn't acceptable, then error out

Add PMIx support to summary

Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2018-07-10 16:12:52 -07:00
Ralph Castain
fdca304268 Default to external PMIx installation
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2018-07-10 16:12:52 -07:00
Ralph Castain
55357ce9be
Merge pull request #5406 from rhc54/topic/dyn
Control inheritance of launch directives by child jobs
2018-07-10 16:12:04 -07:00
Ralph Castain
6b6e63a346 Control inheritance of launch directives by child jobs
Do not have child jobs inherit launch directives unless requested to do so. This affects the map-by, rank-by, bind-to, npernode, pernode, npersocket, persocket, and cpus-per-rank directives. Values provided in the spawn call always take precedence - if a particular value isn't specified, then the ORTE defaults will be used if inheritance is not requested, and the values specified by MCA param will be used if inheritance is set.

Always inherit oversubscribe for now as otherwise MTT will break

Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2018-07-10 15:12:05 -07:00
Nathan Hjelm
8b090103e2 opal/fifo: fix 128-bit atomic fifo on Power9
This commit updates the atomic fifo code to fix a consistency issue
observed on Power9 systems when builtin atomics are used. The cause
was two things: 1) a missing write memory barrier in fifo push, and 2)
a read ordering issue when reading the fifo head non-atomically. This
commit fixes both issues and appears to correct then inconsistency.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2018-07-10 15:37:11 -06:00
Jeff Squyres
4c0e0c3206
Merge pull request #5403 from mkre/master
Fix output of XPMEM detection in configure summary
2018-07-10 16:33:55 -04:00
Geoff Paulsen
24a4b5e1d7
Merge pull request #5405 from rhc54/topic/deprecate
Add pre-deprecation warning to NEWS
2018-07-10 13:51:23 -05:00
Ralph Castain
7a9e6de20b Add pre-deprecation warning to NEWS
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
2018-07-10 11:24:59 -07:00
Joshua Ladd
f92daa6494
Merge pull request #5392 from hoopoepg/topic/bitwise-atomics-c
OSHMEM/ATOMICS: added C implementation of and/or/xor ops
2018-07-10 09:13:05 -04:00
Moritz Kreutzer
d0a770c8d0 Fix output of XPMEM detection in configure summary
Signed-off-by: Moritz Kreutzer <mokreutzer@gmail.com>

Refs open-mpi/ompi#5377
2018-07-10 15:10:51 +02:00
Yossi Itigin
0d4cd42934
Merge pull request #5391 from hoopoepg/topic/shmemx-compile-warning
OSHMEM: fixed compilation warning
2018-07-10 11:10:39 +03:00
Sergey Oblomov
0212410187 OSHMEM/ATOMICS: fixed comments errors
Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-10 10:13:40 +03:00
Jeff Squyres
fca0cea10a
Merge pull request #5359 from jsquyres/pr/v2.x/tcp-btl-fix-cast
v2.x: tcp/btl: fix a cast
2018-07-09 18:53:24 -04:00
Ralph Castain
c6ee8d2f5c
Merge pull request #5300 from hjelmn/goodbye_oobud
oob/ud: remove as it has bitrotted
2018-07-09 12:40:04 -07:00
Gilles Gouaillardet
76292951e5 coll/libnbc: fix integer overflow
Use internal pack/unpack subroutines that operate on MPI_Aint instead of int
and hence solve some integer overflows.

Thanks Clyde Stanfield for reporting this issue.

Refs open-mpi/ompi#5383

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-07-09 10:08:33 -06:00
Mikhail Kurnosov
22fa5a8a67 coll/base/scatter: replaces right skewed binomial tree (in order) with left skewed binomial tree
Current implementation of `coll/base/MPI_Scatter` is based on in-order binomial tree. This tree is right skewed and it provides good performance for a MPI_Gather operation. But for a MPI_Scatter operation left skewed binomial tree is effective.

Signed-off-by: Mikhail Kurnosov <mkurnosov@gmail.com>
2018-07-09 10:04:41 -06:00
Spruit, Neil R
9a17864278 MTL OFI: Redesign sync send with reduced tag bits and quick ack
-Updated the design for sync send MPI calls to use 2 protocol bits for
denoting "sync_send" or "sync_send_ack".

-"Sync_send" is added to the send tag only and is masked out in receives
such that it can be read by the original Recv posted in the send/recv
operation.

-"Sync_send_ack" is sent from the recv callback to the send side. This 0
byte send does not generate a completion entry and instead sends the
message and immediately completes the opal completion in the recv.

-Tag formats ofi_tag_1 and ofi_tag_2 have been updated to include 2
more tag bits per format type due to the reduced protocal bits required
by OMPI.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2018-07-09 06:50:21 -07:00
Sergey Oblomov
64212a9ff1 OSHMEM/ATOMICS: added C implementation of and/or/xor ops
- added implementation and/or/xor operations for post and
  fetch-op notations
- implemented basic and UCX transports, mxm added
  NON-IMPLEMENTED wrapper
- updated C interfaces only (fortran will be added later)
- existing API is not updated to spec v1.4

Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-09 16:18:47 +03:00