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

1450 Коммитов

Автор SHA1 Сообщение Дата
KAWASHIMA Takahiro
4944ba7edc datatype: Fix incorrect predefined datatype names and other datatype bugs (#1537)
* datatype: Fix a incorrect datatype name of `MPI_UNSIGNED`

Name of predefined datatype for C `unsigned int` gotten by
`MPI_TYPE_GET_NAME` should be `MPI_UNSIGNED`, not `MPI_UNSIGNED_INT`.

* datatype: Fix incorrect datatype names of `MPI_C_BOOL` and `MPI_CXX_*`

Names of predefined datatypes gotten by `MPI_TYPE_GET_NAME` are:

after this commit (correct) | before this commit (incorrect)
-----------------------------------------------------------
MPI_C_BOOL                    MPI_BOOL
MPI_CXX_BOOL                  MPI_BOOL
MPI_CXX_FLOAT_COMPLEX         MPI_C_FLOAT_COMPLEX
MPI_CXX_DOUBLE_COMPLEX        MPI_C_DOUBLE_COMPLEX
MPI_CXX_LONG_DOUBLE_COMPLEX   MPI_C_LONG_DOUBLE_COMPLEX

* datatype: Fix a incorrect datatype name of `MPI_2DOUBLE_PRECISION`

Name of the predefined datatype for Fortran two `double precision`
gotten by `MPI_TYPE_GET_NAME` should be `MPI_2DOUBLE_PRECISION`,
not `MPI_2DBLPREC`.

This bug was caused by setting the name to `opal_datatype_t::name`
instead of `ompi_datatype_t::name`.

* datatype: Fix `MPI_UNSIGNED_CHAR` internal flag

`MPI_UNSIGNED_CHAR` is an integer type.

* ompi/cxx: Fix C++ `MPI::LONG_DOUBLE_INT` definition

Just a typo fix. Without this fix, `MPI::MAX_LOC` and `MPI::MIN_LOC`
cannot be used with `MPI::LONG_DOUBLE_INT` in C++ programs.

I know the C++ binding is obsolete, but fixing this is harmless.

* Add FUJITSU copyright
2016-04-12 20:17:46 +02:00
KAWASHIMA Takahiro
17d32acbb6 fortran: Add missing (P)MPI_Alloc_mem_cptr_{f,f08} symbols
This commit adds the following symbols

  MPI_Alloc_mem_cptr_f
  MPI_Alloc_mem_cptr_f08
  PMPI_Alloc_mem_cptr_f
  PMPI_Alloc_mem_cptr_f08

These are implemented in the same way as other `_cptr` routines.
2016-04-12 22:40:58 +09:00
KAWASHIMA Takahiro
d48c8525ed fortran: Fix incorrect weak symbol names 2016-04-12 22:16:32 +09:00
KAWASHIMA Takahiro
5d32a601ff fortran: Add missing interfaces (part 2) 2016-04-12 22:06:35 +09:00
KAWASHIMA Takahiro
6f09d53e34 fortran: Add missing interfaces 2016-04-12 21:44:33 +09:00
KAWASHIMA Takahiro
f3b9a49ad1 fortran: Add missing PMPI interfaces 2016-04-12 20:55:41 +09:00
KAWASHIMA Takahiro
b6cb0bc257 fortran: Fix an incorrect interface name 2016-04-12 20:48:08 +09:00
KAWASHIMA Takahiro
96e93a9c5f fortran: Sort declared subroutins in alphabetical order
And insert necessary empty lines and remove unnecessary empty lines.

No code change.
2016-04-12 20:36:46 +09:00
KAWASHIMA Takahiro
334c63cf0a fortran: Change subroutine declaration order
Same order for `comm`, `type`, and `win`.

No code change.
2016-04-12 20:10:15 +09:00
KAWASHIMA Takahiro
10c11ff5b5 fortran: Add missing MPI_DUP_FN subroutine
Though the `MPI_DUP_FN` subroutine is depricated, it is not yet removed
as of MPI-3.1.
2016-04-12 20:06:50 +09:00
KAWASHIMA Takahiro
d3d6386578 mpi/forran: Support MPI_IN_PLACE on (I)ALLTOALLW and (I)EXSCAN
`MPI_IN_PLACE` support for `MPI_ALLTOALLW` and `MPI_EXSCAN` was
added in MPI-2.2 but it was missed in OMPI Fortran binding code.
2016-04-11 20:38:28 +09:00
KAWASHIMA Takahiro
eb5c31521b mpi/c: Fix MPI_IALLTOALLW memchecker 2016-04-11 18:47:30 +09:00
KAWASHIMA Takahiro
1ced7f213c mpi/c: Fix IALLTOALL{V|W} + MPI_IN_PLACE param check
`sendcounts`, `sdispls`, and `sendtype(s)` must be ignored
if `MPI_IN_PLACE` is specified for `sendbuf`.
This commit makes the param check code same as the blocking
`ALLTOALL{V|W}` function.
2016-04-11 18:34:11 +09:00
Karol Mroz
f8ecdbd623 java: replace deprecated hindexed call
Signed-off-by: Karol Mroz <mroz.karol@gmail.com>
2016-04-10 19:56:22 +02:00
Gilles Gouaillardet
7b803ac557 MPI_Unpack: fix error code when insize <= 0
this fixes a regression from open-mpi/ompi@f2e33c725f
2016-04-06 09:47:21 +09:00
Gilles Gouaillardet
f2e33c725f MPI_Unpack: fix return status
this regression was previously introduced in open-mpi/ompi@221e6e2eab
2016-03-31 09:56:54 +09:00
Gilles Gouaillardet
5932287cef datatype/[un]pack_external[_size]: move subroutines down to ompi/datatype
so it can be directly used by test/datatype/external32
2016-03-30 13:01:33 +09:00
Gilles Gouaillardet
221e6e2eab Add the datatype checks to the pack/unpack functions.
The datatype must satisfy the same constraints as for the
corresponding communication function (send for pack and
recv for unpack).
2016-03-30 11:40:08 +09:00
Gilles Gouaillardet
a89f113507 mpi/c: add missing OPAL_CR_EXIT_LIBRARY() in [un]pack[_external] 2016-03-30 11:25:21 +09:00
Nathan Hjelm
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
Nathan Hjelm
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
Nathan Hjelm
60a3eb12ac comm_spawn_multiple_f: fix coverity issue
Fix CID 1327338: Resource leak (RESOURCE_LEAK):

Confirmed that the c_info array was being leaked. Free the array
before returning.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2016-03-11 13:07:01 -07:00
Gilles Gouaillardet
0da1374f22 man: fix typo in MPI_File related man pages 2016-03-11 14:16:21 +09:00
Jeff Squyres
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
Nathan Hjelm
230d04327e ompi: always enable MPI_THREAD_MULTIPLE support
This commit removes the --with-mpi-thread-multiple option and forces
MPI_THREAD_MULTIPLE support. This cleans up an abstration violation
in opal where OMPI_ENABLE_THREAD_MULTIPLE determines whether the
opal_using_threads is meaningful. To reduce the performance hit on
MPI_THREAD_SINGLE programs an OPAL_UNLIKELY is used for the
check on opal_using_threads in OPAL_THREAD_* macros.

This commit does not clean up the arguments to the various functions
that take whether muti-threading support is enabled. That should be
done at a later time.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2016-02-23 10:02:14 -07:00
George Bosilca
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
Jeff Squyres
7bc62e8f4c Merge pull request #1356 from hjelmn/get_address
Fix MPI_Get_address (MPI_BOTTOM, ...)
2016-02-13 08:27:18 -05:00
Nathan Hjelm
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
Gilles Gouaillardet
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
Gilles Gouaillardet
728a97c558 use-mpi-f08: remove duplicates from Makefile.am 2016-02-02 13:33:07 +09:00
Gilles Gouaillardet
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
Gilles Gouaillardet
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
Jeff Squyres
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
Artem Polyakov
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
Gilles Gouaillardet
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
Gilles Gouaillardet
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
George Bosilca
6e6fd14a19 Fix indentation. 2015-12-20 03:15:19 -05:00
Jeff Squyres
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
Gilles Gouaillardet
f0df2a7b2b ompi: silence CID 1343322 2015-12-15 13:33:43 +09:00
Nathan Hjelm
139799f3c4 Merge pull request #1202 from artpol84/alltoall_fix
Fix MPI_Alltoall to support inter-communicators.
2015-12-14 14:33:23 -08:00
Nathan Hjelm
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
Ralph Castain
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
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 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
KAWASHIMA Takahiro
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
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
Jeff Squyres
ac25505e03 mpi: infrastructure to gracefully disable MPI dyn procs
Add ompi_mpi_dynamics_disable() function to disable MPI dynamic
process functionality (i.e., such that if MPI_COMM_SPAWN/etc. are
invoked, you'll get a show_help error explaining that MPI dynamic
process functionality is disabled in this environment -- instead of a
potentially-cryptic network or hardware error).

Fixes #984
2015-10-14 13:42:56 -07:00
Jeff Squyres
a4adee5329 dynamics: fix OPAL_CR_EXIT_LIBRARY()
Noticed that these were wrong will working on a different pull
request.  Submit these fixes indepdent of other changes, just to keep
things separated.
2015-10-13 10:57:33 -07:00
Jeff Squyres
71dfba9ed3 Merge pull request #845 from ggouaillardet/topic/pmpi_vs_mpi
Remove --enable-mpi-profile configure option (i.e., always build PMPI bindings)
2015-10-13 12:13:10 -04:00
Gilles Gouaillardet
3e469662ad trim man pages if no c++/f08/fortran 2015-10-13 10:21:42 +09:00
Gilles Gouaillardet
66c30b2721 Add Fortran 2008 syntax to the manpages 2015-10-13 09:21:45 +09:00
Gilles Gouaillardet
291a464efb configury: remove the --enable-mpi-profiling option
and directly call the PMPI_* symbols from C and Fortran bindings
2015-10-13 08:52:35 +09:00
Gilles Gouaillardet
40b57ff347 fortran: only generate the correct symbol based on the compiler mangling. 2015-10-13 08:52:03 +09:00
Gilles Gouaillardet
53b952dc2b oshmem: invoke the C PMPI_* subroutines instead of the MPI_* ones
when profiling is built.
This prevents oshmem subroutines from being wrapped twice by third
party tools (e.g. once in oshmem and once in MPI)
see discussion starting at http://www.open-mpi.org/community/lists/devel/2015/08/17842.php

Thanks to Bert Wesarg for bringing this to our attention
2015-10-13 08:52:03 +09:00
Gilles Gouaillardet
16d65a2762 fortran/mpif-h: invoke the C PMPI_* subroutines instead of the MPI_* ones
when profiling is built.
This prevents Fortran subroutines from being wrapped twice by third
party tools (e.g. once in Fortran and once in C)
see discussion starting at http://www.open-mpi.org/community/lists/devel/2015/08/17842.php
2015-10-13 08:52:02 +09:00
Nathan Hjelm
fbaa79835f ompi/man: fix typos in formatting
Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2015-09-29 23:32:44 -06:00
Gilles Gouaillardet
97b9d12c58 man: fix a typo in MPI_Ibarrier C prototype
Thanks Harald Servat for reporting this
2015-09-28 16:54:20 +09:00
Nathan Hjelm
20d5c07638 Fix CID 1312113: Logically dead code
Removed logically dead code.

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2015-09-27 09:46:06 -06:00
Nathan Hjelm
5553dba0c4 Merge pull request #919 from hjelmn/accumulate_ops
ompi/win: save value of accumulate_ops info key on window
2015-09-22 10:50:50 -06:00
Nathan Hjelm
6751409c32 ompi/win: save value of accumulate_ops info key on window
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-09-21 16:37:29 -06:00
Nathan Hjelm
d6724f2828 ompi: add missing man pages
This commit adds man pages for the MPI_Win_allocate and MPI_Win_allocated_shared
MPI-3 functions. The man page for MPI_Win_create has also been updated to
indicate support for the same_size and same_disp_unit info keys

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-09-21 16:21:28 -06:00
Gilles Gouaillardet
fe351f6801 io: do not cast way the const modifier when this is not necessary
update the io framework and mpi c bindings
2015-09-09 09:18:58 +09:00
Gilles Gouaillardet
e01bac962f coll: do not cast way the const modifier when this is not necessary
update the coll framework and mpi c bindings
2015-09-09 09:18:57 +09:00
Gilles Gouaillardet
6e6a3e965c pml: do not cast way the const modifier when this is not necessary
update the pml framework and mpi c bindings
2015-09-09 09:18:57 +09:00
Gilles Gouaillardet
43ef261d46 topo: do not cast way the const modifier when this is not necessary
update the topo framework and mpi c bindings
2015-09-09 09:18:57 +09:00
Ralph Castain
e6add86e4f Deal with connect/accept between two jobs from different mpirun's. Somewhat optimize connect/accept by using MPI bcast to distribute the participants instead of another PMIx lookup. Cleanup some Coverity issues. 2015-09-07 09:19:24 -07:00
Ralph Castain
f6948c2bb4 Sync with PMIx master 43e45c3. Get multi-node publish/lookup/unpublish working 2015-09-04 10:07:17 -07:00
Ralph Castain
a772b46c15 Bring the MPI_Publish and friends online 2015-09-02 12:04:07 -07:00
Jeff Squyres
596557e61b Fortran: update a comment
Split the list of subroutines into cases #1 and #2, just for clarity.
2015-08-31 03:10:09 -07:00
Gilles Gouaillardet
21642a2407 osc: do not cast way the const modifier when this is not necessary
update the osc framework and mpi c bindings
2015-08-31 10:34:05 +09:00
Gilles Gouaillardet
21b1e7f8c5 mpi conformance: fix prototypes
- MPI_Compare_and_swap
- MPI_Fetch_and_op
- MPI_Raccumulate
- MPI_Win_detach

Thanks to Michael Knobloch and Takahiro Kawashima for bringing this
to our attention
2015-08-31 10:34:05 +09:00
Ralph Castain
cf6137b530 Integrate PMIx 1.0 with OMPI.
Bring Slurm PMI-1 component online
Bring the s2 component online

Little cleanup - let the various PMIx modules set the process name during init, and then just raise it up to the ORTE level. Required as the different PMI environments all pass the jobid in different ways.

Bring the OMPI pubsub/pmi component online

Get comm_spawn working again

Ensure we always provide a cpuset, even if it is NULL

pmix/cray: adjust cray pmix component for pmix

Make changes so cray pmix can work within the integrated
ompi/pmix framework.

Bring singletons back online. Implement the comm_spawn operation using pmix - not tested yet

Cleanup comm_spawn - procs now starting, error in connect_accept

Complete integration
2015-08-29 16:04:10 -07:00
Zhi Ming Wang
c8d4751ae6 Correct the wrong "Name Binding" of functions 2015-08-28 03:28:09 -04:00
Nathan Hjelm
f451876058 Merge pull request #825 from hjelmn/white_space_purge
periodic trailing whitespace purge
2015-08-25 19:23:52 -06:00
Jeff Squyres
2cfdeff38d Fortran: these lines should not be commented out 2015-08-25 07:13:52 -07:00
Jeff Squyres
42a761e052 Fortran: remove dead Makefile.am code 2015-08-25 07:13:34 -07:00
Nathan Hjelm
156ce6af21 periodic whitespace purge
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-08-24 09:32:33 -06:00
Howard Pritchard
eb25c006eb Merge pull request #822 from nrgraham23/java_garbage_collection_bugfix
Java garbage collection bugfix
2015-08-22 14:58:01 -06:00
Jeff Squyres
0f3a3e52ba gen-mpi-sizeof: minor style change
Suggested by Paul Hargrove.
2015-08-22 03:07:44 -07:00
Jeff Squyres
9f345bd22f fortran: moar fixes for the Fortran MPI_SIZEOF debacle
Ensure to define ompi/pompi versions for platforms that don't have
weak symbols.  Also make fortran/mpif-h/profile build a separate
sizeof library, just like fortran/mpifh-h does.
2015-08-21 14:35:18 -07:00
Jeff Squyres
ede9fc17b0 gen-mpi-sizeof.pl: don't generate sub for headers
We only need the dummy subroutine when we're generating the body of a
file -- not when we're generating headers.
2015-08-20 14:24:45 -07:00
Jeff Squyres
edf485716e gen-mpi-sizeof.pl: restore execute permission
Somehow the "x" bit got reset in the last commit.
2015-08-20 13:31:02 -07:00
--quiet
d5763a8288 fortran sizeof: ensure mpi_sizeof*f90 is not empty
Per http://www.open-mpi.org/community/lists/devel/2015/08/17775.php,
some compilers don't like it when there's a .f90 file that only
contains comments (and no actual Fortran code).  So if OMPI determines
that the Fortran compiler does not support enough Fortran mojo to
support MPI_SIZEOF, generate at least one dummy Fortran subroutine
that can be compiled in an otherwise barren Fortran landscape that is
devoid of life and hope.
2015-08-20 13:01:14 -07:00
Nathaniel Graham
97422de7a8 Code cleanup
Removing the ArrayList import which is no longer needed.
2015-08-20 12:47:01 -06:00
Nathaniel Graham
d363b5d832 Java garbage collection bugfix
This pull request adds an arraylist of type Buffer to
the Request class.  Whenever a request object is created
that has associated buffers, the buffers should be added
to this array list so the java garbage collector does
not dispose of the buffers prematurely.

This is a more robust expansion on the idea first proposed by
@ggouaillardet

Fixes #369

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-08-19 17:45:26 -06:00
Gilles Gouaillardet
99730f798b fortran: (try to) align C objects used by Fortran
Fortran uses objects (ompi_f08_mpi_comm_world, mpi_fortran_bottom,, ...) that are defined in C.
Some compilers have different requirements on how these objects should be aligned.
Smaller alignment in C can lead to several confusing warnings from the linker, so try to
find the alignment expected by Fortran compiler, and inform the C compiler.
2015-08-18 14:01:20 +09:00
Jeff Squyres
e57861b0a5 fortran: only have one _LIBADD
Accidentally added a 2nd _LIBADD in a prior commit.  This commit
merges them back into a single _LIBADD.
2015-08-17 06:52:54 -07:00
Nathan Hjelm
dbfd6e6e5e Merge pull request #807 from hjelmn/win_update
Window updates
2015-08-15 12:33:40 -06:00
Jeff Squyres
a7f897ae49 fortran: link the opal-pal.la library directly
The libmpi_*.la fortran libraries make some direct calls to
libopen-pal.la.  In many (most?) cases, having libmpi_* link
against libmpi is sufficient (because libmpi pulls in libopen-pal).
But when building RPMs on SLES, some compiler/linker flags are used
that seem to make this implicit linking not sufficient -- we get
missing opal symbols when creating libmpi_mpifh.la.  So link in
open-pal directly (vs. indirectly), which solves the problem.
2015-08-15 06:46:01 -07:00
Nathan Hjelm
b8356dae05 ompi/win: add internal support for returning same_size and same_disp_unit info keys
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-08-13 13:19:52 -06:00
Jeff Squyres
2409fa166b get_library_version: checking string constants vs. NULL is dead code
The prior code was checking string constants (which are #defines from
configure) against NULL.  They can never be NULL, so the checks were
overly-defensive.  If the preprocessor macros do not exist, we'll get
a different compiler error.  So remove the dead code.

This fixes CID 72349.
2015-08-12 05:35:12 -07:00
Nathaniel Graham
8f4c16da27 Java null handle bugfix
A helper method in Request.java could cause a crash
if the request array that was passed contained nulls.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-08-10 15:54:36 -06:00
Nathaniel Graham
8fcc317a57 Add explicit implementation of Cloneable
Added Cloneable to the implemented interface list as per
Coverity suggestion.  The required methods were already
implemented, but it was not explicitly stated.  This is
an intent revealing change.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-08-07 12:16:06 -06:00
Howard Pritchard
36d7855280 Merge pull request #763 from nrgraham23/status_x_java_bindings
Status x java bindings
2015-08-03 09:26:16 -06:00
Gilles Gouaillardet
2fa8f4d53a Revert "fortran: optimize testall and waitall when MPI_STATUSES_IGNORE is used"
Optimization was incorrect, so revert this commit.

This reverts commit 83375bcc5c.
2015-08-03 08:45:12 +09:00
Nathaniel Graham
57b95fff2e Commenting fixes for Datatype.java
Some of the @code tags were incorrect.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-30 15:17:55 -06:00
Nathaniel Graham
17c606b35c White Space Fixes
Github revealed some wierd spacing issues.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-30 15:07:19 -06:00
Nathaniel Graham
2fecb06059 Status X Functons
Includes java bindings for MPI_GET_ELEMENTS_X and
MPI_STATUS_SET_ELEMENTS_X.  This PR also adds the
Count object which represents MPI_Count.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-30 15:00:13 -06:00
Howard Pritchard
ac4197fb1b Merge pull request #760 from nrgraham23/request_get_status_java
Java binding for MPI_REQUEST_GET_STATUS
2015-07-30 13:57:06 -06:00
Nysal Jan K.A
5a7bd898f9 Fix an invalid memory access in mrecv & imrecv
After the call to PML mrecv/imrecv, the message handle
is set to MPI_MESSAGE_NULL. Use the cached communicator
while invoking the error handler.
2015-07-30 19:52:40 +05:30
Howard Pritchard
ea6f5b31fd Merge pull request #749 from nrgraham23/additional_comm_java_bindings
Additional java bindings for the Comm class
2015-07-29 16:17:54 -06:00
Nathaniel Graham
9b5786d954 Java binding for MPI_REQUEST_GET_STATUS
This adds the java binding for MPI_REQUEST_GET_STATUS.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-29 12:04:46 -06:00
Howard Pritchard
569764cd98 Merge pull request #759 from nrgraham23/status_java_bindings
Java bindings for Status methods
2015-07-29 10:36:56 -06:00
Nathaniel Graham
efe69c89a7 Java bindings for Status methods
Includes java bindings for the MPI_STATUS_SET_ELEMENTS and
MPI_STATUS_SET_CANCELLED.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-29 09:47:03 -06:00
Gilles Gouaillardet
83375bcc5c fortran: optimize testall and waitall when MPI_STATUSES_IGNORE is used 2015-07-29 10:00:27 +09:00
Edgar Gabriel
f09b834cab remove the C++ interfaces for the new non-blocking collective I/O functions. They are not defined in MPI 3.1 2015-07-28 09:28:37 -05:00
Gilles Gouaillardet
9c77c6b66d fortran: fix f08 bindings
only define the unique fortran symbol depending on
 - CAPS
 - PLAIN
 - SINGLE_UNDERSCORE
 - DOUBLE_UNDERSCORE
and bind the f08 symbol to the uniquely defined C symbol.

Use real data structures to make the code simpler.
(perl script written by Jeff)
2015-07-27 16:28:57 +09:00
Gilles Gouaillardet
7af5238595 f08: misc Makefile fixes 2015-07-27 16:19:44 +09:00
Jeff Squyres
5e159feb5a get_library_version: always use "X.Y.Z" version number format
Fix one last place where we would write only "X.Y" if Z was 0 (we now
always write all three X, Y, Z values, even if Z is zero).
2015-07-25 08:01:36 -04:00
Nathaniel Graham
59c43f4669 Additional java bindings for the Comm class
Added bindings for MPI_COMM_CREATE_GROUP and MPI_COMM_DUP_WITH_INFO.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-24 16:14:35 -06:00
Nathaniel Graham
f87c41e926 Fix a compile issue in MPI.java
A conflict was not fully resolved in the previous merge.  This
fixes the issue that was created.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-24 11:54:52 -06:00
Nathaniel Graham
0d7a38552e Formatting fixes for Java files.
Fixed tab indenting as well as some of the block comments
at the top of a few of the files.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-24 11:02:13 -06:00
Howard Pritchard
5f14273e32 Merge pull request #743 from nrgraham23/java_win_name_bindings
Java bindings for window name get and set
2015-07-24 10:53:14 -06:00
Nathaniel Graham
2a156a1c2e Java bindings for window name get and set
Includes bindings for MPI_WIN_GET_NAME and MPI_WIN_SET_NAME.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-23 18:01:19 -06:00
Nathaniel Graham
a1b47a333a Java Environment Variable Bindings
Added the bindings for MPI_GET_VERSION and MPI_GET_LIBRARY_VERSION.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-23 14:52:01 -06:00
Howard Pritchard
967907fea4 Merge pull request #731 from nrgraham23/alltoallw_functions
Alltoallw functions
2015-07-22 12:21:01 -06:00
Nathaniel Graham
1197d2a893 Adding missed copyrights.
I did not add the LANL copyrights to the files I touched
while fixing the javadoc errors.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-22 11:04:41 -06:00
Nathaniel Graham
11e1f09c25 White space fixes
Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-21 16:39:59 -06:00
Nathaniel Graham
7548e342dd Java bindings for alltoallw functions.
Includes bindings for MPI_ALLTOALLW and MPI_IALLTOALLW.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-21 16:29:22 -06:00
Gilles Gouaillardet
46a87cabf0 fix comment in ompi/mpi/c/group_{excl,incl}.c
no code change
2015-07-21 10:29:55 +09:00
Gilles Gouaillardet
bd60ce1655 fortran: add missing non blocking i/o files to Makefile
fixes open-mpi/ompi@01f752a504
2015-07-16 11:27:14 +09:00
Howard Pritchard
466c8b0159 Merge pull request #697 from edgargabriel/pr/nb-coll-part2
pr/nb collective I/O part2
2015-07-14 14:00:39 -06:00
Jeff Squyres
efc4c93d7a MPI_Scatter.3in: fix typo
Thanks to Akshay Venkatesh for noticing the mistake.
2015-07-10 20:11:39 -07:00
Nathaniel Graham
6bca7486c5 Added suppression statements.
There are a few places where adding the @param for the variable
javadoc wants does not make sense, so I added suppression statements
in those areas.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-10 16:04:22 -06:00
Nathaniel Graham
580251e96a Fixes for javadoc warnings.
Added missings @params and @throws as well as adding definitions for the @throws tags.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-10 12:59:45 -06:00
Nathaniel Graham
7f6d141bd6 More one sided java bindings.
Bindings for the MPI_WIN_FLUSH_LOCAL, MPI_WIN_FLUSH_LOCAL_ALL, MPI_WIN_ALLOCATE, MPI_WIN_ALLOCATE_SHARED, and MPI_COMM_SPLIT_TYPE.  Also added several necessary constants.

Signed-off-by: Nathaniel Graham ngraham@lanl.gov
2015-07-10 11:40:18 -06:00
Howard Pritchard
e9d6c7a910 Merge pull request #693 from nrgraham23/additional_java_bindings
Additional java bindings
2015-07-10 11:10:29 -06:00
Edgar Gabriel
95c144c4b6 make the f08 interface actually compile. 2015-07-09 10:58:14 -05:00
Edgar Gabriel
601e5efca8 add the manpages for the new MPI-3.1 non-blocking collective I/O operations. 2015-07-09 10:58:14 -05:00
Edgar Gabriel
19994ff60d add fortran interfaces to the new nb collective I/O functions 2015-07-09 10:58:14 -05:00
Edgar Gabriel
01f752a504 make the c interface functions compile and work and start with the fortran interface functions. 2015-07-09 10:58:13 -05:00
Edgar Gabriel
f2af8e94ff - first cut on the io interface changes
- add the C interfaces for the new non-blocking collective I/O functions of MPI 3.1
2015-07-09 10:58:13 -05:00
Jeff Squyres
d5e16839e9 mpi_f08: restore C/Fortran compatibility with F08 BUFFER_DETACH
The C int/Fint interoperability code was erroneously removed when this
function was moved to the use-mpi-f08 directory.
2015-07-08 03:55:50 -07:00
Nathaniel Graham
26c528a627 Copyright additions
Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-07 16:14:21 -06:00
Howard Pritchard
68c69d07ff add copyrights to changed java related files
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2015-07-07 16:10:58 -06:00
Nathaniel Graham
982a232955 Additional Java Bindings
Java bindings for the following functions: MPI_RACCUMULATE, MPI_GET_ACCUMULATE, MPI_RGET_ACCUMULATE, MPI_WIN_LOCK_ALL, MPI_WIN_UNLOCK_ALL, MPI_WIN_SYNC, MPI_WIN_FLUSH, MPI_WIN_FLUSH_ALL, MPI_COMPARE_AND_SWAP, and MPI_FETCH_AND_OP.  Also includes Java bindings for the Operations MPI_REPLACE and MPI_NO_OP.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-07-07 16:04:17 -06:00
Jeff Squyres
8ff60c47cc mpi_f08: move the f08 version of buffer_detach to use-mpi-f08
@ggouaillardet was right -- we should have put the
ompi_buffer_detach_f08() function in the use-mpi-f08 directory to
begin with.  Putting it in the mpif-h directory made it complicated as
to whether the function would be built or not (e.g., whether weak
symbols were supported or not, whether the profiling layer was
disabled or not, ...etc.).

Just put it in the use-mpi-f08 directory and always build it (when the
mpi_f08 module is built, of course), and keep it simple.
2015-07-07 07:38:09 -07:00
Gilles Gouaillardet
9e89985f3d restore whitespaces into the pdf files 2015-07-07 09:17:00 +09:00
Howard Pritchard
fb9c218e5d Merge pull request #684 from nrgraham23/java_bindings
ompi/java: add MPI_Rget and MPI_Rput java bindings
2015-07-06 15:25:06 -06:00
Jeff Squyres
e28f016793 fortran only compile f08 buffer_detach once
Since there is no profiling version of the f08 buffer_detach function
(or, more specifically, the Fortran compile does the name mangling of
MPI and PMPI to the back-end C function for us), ensure that it is
only compiled once.

Also, per Gilles' observation, the f08-related #pragmas are no longer
relevant.
2015-07-06 09:52:27 -07:00
Jeff Squyres
4694b16256 mpi_f08: further fixes for MPI_BUFFER_DETACH
A few minor fixes in addition to
open-mpi/ompi@bd94da7de4 and
open-mpi/ompi@fc69c0be24.
2015-07-04 05:27:22 -07:00
Jeff Squyres
bd94da7de4 mpi_f08: fix MPI_BUFFER_DETACH interfaces
Add an mpi_f08-specific implementation for MPI_BUFFER_DETACH.

Per MPI-3.1:3.6, p45, the buffer argument is ignored in
MPI_BUFFER_DETACH for mpif.h and the mpi module.  But in the mpi_f08
module, the buffer argument is treated like it is in the C binding.
2015-07-03 08:56:34 -07:00
Gilles Gouaillardet
6356c4b113 mpif: fix typo in interface name
* MPI_Comm_dup_with_info
 * MPI_Comm_split_type
 * PMPI_Comm_split_type
2015-07-02 17:13:07 +09:00
Gilles Gouaillardet
fa50e0d712 mpi_f08: fix typo in binding name
replace MPI_Win_flush_all_local with MPI_Win_flush_local_all
2015-07-02 15:47:38 +09:00
Nathaniel Graham
bb5699e912 ompi/java: add MPI_Rget and MPI_Rput java bindings
Wrote tests for ompi tests, but will commit later.

Signed-off-by: Nathaniel Graham <ngraham@lanl.gov>
2015-06-30 12:05:59 -06:00
Gilles Gouaillardet
c4025f55a4 mpi_f08: add MPI_Type_size_x and misc PMPI_xxx bindings 2015-06-30 16:31:14 +09:00
Gilles Gouaillardet
18fd30a173 mpi_f08: fix MPI_FREE_MEM binding 2015-06-30 14:19:50 +09:00
Gilles Gouaillardet
13950c3ec1 mpi_f08: fix MPI_WIN_{ATTACH,DETACH} bindings
fixes INTENT from open-mpi/ompi@9600e2bc63
2015-06-30 12:28:23 +09:00
Gilles Gouaillardet
86bbdd2ebe mpi_f08: fix MPI_COMM_SPAWN_MULTIPLE binding 2015-06-30 11:47:45 +09:00
Jeff Squyres
fc69c0be24 mpi_f08: fix MPI_BUFFER_DETACH binding 2015-06-29 09:22:30 -07:00
Gilles Gouaillardet
e0dd9bd2e7 Fix java bindings disaster
that commit fixes :
- open-mpi/ompi@224f97b009
- open-mpi/ompi@ade7de549c
- open-mpi/ompi@0836344673
- open-mpi/ompi@7e0581c853
- open-mpi/ompi@d948a43993
2015-06-29 09:51:36 +09:00
Gilles Gouaillardet
d948a43993 java: fix typo in MPI_Win_attach binding 2015-06-28 09:27:19 +09:00
Gilles Gouaillardet
98bf02485d fortran: add Fortran 2008 bindings for attr_fn (MPI_COMM_DUP_FN and friends)
Fixes open-mpi/ompi#460
2015-06-26 15:21:30 +09:00
Gilles Gouaillardet
e701bf35cc MPI_Win_{get,set}_info : add man pages 2015-06-26 15:14:25 +09:00
Gilles Gouaillardet
6e2951e8d7 MPI_Win_{attach,detach} : add man pages 2015-06-26 15:14:25 +09:00
Gilles Gouaillardet
f7bbad96be MPI_Win_create_dynamic : add man page 2015-06-26 15:14:24 +09:00
Gilles Gouaillardet
7e0581c853 MPI_Win_{get,set}_info : add Java bindings 2015-06-26 15:10:15 +09:00
Gilles Gouaillardet
0836344673 MPI_Win_{attach,detach} : add Java bindings 2015-06-26 15:10:14 +09:00
Gilles Gouaillardet
ade7de549c MPI_Win_create_dynamic : add Java bindings 2015-06-26 15:10:14 +09:00
Ralph Castain
265cd14f60 Purge whitespace 2015-06-25 13:27:56 -07:00
Nathan Hjelm
ee36d813dc Merge pull request #657 from hjelmn/c99
more c99 updates
2015-06-25 11:21:09 -06:00
Nathan Hjelm
4d92c9989e more c99 updates
This commit does two things. It removes checks for C99 required
headers (stdlib.h, string.h, signal.h, etc). Additionally it removes
definitions for required C99 types (intptr_t, int64_t, int32_t, etc).

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2015-06-25 10:14:13 -06:00
Nathan Hjelm
e561f150d6 Merge pull request #658 from hjelmn/mpit_fixes
Fix definition of MPI_T_pvar_get_index
2015-06-24 16:40:25 -07:00
Nathan Hjelm
4552afff06 Fix definition of MPI_T_pvar_get_index
The definition of MPI_T_pvar_get_index was incorrect. This commit
fixes the definition and adds a missing return code.

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2015-06-24 17:31:26 -06:00
Nathan Hjelm
458cd9d611 Merge pull request #629 from hjelmn/aint_math
Add support for MPI-3.1 MPI_Aint functions
2015-06-24 10:52:44 -07:00
Nathan Hjelm
6dd9658d73 man: remove F77 notes from MPI_Aint_add/MPI_Aint_diff man pages
Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2015-06-24 11:49:48 -06:00
Jeff Squyres
258d1aa160 mpi-f08: corrections to new MPI_Aint_* subroutines
(cherry picked from commit 8f252e65b02bfe20cacee0ece8c835246eea3bd9)
2015-06-24 10:42:01 -07:00
Ralph Castain
869041f770 Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
Nathan Hjelm
c33b786dd9 Merge pull request #620 from hjelmn/ompi_coverity
ompi coverity fixes
2015-06-16 06:10:40 -06:00
Howard Pritchard
224f97b009 mpi/java: suppress common symbols warning
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2015-06-15 17:13:40 -06:00
Nathan Hjelm
090922887b win_get_attr: fix coverity issues
CID 71734 Self assignment (NO_EFFECT)

This code has no effect. The original author of the offending code
does not remember why the self-assignment is there. Fortran
MPI_Win_get_attr tests are working with or without it so remove the
code.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-06-09 09:34:26 -06:00
Nathan Hjelm
062de45899 Add support for MPI-3.1 MPI_Aint functions
This commit adds support for MPI_Aint_add and MPI_Aint_diff. These
functions are implemented as macros in C (explicitly allowed by
MPI-3.1). The fortran implementations are a similar mess to the
MPI_Wtime implementations.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-06-09 09:31:33 -06:00
Gilles Gouaillardet
bf38f82dc2 MPI_Win_{get,set}_info: add missing files
fixes commit open-mpi/ompi@558d34a5c3
2015-06-03 09:04:04 +09:00
Gilles Gouaillardet
7179d442c0 MPI_Win_{attach,detach}: add missing files
fixes commit open-mpi/ompi@9600e2bc63
2015-06-03 09:02:50 +09:00
Gilles Gouaillardet
1d8ce96305 MPI_Win_Create_dynamic: add missing files
fixes commit open-mpi/ompi@f45244d5a5
2015-06-03 09:00:04 +09:00
Nathan Hjelm
632f829eb7 mpit: fix coverity issues
CID 1047284 Uninitialized scalar variable (UNINIT)
CID 1047285 Uninitialized scalar variable (UNINIT)
CID 1047286 Uninitialized scalar variable (UNINIT)

If a performance variable session has no handles we should be returning MPI_SUCCESS
for MPI_T_pvar_start, MPI_T_pvar_stop, and MPI_T_pvar_reset. The code was returning
an unitialized value. This commit also updates the error code to return the proper
error on failure.

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2015-06-02 09:15:53 -06:00
Gilles Gouaillardet
558d34a5c3 MPI_Win_{get,set}_info : add Fortran bindings 2015-06-02 17:45:52 +09:00
Gilles Gouaillardet
9600e2bc63 MPI_Win_{attach,detach} : add Fortran bindings 2015-06-02 17:45:44 +09:00
Gilles Gouaillardet
f45244d5a5 MPI_Win_create_dynamic : add Fortran bindings 2015-06-02 17:45:32 +09:00
Nathan Hjelm
b1c100c402 win_get_info: fix indentation
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-05-29 10:16:25 -06:00
Nathan Hjelm
61fe2cc629 win: add support for returning non_locks info key
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-05-29 08:35:01 -06:00
Gilles Gouaillardet
899fb89392 MPI_Sendrecv_replace : use the right process convertor 2015-05-26 16:59:36 +09:00
Ralph Castain
cfd2cc49fd Get the Java bindings to compile again - add missing header 2015-05-23 11:22:24 -07:00
Nathan Hjelm
68614a211b Merge pull request #596 from hjelmn/errorcode_fixes
Handle ompi error codes in java code and remove non-standard MPI error code from mpi.h.
2015-05-23 07:29:44 -06:00
Nathan Hjelm
163a1b4505 Remove non-standard MPI_ERR_SYSRESOURCE error code
Replaced internal usage with OMPI_ERR_OUT_OF_RESOURCE.

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2015-05-22 19:59:37 -06:00
Nathan Hjelm
9da29c3621 java: remove debug code
Talked to @ggouaillardet about this code. It was not intended to be committed to
master. Removing to fix coverity issue.

CID 1270134 Unchecked return value

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-05-22 08:36:14 -06:00
Nathan Hjelm
403b3b20d7 Handle ompi error codes in java code
This commit also adds protection against negative error codes in ompi
error code functions. There is one outstanding issue. There is a
negative MPI error code defined in mpi.h. This will need to be fixed
separetely.

This commit fixes coverity IDs 1271533 and 1270156.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-05-21 10:39:09 -06:00
Nathan Hjelm
757c021951 Fix coverity ID 1270164
The sargs array and its elements were malloced but not freed. Note
that strings passed to NewStringUTF are copied into Java's heap and it
is the callers responsibility to free the original string.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-05-21 10:15:10 -06:00
Gilles Gouaillardet
c05b271c68 man: fix a trivial typo in MPI_Neighbor_allgather.3in 2015-05-15 16:02:01 +09:00
Gilles Gouaillardet
9d56b85b55 initialize common symbols from ompi 2015-05-08 10:11:58 +09:00
George Bosilca
3af8dfd3e2 Fix a overwrite of the args buffer identified by Lisandro Dalcin. 2015-05-07 09:50:39 -04:00
Jeff Squyres
63c7520273 use-mpi-f08/Makefile.am: also link in libmpi_mpifh.la
Per mail from Macro Atzeri, we also need to link in libmpi_mpifh.la,
lest we exhaust relative offset addressing (e.g., in 32 bit builds).

See http://www.open-mpi.org/community/lists/devel/2015/04/17304.php.
2015-04-22 14:22:36 -07:00
Nathan Hjelm
a7b0c00ab6 fix memory leaks and valgrind errors
This commit fixes several vagrind errors. Included:

 - installdirs did not correctly reinitialize all pointers to NULL
   at close. This causes valgrind errors on a subsequent call to
   opal_init_tool.

 - several opal strings were leaked by opal_deregister_params which
   was setting them to NULL instead of letting them be freed by the
   MCA variable system.

 - move opal_net_init to AFTER the variable system is initialized and
   opal's MCA variables have been registered. opal_net_init uses a
   variable registered by opal_register_params!

 - do not leak ompi_mpi_main_thread when it is allocated by
   MPI_T_init_thread.

 - do not overwrite ompi_mpi_main_thread if it is already set (by
   MPI_T_init_thread).

 - mca_base_var: read_files was overwritting mca_base_var_file_list
   even if it was non-NULL.

 - mca_base_var: set all file global variables to initial states on
   finalize.

 - btl/vader: decrement enumerator reference count to ensure that it
   is freed.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-04-11 09:28:35 -06:00
Howard Pritchard
5ee18f4f00 Merge pull request #514 from hppritcha/topic/mpi_win_lock_all_man
man pages: fix problem with MPI_Win_lock_all
2015-04-07 17:17:30 -06:00
Howard Pritchard
291c775e74 man pages: fix problem with MPI_Win_lock_all
thanks to Thomas Jahns for pointing this out -

http://www.open-mpi.org/community/lists/users/2015/04/26633.php

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2015-04-07 16:29:00 -06:00
Howard Pritchard
18039b34b4 ompi/java: better error message if dlopen fails
The error message emitted by ompi/java when dlopen
fails is misleading and not very informative.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2015-04-06 13:35:09 -06:00
Nathan Hjelm
005c6022e2 mca/base: fix bugs in framework deregistration/re-registration
There were a number of bugs in the framework/variable code that
affected deregistration:

 - Frameworks could be erroneously closed if seperately registered and
   opened then subsequently closed. This was a bug in the original
   design which only reference counted opens but not
   registrations. This would cause undefined behavior if
   MPI_T_finalize actually calls ompi_info_close_components as
   intended. Now both registrations and opens are reference counted
   and frameworks/components are not torn down until the matching
   number of close calls have been made.

 - group_find_by_name did not pass the invalidok flags down
   to mca_base_var_group_get_internal correctly.

 - Group deregistration caused the group to be completely reset. This
   does not match the behavior required by MPI_T as it could reduce
   the number of variables/subgroups in a group.

This commit also updates MPI_T_finalize to call
ompi_info_close_components as originally intended.

Closes #374

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-03-09 16:52:53 -06:00
Jeff Squyres
4a998e3d2c MPI_Comm_split_type.3in: remove erroneous "color" discussion
Remove some outdated discussion of "color" -- looks like this was a
copy-n-paste from the MPI_Comm_split man page.  Also make some minor
updates to some Open MPI-specific key text.

Thanks to @eschnett for raising the issue.

Fixes #437.
2015-02-28 09:33:17 -08:00
Jeff Squyres
8d38ac3cee java MPI bindings: use strdup() 2015-02-25 14:21:42 -08:00
Jeff Squyres
a85a392896 Merge pull request #422 from jsquyres/topic/coverity-fixes
Some Coverity fixes
2015-02-24 17:00:10 -05:00
Jeff Squyres
bd99b741d2 java: update to new mpool API 2015-02-24 13:31:23 -08:00
Jeff Squyres
10b93e3f6f cart_rank: protect against (cart==NULL) possibilities
This was CID 1041230
2015-02-24 15:24:09 -05:00
Nathan Hjelm
ed78553512 Update opal_free_list_t usage to reflect new class interface.
Please verify your components have been updated correctly. Keep in
mind that in terms of threading:

OPAL_FREE_LIST_GET -> opal_free_list_get_st
OPAL_FREE_LIST_RETURN -> opal_free_list_return_st

I used the opal_using_threads() variant anytime it appeared multiple
threads could be operating on the free list. If this is not the case
update to _st. If multiple threads are always in use change to _mt.
2015-02-24 10:05:44 -07:00
Jeff Squyres
4c91bdfb0c MPI_Barrier.3in: fix prototypes
Also fix MPI_Ibarrier.3in to .so to the right MPI_Barrier.3 page.

Thanks to Maximilian for bringing the issue to our attention.
2015-02-21 06:47:12 -08:00