1
1

1408 Коммитов

Автор SHA1 Сообщение Дата
Artem Polyakov
25077fc5d9 Fix MPI_Alltoall to support inter-communicators.
Remove excessive parameter check to avoid premature exit from the collective.

MPI standard says:
The type signature associated with sendcount, sendtype, at a process must be equal to
the type signature associated with recvcount, recvtype at any other process. This implies
that the amount of data sent must be equal to the amount of data received, pairwise between
every pair of processes.

In case of inter-communicator we have 2 group of processes and "left" group may call
MPI_Alltoall(NULL, 0, MPI_INT, buf, 10, MPI_INT, comm, ...);
and the right one:
MPI_Alltoall(buf,10,MPI_INT, NULL, 0, MPI_INT, comm, ...);

And it would be legal though one of the group will receive 0 bytes from others.

This was triggered by MPICH/coll test called icalltoall.
2015-12-11 08:50:34 +06:00
Gilles Gouaillardet
ef03bc726c ompi: fix comment in ompi/mpi/c/Makefile.am
Thanks Jeff for the review
2015-12-07 11:34:01 +09:00
Gilles Gouaillardet
26b2ed1069 fortran: add missing MPI_xxx_DUP_FN bindings in use-mpi-tkr
- MPI_COMM_DUP_FN
- MPI_TYPE_DUP_FN
- MPI_WIN_DUP_FN
2015-12-07 09:10:48 +09:00
Jeff Squyres
0adcb5b5cd MPI_Testsome.3in: wrap some long lines
Wrap some long lines; no other text or semantics changes.
2015-12-03 17:06:43 -05:00
Jeff Squyres
11c571b568 MPI_Testsome.3in: add explicit verbiage about return values
Instead of solely relying on the out value definitions in
MPI_Waitsome.3, explicitly copy this text here.

Note that the original text in this man page was copied verbatim from
the MPI spec; we've now added a bit more text (copied from
MPI_Waitsome.3in) that explains the out values so that users don't
have to cross-reference to another man page.

Thanks to Eric Schnetter for the suggestion.

Fixes open-mpi/ompi#1153
2015-12-03 17:06:22 -05:00
Nathan Hjelm
5334d22a37 ompi/group: release ompi_proc_t's at group destruction
This commit changes the way ompi_proc_t's are retained/released by
ompi_group_t's. Before this change ompi_proc_t's were retained once
for the group and then once for each retain of a group. This method
adds unnecessary overhead (need to traverse the group list each time
the group is retained) and causes problems when using an async
add_procs.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-11-30 23:03:47 -07:00
Nathan Hjelm
fda5daf453 Merge pull request #1096 from kawashima-fj/pr/fortran-var-type-fix
Fix Fortran variable types
2015-11-05 14:27:40 -07:00
KAWASHIMA Takahiro
c09f9f05d3 mpi/tool: Fix an incorrect type cast.
This bug caused an invalid result value on `MPI_T_cvar_read`
on big-endian machines or for large (>=2Gi) cvar values.
2015-11-04 11:28:43 +09:00
KAWASHIMA Takahiro
384f4b51d1 fortran: Fix: missing dimension(*) in (I)NEIGHBOR_ALLTOALLW. 2015-11-04 10:38:25 +09:00
KAWASHIMA Takahiro
107c0073dd fortran: Fix: MPI_UNWEIGHTED and MPI_WEIGHTS_EMPTY should be arrays.
Without this modification, gfortran throw the following error
if these variables are used for `MPI_DIST_GRAPH_CREATE_ADJACENT` or
`MPI_DIST_GRAPH_CREATE_ADJACENT`.

  Error: There is no specific subroutine for the generic
  'mpi_dist_graph_create_adjacent' at (1)
2015-11-04 10:38:25 +09:00
KAWASHIMA Takahiro
d5e1f40a1e fortran: Fix: info should be an integer parameter. 2015-11-04 10:38:24 +09:00
Gilles Gouaillardet
1105634ca1 mpi_f08: fix MPI_WIN_{ATTACH,DETACH} bindings
fixes INTENT from open-mpi/ompi@9600e2bc63

Thanks Jeff for pointing this !
2015-10-26 10:02:45 +09:00
George Bosilca
4ac247b1da Minor updated on the validity checks for the alltoall collectives. 2015-10-24 15:25:28 -04:00
Nathan Hjelm
e716866e0c Merge pull request #1057 from hjelmn/binding_fix
win: fix erroneous argument check
2015-10-22 15:15:43 -06:00
Jeff Squyres
86270e7613 MPI_File_open: add note about allowable chars in filenames
Thanks to @nasailja for the original text suggestion.
2015-10-22 11:56:53 -07:00
Nathan Hjelm
6ae57647ab win: fix erroneous argument check
When using dynamic memory windows the displacement becomes a
pointer. Since the high bit may be set on valid pointers on some
platforms the check for disp > 0 is invalid. This commit adds the
window flavor to ompi_win_t and disables the displacement check when
operating on dynamic memory windows.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-10-22 09:33:26 -06:00
Nathaniel Graham
c4d70ab425 Fix Java related warnings
This commit fixes java related warnings.

Fixes #881

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-10-21 17:14:25 -07:00
Gilles Gouaillardet
a0782e1c7e mpi: MPI_Neighbor_all* and MPI_Ineighbor_all* do not work with
inter communicators (fail with MPI_ERR_COMM) or non process topologies
communicators (fail with MPI_ERR_TOPOLOGY)
2015-10-21 16:21:19 +09:00
Gilles Gouaillardet
3b0b929883 ompi: MPI_IN_PLACE is not a valid argument of MPI_Neighbor_all* and MPI_Ineighbor_all* 2015-10-21 14:46:35 +09:00
Gilles Gouaillardet
256976a108 mpi: MPI_IN_PLACE is not a valid argument of MPI_All* and MPI_Iall* with an inter communicator 2015-10-21 14:46:28 +09:00
Gilles Gouaillardet
9b31530d5c man: misc fix of revamp of MPI_File_* and MPI_Register_datarep man pages
that fixes commit open-mpi/ompi@b17c89c1e6 :
- remove unnecessary empty lines
- add USE mpi in MPI_Register_datarep

Thanks Jeff for noticing this
2015-10-21 09:41:01 +09:00
Jeff Squyres
630d6bf800 Merge pull request #1038 from kawashima-fj/pr/man-correction
man: Various manpage corrections
2015-10-20 06:40:05 -04:00
KAWASHIMA Takahiro
7ab464fbb4 Revert "man: Remove unnecessary spaces in front of parameters."
This reverts commit 3253a30ab2922fa9eef2e0b5e7843a949a650853.

Because Gilles' b17c89c1 committed a few hours ago has the same change,
my RP branch had a conflict.
2015-10-20 15:32:45 +09:00
KAWASHIMA Takahiro
373a94a3f1 man: Revert my MPI_File_iwrite_shared manpage change.
This reverts commit 2226cdb3dacd21dcf7e9836db57ddb9d7936ac43
and                 d9c93c9f5d71c7e8cecedb2bed39d8d33029baf1.

Because Gilles' b17c89c1 committed a few hours ago has the same change,
my RP branch had a conflict.
2015-10-20 14:41:22 +09:00
Gilles Gouaillardet
2bd77ed4f9 mpi: fail with MPI_ERR_INTERN if MPI_IN_PLACE is used with MPI_I*alltoall*
currently, MPI fails with MPI_ERR_ARG. This is counter intuitive since
MPI_IN_PLACE is a legitimate parameter. MPI_IN_PLACE might not be correctly
implemented by all the non blocking modules (libnbc, ...) so fail with
MPI_ERR_INTERN for the time being.
2015-10-20 14:12:33 +09:00
Gilles Gouaillardet
b17c89c1e6 man: revamp MPI_File_* and MPI_Register_datarep man pages
- suggest USE mpi instead of INCLUDE 'mpif.h'
- fix indentation
Thanks Jeff for pointing this issue.
2015-10-20 13:12:12 +09:00
KAWASHIMA Takahiro
d9c93c9f5d man: Add const that is removed accidentally in 2226cdb. 2015-10-20 08:49:10 +09:00
KAWASHIMA Takahiro
7fef70c9b8 man: Add MPI_DIST_GRAPH in MPI_TOPO_TEST manpage.
`MPI_DIST_GRAPH` was added in MPI-2.2.
2015-10-19 15:24:12 +09:00
KAWASHIMA Takahiro
d3a29e364c man: Change 'MPI ADDRESS KIND' to 'MPI_ADDRESS_KIND'.
(underscores instead of spaces)
2015-10-19 15:11:06 +09:00
KAWASHIMA Takahiro
dcd14103d5 man: Remove unnecessary spaces in Fortran syntax.
Similar lines of other routines have no space.
2015-10-19 15:04:50 +09:00
KAWASHIMA Takahiro
34c3b5d74d man: Correct the kind of ADDRESS parameter of MPI_GET_ADDRESS. 2015-10-19 15:01:30 +09:00
KAWASHIMA Takahiro
3253a30ab2 man: Remove unnecessary spaces in front of parameters. 2015-10-19 14:48:23 +09:00
KAWASHIMA Takahiro
2226cdb3da man: Correct the routine name of MPI_FILE_IWRITE_SHARED. 2015-10-19 14:44:49 +09:00
KAWASHIMA Takahiro
bffc7b6c8f man: Add man of MPI_Message_{c2f,f2c} and MPI_Op_commutative.
These routines were added in MPI-2.2 but were missing in OMPI man pages.
2015-10-19 13:49:40 +09:00
KAWASHIMA Takahiro
9942d5a933 man: MPI_IBARRIER has two output parameters. 2015-10-19 13:46:03 +09:00
KAWASHIMA Takahiro
953c95e9bb man: Update description of MPI_IN_PLACE of MPI_Exscan.
MPI-2.2 added MPI_IN_PLACE support for MPI_Exscan.
2015-10-19 13:46:03 +09:00
KAWASHIMA Takahiro
5a3b8b34cd man: Remove outdated description. MPI-2.2 is ratified. 2015-10-19 13:46:03 +09:00
KAWASHIMA Takahiro
1261b115e4 man: Fix incorrect nroff markups. 2015-10-19 13:46:03 +09:00
KAWASHIMA Takahiro
9b96209ac5 man: Fix incorrect C++ binding descriptions. 2015-10-19 13:46:03 +09:00
KAWASHIMA Takahiro
ffce87328d man: MPI_Get_version now returns 3.1 instead of 2.1. 2015-10-19 13:46:03 +09:00
KAWASHIMA Takahiro
80a0b30be8 man: Correct wrong argument order. 2015-10-19 13:46:03 +09:00
KAWASHIMA Takahiro
4bbe86b171 man: Fix a typo of an argument. 2015-10-19 13:46:03 +09:00
KAWASHIMA Takahiro
519ddd9ae9 man: Insert missing error classes & Fix incorrect error codes. 2015-10-19 13:46:02 +09:00
Jeff Squyres
40b4d5d74d help-mpi-api.txt: remove now-stale help messages 2015-10-15 12:39:16 -04:00
Jeff Squyres
338257a2f4 man: update man pages for Init*/Finalize*
Update language surrounding initialization and finalization in
MPI_Init[_thread], MPI_Initialized, MPI_Finalize, and MPI_Finalized.
2015-10-15 12:39:16 -04:00
Jeff Squyres
f5ad90c920 init/finalize: extensions
Proposed extensions for Open MPI:

- If MPI_INITLIZED is invoked and MPI is only partially initialized,
  wait until MPI is fully initialized before returning.
- If MPI_FINALIZED is invoked and MPI is only partially finalized,
  wait until MPI is fully finalized before returning.
- If the ompi_mpix_allow_multi_init MCA param is true, allow MPI_INIT
  and MPI_INIT_THREAD to be invoked multiple times without error (MPI
  will be safely initialized only the first time it is invoked).
2015-10-15 12:39:15 -04:00
KAWASHIMA Takahiro
66a8bc9e45 fortran/mpif-h: Insert missing weak symbols & Fix incorrect symbol names. 2015-10-15 11:58:41 +09:00
Jeff Squyres
aceb1ebb47 Merge pull request #1026 from hjelmn/static_mutex
opal static mutex initializers
2015-10-14 22:10:51 -04:00
Jeff Squyres
2b9c9f3093 Fortran: add missing MPI_AINT in mpi_f08 module 2015-10-14 17:32:01 -07:00
Nathan Hjelm
7f7ff8d851 mpit: use opal static mutex initializer
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-10-14 16:08:42 -06:00