1
1

9900 Коммитов

Автор SHA1 Сообщение Дата
Mikhail Kurnosov
8cf8553abd Resolve merge conflicts
Signed-off-by: Mikhail Kurnosov <mkurnosov@gmail.com>
2018-05-03 07:28:32 +07:00
Nathan Hjelm
c22c485837
Merge pull request #5136 from hjelmn/mtl_fix
mtl: reset ompi_mtl_base_selected_component on framework close
2018-05-02 15:48:54 -06:00
Joshua Ladd
32ddc6af7e
Merge pull request #5094 from xinzhao3/topic/osc-win-fix-master
OMPI/OSC/UCX: fix issue in impl of MPI_Win_create_dynamic/MPI_Win_attach/MPI_Win_detach
2018-05-02 17:42:34 -04:00
Nathan Hjelm
f432d07844 mtl: reset ompi_mtl_base_selected_component on framework close
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2018-05-02 14:53:34 -06:00
Xin Zhao
3f5ac97649 OMPI/OSC/UCX: set priority to 0.
Signed-off-by: Xin Zhao <xinz@mellanox.com>
2018-05-02 21:40:06 +03:00
Yossi Itigin
66d931b7c4
Merge pull request #5116 from yosefe/topic/ucx-connect-errs
ucx: improve error messages during connection establishment
2018-05-02 14:04:24 +03:00
Jeff Squyres
b2aaf28a67
Merge pull request #5113 from ThemosTsikas/patch-2
Use standard-conforming dummy names for Fortran bindings
2018-05-02 06:36:08 -04:00
Nathan Hjelm
1aa82c0e08
Merge pull request #5125 from hjelmn/romio_mpi3
io/romio314: fix two more MPI-3 compliance issues
2018-05-01 20:21:57 -06:00
Themos Tsikas
4d126c16fa mpi/fortran: use conformant dummy names for Fortran bindings
The MPI spec defines that the "mpi" and "mpi_f08" module Fortran
bindings support passing by parameters by name.  Hence, we need to use
the MPI-spec-defined parameter names ("dummy variables", in Fortran
parlance) for the "mpi" and "mpi_f08" modules.

Specifically, Fortran allows calls to procedures to be written with
keyword arguments, e.g., "call mpi_sizeof(x=x,size=rsize,ierror=ier)"
An "explicit interface" for the procedure must be in scope for this to
be allowed in a Fortran program unit.  Therefore, the explicit
interface blocks we provide in the "mpi" and "mpi_f08" modules must
match the MPI published standard, including the names of the dummy
variables (i.e., parameter names), as that is how Fortran programs may
call them.

Note that we didn't find this issue previously because even though the
MPI spec *allows* for name-based parameter passing, not many people
actually use it.  I suspect that we might have some more incorrect
parameter names -- we should probably do a full "mpi" / "mpi_f08"
module parameter name audit someday.

Thanks to Themos Tsikas for reporting the issue and supplying the
initial fix.

Signed-off-by: themos.tsikas@nag.co.uk
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-05-02 09:42:19 +09:00
Nathan Hjelm
c6475e572f ompitrace: MPI_Address -> MPI_Get_address
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2018-05-01 15:20:02 -06:00
Nathan Hjelm
ae17908f35 io/romio314: fix two more MPI-3 compliance issues
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2018-05-01 15:18:18 -06:00
Jeff Squyres
72f2c3befe
Merge pull request #5121 from blegat/bl/cartcreatebracket
Remove brackets for ndims for c++ doc of Cart_create
2018-05-01 13:37:14 -04:00
Nathan Hjelm
bfd8ee7d57
Merge pull request #4898 from bosilca/topic/dist_graph
Allow MPI_PROC_NULL as neighbor.
2018-05-01 09:55:27 -06:00
Nathan Hjelm
380dcb57de
Merge pull request #5072 from bosilca/topic/datatype_add_size_t
Allow OPAL DDT to receive size_t count argument.
2018-05-01 09:47:45 -06:00
Nathan Hjelm
e9ef7aa256
Merge pull request #4985 from mkurnosov/spacc-scan-exscan
coll/spacc: Add recursive doubling algorithm for Scan and Exscan
2018-05-01 09:21:23 -06:00
Benoît Legat
709c4f6646 Remove brackets for ndims for c++ doc of Cart_create
Signed-off-by: Benoît Legat <benoit.legat@gmail.com>
2018-05-01 12:00:55 +02:00
Yossi Itigin
385f38ab4e ucx: improve error messages during connection establishment
Also, unite common code calling ucp_ep_create()

Signed-off-by: Yossi Itigin <yosefe@mellanox.com>
2018-04-30 15:45:05 +03:00
Ninad Prabhukhanolkar
1518d7e003 Updated aggregate_profile.pl
The files array was also storing $phase.prof. This was leading to
$phase.prof's output getting dumped into itself again and again. Updated
code to initialise files array with files other than $phase.prof.

Signed-off-by: Ninad Prabhukhanolkar <ninadchess96@gmail.com>
2018-04-26 20:34:24 +05:30
Edgar Gabriel
300c61f2df
Merge pull request #5093 from edgargabriel/topic/io-configury
Topic/io configury
2018-04-25 15:26:37 -05:00
Edgar Gabriel
19b71e4eb6 ompio/fs: add summary of supported file systems
Add the list of supported file systems to the summary output
add the end of configure

Signed-off-by: Edgar Gabriel <egabriel@central.uh.edu>
2018-04-25 14:39:18 -05:00
Jeff Squyres
5bd02f6649 fortran/tkr: Fix Makefile.am warnings
Set mpi.lo dependencies outside of AM conditionals.  Per
https://github.com/open-mpi/ompi/issues/5085, make mpi.lo depend on
whatever we decide the sizeof source files are (which may be empty, if
this compiler does not support the Right Stuff for MPI_SIZEOF, or it
may be mpi-tkr-sizeof.[h|f90]).

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2018-04-25 10:24:01 -07:00
Gilles Gouaillardet
2abeada060 fortran: build MPI_Sizeof() interface in use-mpi-tkr bindings
whenever possible.

Add the missing OMPI_FORTRAN_BUILD_SIZEOF macro to Fortran
and add a missing dependency.

Thanks Themos Tsikas for reporting this issue.

Refs open-mpi/ompi#5085

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-04-25 15:09:33 +09:00
Xin Zhao
53bdfd1dcb OMPI/OSC/UCX: fix issue in impl of MPI_Win_create_dynamic/MPI_Win_attach/MPI_Win_detach
Signed-off-by: Xin Zhao <xinz@mellanox.com>
2018-04-24 23:09:52 +03:00
Mikhail Kurnosov
787ec8929b Rename function rounddown into ompi_rounddown
FreeBSD 11 `/sys/param.h` has declaration of `rounddown`

Signed-off-by: Mikhail Kurnosov <mkurnosov@gmail.com>
2018-04-24 07:59:49 +07:00
Mikhail Kurnosov
4cbcff7fcd coll/base: add recursive doubling algorithm for MPI_Reduce_scatter_block
Signed-off-by: Mikhail Kurnosov <mkurnosov@gmail.com>
2018-04-23 11:02:31 +07:00
raafatfeki
91e028f7fd fcoll/dynamic_gen2: Reduce number of realloc calls
keep track of the sizeof the blocklen_per_process and displs_per_process
on the aggregator datastructure to minimze the number of realloc function
calls required in the shuffle_init operation.

Signed-off-by: raafatfeki <fekiraafat@gmail.com>
2018-04-20 10:13:57 -05:00
Nathan Hjelm
84765001aa io/romio: do not use removed functions
This commit attempts to update the romio io component to not use
functions removed in MPI-3.0 (2012). This is a first cut and will
probably need to be reviewed for correctness.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2018-04-16 12:06:52 -06:00
Nathan Hjelm
4d876ec6fe io/romio314: fix minmax datatypes
romio assumes that all predefined datatypes are contiguous. Because of
the (terribly named) composed datatypes MPI_SHORT_INT, MPI_DOUBLE_INT,
MPI_LONG_INT, etc this is an incorrect assumption. The simplest way to
fix this is to override the MPI_Type_get_envelope and
MPI_Type_get_contents calls with calls that will work on these
datatypes. Note that not all calls to these MPI functions are
replaced, only the ones used when flattening a non-contiguous
datatype.

References #5009

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2018-04-16 10:46:38 -06:00
George Bosilca
cd683e3eec
Allow OPAL DDT to receive size_t count argument.
Fixes issue #5069, which relates a BigMPI bug with the use of
MPI_Type_vectpor to construct very large datatypes (>2GB).

Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
2018-04-14 15:32:19 -04:00
Todd Kordenbrock
d646a00cd9
Merge pull request #5054 from tkordenbrock/topic/master/mtl-portals4.finalize.fix
master: mtl-portals4: don't call progress() in finalize() if Portals4 was not initialized
2018-04-12 12:12:05 -05:00
Todd Kordenbrock
90659671bc mtl-portals4: don't call progress() in finalize() if Portals4 was not initialized
This commit fixes a segfault in mtl-portals4 finalize().  The segfault
occurs if finalize() is called without any calls to add_procs().  This
commit resolves the segfault by skipping the progress() loop in
finalize() if the Portals was not initialized.

Signed-off-by: Todd Kordenbrock (thkgcode@gmail.com)
2018-04-10 14:22:32 -05:00
Mikhail Kurnosov
82a3a5bdb5 Fix dynamic decision for Scan and bug in Allreduce
Signed-off-by: Mikhail Kurnosov <mkurnosov@gmail.com>
2018-04-06 11:03:17 +07:00
KAWASHIMA Takahiro
5e12e0f2e5
Merge pull request #5001 from ggouaillardet/topic/javah
configury: use javac vs javah whenever possible.
2018-04-06 11:30:20 +09:00
Jeff Squyres
fc8ebbb0e0 MPI_Comm_spawn_multiple.3in: update Fortran string array notes
Per 0ab6b201fed, note in the MPI_Comm_spawn_multiple.3in man page that
the array_of_commands does not need to be terminated -- it just need
to have exactly "count" entries.  In the Fortran binding, at least,
this is different than in prior released versions of Open MPI (it's
not a backwards incompatibility, since prior versions of Open MPI
required array_of_commands to be blank-string-terminated in Fortran --
this change makes Open MPI be *less* restrictive, and therefore still
backwards compatible).

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2018-04-05 06:52:46 -07:00
Jeff Squyres
0ab6b201fe mpi/fortran: fix parsing arrays of Fortran strings
MPI defines the "argv" param to Fortran MPI_COMM_SPAWN as being
terminated by a blank string.  While not precisely defined (except
through a non-binding example, Example 10.2, MPI-3.1 p382:6-29), one
can infer that the "array_of_argv" param to Fortran
MPI_COMM_SPAWN_MULTIPLE is also a set of argv, each of which are
terminated by a blank line.

The "array_of_commands" argument to Fortran MPI_COMM_SPAWN_MULTIPLE is
a little less well-defined.  It is *assumed* to be of length "count"
(another parameter to MPI_COMM_SPAWN_MULTIPLE) -- and *not* be
terminated by a blank string.  This is also given credence by the same
example 10.2 in MPI-3.1.

The previous code assumed that "array_of_commands" should also be
terminated by a blank line -- but per the above, this is incorrect.
Instead, we should just parse our "count" number of strings from
"array_of_commands" and *not* look for a blank line termination.

This commit separates these two cases:

* ompi_fortran_argv_blank_f2c(): parse a Fortran array of strings out
  and stop when reaching a blank string.
* ompi_fortran_argv_count_f2c(): parse a Fortran array of strings out
  and stop when "count" number of strings have been parsed.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2018-04-04 18:56:44 -07:00
Gilles Gouaillardet
5370586d98 configury: use javac vs javah whenever possible
javah is no more available from Java 10, so try
javac -h first (available since Java 8) and fallback on javah

Refs. open-mpi/ompi#5000

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-04-05 10:37:35 +09:00
Gilles Gouaillardet
132ea1a6b0 java: cleanup the list of automatically generated header files
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-04-05 09:27:34 +09:00
Edgar Gabriel
ef28d941d9
Merge pull request #5002 from raafatfeki/pr/coverty-dynamic_gen2-fixes
fcoll/dynamic_gen2: fix coverty warnings
2018-04-04 09:08:42 -05:00
Gilles Gouaillardet
e85fa469f3 coll/tuned: add recursive doubling algo for [ex]scan
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-04-04 14:56:23 +09:00
Gilles Gouaillardet
393376bbd9 coll/basic: move [ex]scan from coll/basic to coll/base
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-04-04 13:41:01 +09:00
Gilles Gouaillardet
65fa0b59c3 coll/tuned: add Rabenseifner algo for [all]reduce
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-04-04 13:25:41 +09:00
Mikhail Kurnosov
177c6ce51f Move algorithms from coll/spacc to coll/base and remove coll/spacc
Signed-off-by: Mikhail Kurnosov <mkurnosov@gmail.com>
2018-04-04 10:21:06 +07:00
raafatfeki
5d99af29cd fcoll/dynamic_gen2: Formatting fixes
Adjust Coding Style to match the 4 space tab rule.
Signed-off-by: raafatfeki <fekiraafat@gmail.com>
2018-04-02 17:25:00 -05:00
raafatfeki
92822613ea fcoll/dynamic_gen2: fix coverty warnings
fix warnings for coverty CID 1433655 and CID 1433654

Signed-off-by: raafatfeki <fekiraafat@gmail.com>
2018-04-02 16:18:07 -05:00
Mikhail Kurnosov
1d2d43bdf0 Fix compile error with dtype
Signed-off-by: Mikhail Kurnosov <mkurnosov@gmail.com>
2018-04-01 08:27:34 +07:00
Edgar Gabriel
c4879ec29f io/ompio: don't reset amode if MODE_SEQUENTIAL is set
the ompio module resets the amode from WRONLY to RDWR in order
to accoomodate data sieving in the two-phase fcoll componet. This
leads however to an error if MPI_MODE_SEQUENTIAL has been requested
by the user, since MODE_SEQUENTIAL is incompatible with MODE_RDWR.
SInce the change to the amode was done after opening the file for
individual file pointers but before opening the file for shared filepointers,
this lead to an error message in the sharedfp component.

Note, that data sieving is never necessary if MODE_SEQUENTIAL is set,
so this should not be a problem for any scenario.

Fixes #4991

Signed-off-by: Edgar Gabriel <egabriel@central.uh.edu>
2018-03-30 07:56:47 -05:00
Mikhail Kurnosov
50ec214d42 Add recursive doubling algorithm for MPI_Scan and MPI_Exscan to coll/base
Signed-off-by: Mikhail Kurnosov <mkurnosov@gmail.com>
2018-03-30 10:12:51 +07:00
raafatfeki
100677721d fcoll/dynamic_gen2: use hindexed constructor on the sender side
instead of using a temporary buffer and copy data into the temp buffer before sending, use a derived datatype to describe the data that needs to be sent during a cycle in the collective I/O operation.

Signed-off-by: raafatfeki <fekiraafat@gmail.com>
2018-03-28 14:37:30 -05:00
Mikhail Kurnosov
bd12e2b1c6 Add recursive doubling algorithm for Scan and Exscan
Implements recursive doubling algorithm for MPI_Scan and MPI_Exscan.
The algorithm preserves order of operations so it can be used both
by commutative and non-commutative operations.

Signed-off-by: Mikhail Kurnosov <mkurnosov@gmail.com>
2018-03-28 16:27:11 +07:00
Nathan Hjelm
e79debc320 osc/rdma: fix overflow in offset calculation
This commit fixes a bug is osc/rdma that can occur if the total size
of the shared memory segment gets larger than 4 GiB. The bug was
caused by a typo. The type of my_base_offset should have been size_t
not int.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2018-03-27 09:33:44 -06:00