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

1229 Коммитов

Автор SHA1 Сообщение Дата
b9d100929b man: fix typo in MPI_Win_allocate_shared
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2016-03-16 14:47:40 -06:00
d4afb16f5a opal: rework mpool and rcache frameworks
This commit rewrites both the mpool and rcache frameworks. Summary of
changes:

 - Before this change a significant portion of the rcache
   functionality lived in mpool components. This meant that it was
   impossible to add a new memory pool to use with rdma networks
   (ugni, openib, etc) without duplicating the functionality of an
   existing mpool component. All the registration functionality has
   been removed from the mpool and placed in the rcache framework.

 - All registration cache mpools components (udreg, grdma, gpusm,
   rgpusm) have been changed to rcache components. rcaches are
   allocated and released in the same way mpool components were.

 - It is now valid to pass NULL as the resources argument when
   creating an rcache. At this time the gpusm and rgpusm components
   support this. All other rcache components require non-NULL
   resources.

 - A new mpool component has been added: hugepage. This component
   supports huge page allocations on linux.

 - Memory pools are now allocated using "hints". Each mpool component
   is queried with the hints and returns a priority. The current hints
   supported are NULL (uses posix_memalign/malloc), page_size=x (huge
   page mpool), and mpool=x.

 - The sm mpool has been moved to common/sm. This reflects that the sm
   mpool is specialized and not meant for any general
   allocations. This mpool may be moved back into the mpool framework
   if there is any objection.

 - The opal_free_list_init arguments have been updated. The unused0
   argument is not used to pass in the registration cache module. The
   mpool registration flags are now rcache registration flags.

 - All components have been updated to make use of the new framework
   interfaces.

As this commit makes significant changes to both the mpool and rcache
frameworks both versions have been bumped to 3.0.0.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2016-03-14 10:50:41 -06:00
0da1374f22 man: fix typo in MPI_File related man pages 2016-03-11 14:16:21 +09:00
89d0a033b7 cxx: "rank" is now a function in C++11
Use "myrank" instead (I tried using ::rank, but had varied
success... so I just renamed the variable).
2016-02-25 15:56:08 -06:00
56425a5d48 Fix issue identified by Lisandro Dalcin regarding the lack
of support for NULL value in MPI_Type_set_attr.
Provides a fix for issue #1359.
2016-02-14 00:07:08 -05:00
7bc62e8f4c Merge pull request #1356 from hjelmn/get_address
Fix MPI_Get_address (MPI_BOTTOM, ...)
2016-02-13 08:27:18 -05:00
064a67f5b9 Fix MPI_Get_address (MPI_BOTTOM, ...)
Nowhere in the standard does it say that it is invalid to pass
MPI_BOTTOM to MPI_Get_address yet we were returning an error. This
commit removes the error check on NULL == location.

Fixes open-mpi/ompi#1355.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2016-02-12 16:34:21 -07:00
cda094afc7 mpi_f08: correctly implements MPI_{COMM,TYPE,WIN}_{DUP,NULL_{COPY,DELETE}}_FN
Fixes open-mpi/ompi#1323
2016-02-02 13:38:01 +09:00
728a97c558 use-mpi-f08: remove duplicates from Makefile.am 2016-02-02 13:33:07 +09:00
704f14f91e f08: do not BIND(C) to subroutines with LOGICAL parameters
Thanks Paul Romano for reporting this issue.
2016-01-26 13:56:24 +09:00
2adbe273d6 mpi: have MPI_Wtick() return the period (and not the frequency) if OPAL_TIMER_CYCLE_NATIVE 2016-01-20 14:14:47 +09:00
96f94f8228 fortran: whitelist deliberate common symbols
The Fortran library has a number of common symbols that are
deliberate, so whitelist them.
2016-01-16 03:53:14 -08:00
2abb2972ac Fix Mellanox copyrights with respect to the following PRs:
* https://github.com/open-mpi/ompi/pull/1184
* https://github.com/open-mpi/ompi/pull/1188
* https://github.com/open-mpi/ompi/pull/1197
* https://github.com/open-mpi/ompi/pull/1202
* https://github.com/open-mpi/ompi/pull/1210
* https://github.com/open-mpi/ompi/pull/1216
* https://github.com/open-mpi/ompi/pull/1236
* https://github.com/open-mpi/ompi/pull/1237
* https://github.com/open-mpi/ompi/pull/1248
* https://github.com/open-mpi/ompi/pull/1260
* https://github.com/open-mpi/ompi/pull/1264
2015-12-30 00:12:19 +06:00
47ab2fcb89 man: fix MPI_Neighbor_alltoall{v,w} prototypes
Thanks Willem Vermin for bringing this to our attention
2015-12-28 09:39:33 +09:00
e918d75fae java: try do dlopen libmpi with the full path
Since OS X 10.11 (aka El Capitan) DYLD_LIBRARY_PATH is no more
propagated to children, so try to dlopen libmpi with the full path
using the directory of libmpi_java

Fixes open-mpi/ompi#1220

Thanks Alexander Daryin for reporting this
2015-12-22 11:09:46 +09:00
6e6fd14a19 Fix indentation. 2015-12-20 03:15:19 -05:00
a2a5d650f9 Merge pull request #1180 from ggouaillardet/mpi_xxx_dup_fn
fortran: add missing MPI_xxx_DUP_FN bindings
2015-12-15 13:15:27 -05:00
f0df2a7b2b ompi: silence CID 1343322 2015-12-15 13:33:43 +09:00
139799f3c4 Merge pull request #1202 from artpol84/alltoall_fix
Fix MPI_Alltoall to support inter-communicators.
2015-12-14 14:33:23 -08:00
b7ba301310 Merge pull request #1165 from hjelmn/add_procs_group
ompi/group: release ompi_proc_t's at group destruction
2015-12-14 13:53:42 -08:00
5e5adebf8e Port the changes from #782 to the master. Not everything applies here as the code in the 1.10 series is a little different. In addition, we asked for a few changes (e.g., using MPI_ERR_ARG instead of "13") that are incorporated here.
Thanks to @jsharpe for the PR
2015-12-12 12:40:34 -08:00
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
ef03bc726c ompi: fix comment in ompi/mpi/c/Makefile.am
Thanks Jeff for the review
2015-12-07 11:34:01 +09:00
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
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
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
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
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
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
384f4b51d1 fortran: Fix: missing dimension(*) in (I)NEIGHBOR_ALLTOALLW. 2015-11-04 10:38:25 +09:00
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
d5e1f40a1e fortran: Fix: info should be an integer parameter. 2015-11-04 10:38:24 +09:00
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
4ac247b1da Minor updated on the validity checks for the alltoall collectives. 2015-10-24 15:25:28 -04:00
e716866e0c Merge pull request #1057 from hjelmn/binding_fix
win: fix erroneous argument check
2015-10-22 15:15:43 -06:00
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
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
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
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
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
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
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
630d6bf800 Merge pull request #1038 from kawashima-fj/pr/man-correction
man: Various manpage corrections
2015-10-20 06:40:05 -04:00
7ab464fbb4 Revert "man: Remove unnecessary spaces in front of parameters."
This reverts commit 3253a30ab2.

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
373a94a3f1 man: Revert my MPI_File_iwrite_shared manpage change.
This reverts commit 2226cdb3da
and                 d9c93c9f5d.

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
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
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
d9c93c9f5d man: Add const that is removed accidentally in 2226cdb. 2015-10-20 08:49:10 +09:00
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
d3a29e364c man: Change 'MPI ADDRESS KIND' to 'MPI_ADDRESS_KIND'.
(underscores instead of spaces)
2015-10-19 15:11:06 +09:00