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

1166 Коммитов

Автор SHA1 Сообщение Дата
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
Jeff Squyres
ae5424c18b MPI_Intercomm_merge: fix typo in man page
Thanks to Harald Servat for noticing and sending a patch.
2015-02-20 07:13:55 -08:00
Gilles Gouaillardet
5db3065d63 fortran: fix misc memory leak in lookup_name
as reported by Coverity with CID 1269897
2015-02-18 16:41:56 +09:00
Gilles Gouaillardet
02da8bfa93 ompi/java: fix misc bugs
as reported by Coverity with CIDs 1270187, 1270189 and 1270190
2015-02-16 15:19:53 +09:00
Jeff Squyres
2ca4bf4777 cart_rank_f.c: make sure MPI_Cartdim_get succeeded
This was CID 1269686.
2015-02-12 10:24:02 -08:00
Jeff Squyres
20465badcb dims_create.c: fix minor error leak in error condition
This was CID 70278.
2015-02-12 10:24:02 -08:00
Jeff Squyres
cab1379dfb Fortran: only emit real16 and complex32 if supported
This is the master version of @ggouaillardet's patch from
open-mpi/ompi-release#148 (there was a minor conflict to fix and
several fuzzings of line numbers).
2015-01-06 09:47:26 -08:00
Jeff Squyres
ce2008aa88 man pages: update non-blocking send descriptions
As noted by Alexander Pozdneev, non-blocking sends are now able to
*access* buffers in pending non-blocking send operations; the buffers
just can't be *modified*.
2015-01-05 15:44:27 -05:00
Nick Papior Andersen
3deda3dc82 Added several new COMM_TYPE_<> splits
Using the underlying hardware identification to split
communicators based on locality has been enabled using
the MPI_Comm_Split_Type function.

Currently implemented split's are:
  HWTHREAD
  CORE
  L1CACHE
  L2CACHE
  L3CACHE
  SOCKET
  NUMA
  NODE
  BOARD
  HOST
  CU
  CLUSTER

However only NODE is defined in the standard which is why the
remaning splits are referred to using the OMPI_ prefix instead
of the standard MPI_ prefix.

I have tested this using --without-hwloc and --with-hwloc=<path>
which both give the same output.

NOTE: I think something fishy is going on in the locality operators.
In my test-program I couldn't get the correct split on these requests:
  NUMA, SOCKET, L3CACHE
where I suspected a full communicator but only got one.
2014-12-24 11:21:35 +00:00
Jeff Squyres
9144517ad4 man: update a bunch of attribute-related man pages
Per discussion starting
http://www.open-mpi.org/community/lists/users/2014/12/26018.php, at
least note that OMPI does not allow adding or deleting attributes in
an attribute copy or delete callback (or any of its children) on the
same object on which the callback was invoked.
2014-12-19 11:45:58 -08:00
Jeff Squyres
9d1d34c0c0 Fortran: do not dist mpif-h/sizeof_f.f90; it is generated 2014-12-17 10:24:31 -08:00
Jeff Squyres
1b63129de3 fortran: ensure to specify the shared library version 2014-12-16 11:16:46 -08:00
Jeff Squyres
1dd68d48a8 MPI_Wtime.3: give further explanation about high-res timers 2014-12-03 17:07:42 -08:00
George Bosilca
d4edd097c0 Allow for native timer (cycle level) integration
for MPI_Wtime and MPI_Wtick.
2014-11-24 00:45:14 -05:00
Jeff Squyres
a904a2deeb OpenMPI.3in: remove trailing blank lines; no content changes 2014-11-10 08:38:24 -08:00
Gilles Gouaillardet
64c18686b7 fix ompi_request_wait vs ompi_request_wait_all and
MPI_STATUS_IGNORE vs MPI_STATUSES_IGNORE
2014-11-04 12:16:30 +09:00
Gilles Gouaillardet
a16c1e4418 mpiJava: call mca_base_var_register *after* MPI_Init
Thanks to Takahiro Kawashima and Siegmar Gross for pointing this issue
2014-10-27 14:41:54 +09:00
Jeff Squyres
37c2b9cf30 Merge pull request #241 from cniethammer/master
Add missing Fortran binding for Win_allocate.
2014-10-24 08:54:28 -04:00
Jeff Squyres
96c655ec67 man: add $COPYRIGHT$ token and emacs mode to all man pages 2014-10-23 17:21:54 -04:00
Jeff Squyres
ec7808cd27 man: remove stale Java bindings from MPI man pages
Fixes #244
2014-10-23 16:43:41 -04:00
Ralph Castain
2ec59acac4 Silence a slew of warnings when --enable-memchecker is given. Reviewed by Jeff 2014-10-22 13:59:08 -07:00
Jeff Squyres
952be15d7f MPI_Ibarrier.3in: add missing man page
Add MPI_Ibarrier.3in to reference MPI_Barrier.3, and update
MPI_Barrier.3in to include bindings for MPI_Ibarrier.  Slightly update
the text to be inclusive of the non-blocking case.

Fixes #242.
2014-10-20 05:26:53 -07:00
Christoph Niethammer
9020a1c1f6 Add missing Fortran binding for Win_allocate. 2014-10-17 13:22:54 +02:00
Jeff Squyres
413e775dbf version configury: make dist now works
Update the VERSION file scheme:

* Remove "want_repo_rev".
* Add "tarball_version".

All values are now always included (major, minor, release, greek,
repo_rev).  However, configure.ac now runs "opal_get_version.sh
... --tarball", which will return the value of tarball_version (if it
is non-empty) or the "full" version string (i.e.,
"major.minor.releasegreek").
2014-10-02 11:32:54 -07:00
Ralph Castain
3263f721b6 Strip crlf line endings 2014-10-02 08:37:18 -07:00
Jeff Squyres
318e3b426a fortran: workaround Absoft linker issue
MTT found that the addition of the MPI_SIZEOF interfaces to mpif.h was
causing a linker error with the Absoft compiler.  Absoft is working on
a fix, but we can workaround the issue for now.  See comment in
Makefile.am in this commit for a lengthy explanation.

Refs trac:4917

This commit was SVN r32797.

The following Trac tickets were found above:
  Ticket 4917 --> https://svn.open-mpi.org/trac/ompi/ticket/4917
2014-09-25 21:07:46 +00:00
Jeff Squyres
d13034d0b0 fortran: add configury to check for storage_size()
gfortran 4.8 does not support storage_size() on all relevant types
that we need.  So add a configure test to check and see if the
compiler's storage_size() intrinsic supports enough types for us to do
MPI_SIZEOF.

Also remove an accidentally redundant check for fortran INTERFACE.

Refs trac:4917

This commit was SVN r32790.

The following Trac tickets were found above:
  Ticket 4917 --> https://svn.open-mpi.org/trac/ompi/ticket/4917
2014-09-25 00:17:29 +00:00
Jeff Squyres
c9ea7f2732 fortran: ensure that sizeof_f08.h is built before mpi-f08.lo
mpi-f08.F90 includes sizeof_f08.h, so we need to add a Makefile
dependency to ensure that sizeof_f08.h is built first.

Refs trac:4917

This commit was SVN r32789.

The following Trac tickets were found above:
  Ticket 4917 --> https://svn.open-mpi.org/trac/ompi/ticket/4917
2014-09-24 23:59:18 +00:00
Jeff Squyres
7f419dc5b6 fortran: set CLEANFILES properly
CLEANFILES was previously set; we need to use += to add to it.

refs trac:4917

This commit was SVN r32769.

The following Trac tickets were found above:
  Ticket 4917 --> https://svn.open-mpi.org/trac/ompi/ticket/4917
2014-09-20 10:43:49 +00:00
Jeff Squyres
040611556f fortran: don't complain about script args if we're not building fortran
refs trac:4917

This commit was SVN r32766.

The following Trac tickets were found above:
  Ticket 4917 --> https://svn.open-mpi.org/trac/ompi/ticket/4917
2014-09-20 01:22:40 +00:00
Jeff Squyres
d7eaca83fa Fortran: Fix MPI_SIZEOF. What a disaster. :-(
What started as a simple ticket ended up reaching the way up to the
MPI Forum.
    
It turns out that we are supposed to have MPI_SIZEOF for all Fortran
interfaces: mpif.h, the mpi module, and the mpi_f08 module.
    
It further turns out that to properly support MPI_SIZEOF, your Fortran
compiler *has* support the INTERFACE keyword and ISO_FORTRAN_ENV.  We
can't use "ignore TKR" functionality, because the whole point of
MPI_SIZEOF is that the implementation knows what type was passed to it
("ignore TKR" functionality, by definition, throws that information
away).  Hence, we have to have an MPI_SIZEOF interface+implementation
for all intrinsic types, kinds, and ranks.

This commit therefore adds a perl script that generates both the
interfaces and implementations for MPI_SIZEOF in each of mpif.h, the
mpi module, and mpi_f08 module (yay consolidation!).

The perl script uses the results of some new configure tests:

* check if the Fortran compiler supports the INTERFACE keyword
* check if the Fortran compiler supports ISO_FORTRAN_ENV
* find the max array rank (i.e., dimension) that the compiler supports

If the Fortran compiler supports both INTERFACE and ISO_FORTRAN_ENV,
then we'll build the MPI_SIZEOF interfaces.  If not, we'll skip
MPI_SIZEOF in mpif.h and the mpi module.  Note that we won't build the
mpi_f08 module -- to include the MPI_SIZEOF interfaces -- if the
Fortran compiler doesn't support INTERFACE, ISO_FORTRAN_ENV, and a
whole bunch of ther modern Fortran stuff.

Since MPI_SIZEOF interfaces are now generated by the perl script, this
commit also removes all the old MPI_SIZEOF implementations (which were
laden with a zillion #if blocks).

cmr=v1.8.3

This commit was SVN r32764.
2014-09-19 13:44:52 +00:00
Jeff Squyres
0f29f222f2 fortran: remove 2 unused files
As noted in the comments of these files, they aren't used.  Instead,
the Fortran interfaces for WTICK/WTIME just BIND(C) invoke the
back-end C functions (yay BIND(C)!).  Hence, there's no need to keep
these old wrapper files around any more.

cmr=v1.8.3

This commit was SVN r32751.
2014-09-17 21:49:24 +00:00
Ralph Castain
d50c8ba65f Per patch from Gilles, cleanup some errors that surface when building with PGI. Verified by Tetsuya, reviewed okay by Jeff.
RM-approved

cmr=v1.8.3:reviewer=ompi-gk1.8

This commit was SVN r32745.
2014-09-16 19:07:02 +00:00
Gilles Gouaillardet
e71452d73a Revert r32696
This commit was SVN r32697.

The following SVN revision numbers were found above:
  r32696 --> open-mpi/ompi@e4c3500166
2014-09-10 04:35:47 +00:00
Gilles Gouaillardet
e4c3500166 Fix MPI_Status_set_elements[_x] for non predefined datatypes
Fixes trac:4896

cmr=v1.8.3:reviewer=bosilca

This commit was SVN r32696.

The following Trac tickets were found above:
  Ticket 4896 --> https://svn.open-mpi.org/trac/ompi/ticket/4896
2014-09-10 02:41:29 +00:00
Ralph Castain
aae1bb4f44 Silence warning
This commit was SVN r32657.
2014-08-31 08:10:35 +00:00
Jeff Squyres
f4238d65a5 fortran: also provide PMPI variants for MPI_Alloc_mem_cptr
r32622 was the first half of the fix -- we need the PMPI variants as well.

Refs trac:4882

This commit was SVN r32627.

The following SVN revision numbers were found above:
  r32622 --> open-mpi/ompi@cf0f734a98

The following Trac tickets were found above:
  Ticket 4882 --> https://svn.open-mpi.org/trac/ompi/ticket/4882
2014-08-28 23:47:38 +00:00
Gilles Gouaillardet
cf0f734a98 Fortran: add mpi_alloc_mem_cptr like bindings when configured with --without-weak-symbols
cmr=v1.8.3:reviewer=jsquyres

This commit was SVN r32622.
2014-08-28 09:34:54 +00:00
Jeff Squyres
d85527701a Fix MPI_COMM_SPLIT_TYPE with MPI_UNDEFINED
Thanks to Lisandro Dalcin for identifying the problem.

Fixes trac:4876

Submitted by George Boscila, reviewed by Jeff Squyres.

cmr=v1.8.3:reviewer=ompi-rm1.8

This commit was SVN r32615.

The following Trac tickets were found above:
  Ticket 4876 --> https://svn.open-mpi.org/trac/ompi/ticket/4876
2014-08-27 12:17:33 +00:00
Gilles Gouaillardet
7e3784e0b7 MPI_Type_create_indexed_block.3: fix a typo in the man page
cmr=v1.8.3:reviewer=jsquyres

This commit was SVN r32614.
2014-08-27 03:48:03 +00:00
George Bosilca
8de93982d5 Correctly build the args for the hindexed_block datatype.
cmr=v1.8.3:reviewer=jsquyres

This commit was SVN r32613.
2014-08-27 03:45:07 +00:00
Jeff Squyres
3e78f7878c fortran: add missing bindings for WIN_SYNC, WIN_LOCK_ALL,
WIN_UNLOCK_ALL

cmr=v1.8.2:reviewer=hjelmn

This commit was SVN r32535.
2014-08-14 20:27:30 +00:00
Ralph Castain
70da69a4f3 Cleanup and ignore Intel compiler build products
This commit was SVN r32463.
2014-08-08 16:13:43 +00:00
Jeff Squyres
537aa674a5 fortran: remove a duplicate listing of this file
This fixes some duplicate symbols, once the .o files for the modules
were restored into the library (some compilers need the .o files, some
don't (!)).

Also, remove trailing whitespace.  :-)

This commit was SVN r32386.
2014-08-01 00:43:04 +00:00
Jeff Squyres
abbcde6cb9 fortran: add the .o's back into libmpi_usempif08
Thanks to Paul Hargrove for the massive hint to find this.

This commit was SVN r32385.
2014-07-31 23:41:47 +00:00
Ralph Castain
552c9ca5a0 George did the work and deserves all the credit for it. Ralph did the merge, and deserves whatever blame results from errors in it :-)
WHAT:    Open our low-level communication infrastructure by moving all necessary components (btl/rcache/allocator/mpool) down in OPAL

All the components required for inter-process communications are currently deeply integrated in the OMPI layer. Several groups/institutions have express interest in having a more generic communication infrastructure, without all the OMPI layer dependencies.  This communication layer should be made available at a different software level, available to all layers in the Open MPI software stack. As an example, our ORTE layer could replace the current OOB and instead use the BTL directly, gaining access to more reactive network interfaces than TCP.  Similarly, external software libraries could take advantage of our highly optimized AM (active message) communication layer for their own purpose.  UTK with support from Sandia, developped a version of Open MPI where the entire communication infrastucture has been moved down to OPAL (btl/rcache/allocator/mpool). Most of the moved components have been updated to match the new schema, with few exceptions (mainly BTLs where I have no way of compiling/testing them). Thus, the completion of this RFC is tied to being able to completing this move for all BTLs. For this we need help from the rest of the Open MPI community, especially those supporting some of the BTLs.  A non-exhaustive list of BTLs that qualify here is: mx, portals4, scif, udapl, ugni, usnic.

This commit was SVN r32317.
2014-07-26 00:47:28 +00:00
Jeff Squyres
8e80480cbc fortran: don't use optional params in the ompi/pompi interfaces
Fix a copy-n-paste error: the ompi/pompi interfaces should not have
optional ierror arguments.  Optional ierror arguments are only used in
the MPI_<foo> interfaces.  The ompi/pompi interfaces are the actual
underlying routines (in C, incidentally, which is why they're declared
as BIND(C)), and do not have optional ierror arguments.

Also fix a typo in the BIND(C) name for pompi_win_shared_query_f().

cmr=v1.8.2:reviewer=ggouaillardet

This commit was SVN r32287.
2014-07-22 21:51:29 +00:00
Jeff Squyres
4da3c85b54 fortran: revert Absoft-based fixes
Rever r32246, r32254, and 32255 -- they were fixing side-effects of
the real bug.  Real fix coming after this one.

This commit was SVN r32286.

The following SVN revision numbers were found above:
  r32246 --> open-mpi/ompi@08d2a1a48d
  r32254 --> open-mpi/ompi@232d4dbb7b
2014-07-22 21:49:22 +00:00
Gilles Gouaillardet
a7bfd6e766 fortran: fix compile issue with ABSoft compilers
one more fix ...

cmr=v1.8.2:ticket=trac:4792

This commit was SVN r32255.

The following Trac tickets were found above:
  Ticket 4792 --> https://svn.open-mpi.org/trac/ompi/ticket/4792
2014-07-17 07:38:13 +00:00
Gilles Gouaillardet
232d4dbb7b fortran: fix compile issue with ABSoft compilers
Simplify and fix the r32246

cmr=v1.8.2:ticket=trac:4792

This commit was SVN r32254.

The following SVN revision numbers were found above:
  r32246 --> open-mpi/ompi@08d2a1a48d

The following Trac tickets were found above:
  Ticket 4792 --> https://svn.open-mpi.org/trac/ompi/ticket/4792
2014-07-17 06:00:32 +00:00
Gilles Gouaillardet
08d2a1a48d fortran: fix compile issue with ABSoft compilers
ABSoft compilers cannot compile a fortran subroutine
with the BIND(C, NAME="name") modifier *and* argument(s)
with the OPTIONAL modifier

This patch detects this unsupported feature and use
adhoc wrappers if it is missing

cmr=v1.8.2:reviewer=jsquyres

This commit was SVN r32246.
2014-07-15 10:41:11 +00:00
Gilles Gouaillardet
ee9098e2ee Fix use-mpi-trk/Makefile.am
Always include into the tarball (aka 'make dist') :
 - mpi-f90-interfaces.h
 - mpi-f90-cptr-interfaces.F90

cmr=v1.8.2:ticket=trac:4736

This commit was SVN r32215.

The following Trac tickets were found above:
  Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
2014-07-11 05:05:19 +00:00
Gilles Gouaillardet
77184b5c4c Fix a cornercase with MPI_PROC_NULL persistent requests
Handle OMPI_REQUEST_NOOP in MPI_Startall rather than PML

cmr=v1.8.2:reviewer=bosilca:ticket=4764

This commit was SVN r32213.

The following Trac tickets were found above:
  Ticket 4764 --> https://svn.open-mpi.org/trac/ompi/ticket/4764
2014-07-11 04:37:01 +00:00
Jeff Squyres
0089ac20af Fortran: put type(c_ptr) interfaces in a separate file in the TKR mpi module
Older gfortran compilers (e.g., the gfortran that ships in RHEL5) do
not support ISO_C_BINDING, and therefore do not support the
TYPE(C_PTR) type.  As such, they cannot support the overloaded
interfaces for MPI_WIN_ALLOCATE_SHARED and MPI_SHARED_QUERY that are
mandated in MPI-3.

So we separate those interfaces out into a separate .F90 file that is
#include'd in the tkr mpi.F90 file.  In this separate .F90 file, we
use an #if to determine whether the compiler supports ISO_C_BINDING or
not.

Also re-jiggered the order of testing in ompi_setup_mpi_fortran.m4: we
now need to test whether the compiler supports ISO_C_BINDING even when
we're only building the mpi module (not strictly when we're building
the mpi_f08 module).

Finally, tweaked the use-mpi-tkr/Makefile.am to:

* Add some proper dependencies for mpi.F90
* Allow the general AM compilation to be used instead of supplying a
  specific rule for compiling mpi.F90

cmr=v1.8.2:ticket=trac:4736

This commit was SVN r32204.

The following Trac tickets were found above:
  Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
2014-07-10 19:10:03 +00:00
George Bosilca
2861419661 Correct trivial typos in man files and FUNC_NAME variables.
Patch provided by Fujitsu (Kawashima, Takahiro)

cmr=v1.8.2:reviewer=jsquyres

This commit was SVN r32190.
2014-07-10 01:47:23 +00:00
Jeff Squyres
5081f958a6 fortran: fix MPI_Win_allocate_shared and MPI_Win_shared_query
Several problems with MPI_Win_allocate_shared and MPI_Win_shared_query
were discovered in a code review.  This commit fixes them:

* Add _cptr versions of both subroutines in mpif-h, use-mpi-tkr, and
  use-mpi-ignore-tkr directories
* Fix case of PMPI weak symbols for both C implementations
* Add MPI and PMPI f08 implementations of both subroutines (there is
  no _cptr version in the mpi_f08 module)
* Fixed _f08 suffix on the f08 module of both subroutines

cmr=v1.8.2:ticket=trac:4736

This commit was SVN r32162.

The following Trac tickets were found above:
  Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
2014-07-09 00:10:04 +00:00
Nathan Hjelm
1eb6ac5e80 mpit: update the return code check for mca_base_var_get
mca_base_var_get now can return OPAL_ERR_NOT_FOUND if a variable no
longer exists. This commit updates the return code check to ensure
the correct MPI_T error code is returned to the user.

cmr=v1.8.2:reviewer=jsquyres

This commit was SVN r32161.
2014-07-08 21:17:47 +00:00
Gilles Gouaillardet
bd72628a9d Cleanup : fix the cornercase with MPI_PROC_NULL persistent requests.
This commit was SVN r32140.
2014-07-04 07:20:44 +00:00
Gilles Gouaillardet
8d3bea2771 Fix the cornercase with MPI_PROC_NULL persistent requests.
This corner case is now handled in the pml so the same code
is invoked for both MPI_Start and MPI_Startall.
This also correctly report an error if MPI_Startall is invoked twice
on a MPI_PROC_NULL persistent request.

This commit was SVN r32139.
2014-07-04 04:58:52 +00:00
George Bosilca
843ef1fcb0 ompi_mpi_abort had one extra argument that was never used. Clean it up.
This commit was SVN r32124.
2014-07-03 00:34:44 +00:00
Ralph Castain
f3cb124e50 Revert r32082 and r32070 - the developer's conference has decided to go a different direction on the threaded progress effort. This will involve some degree of prototyping to understand the tradeoffs prior to making a final design decision, and so we'll hold off on the final change until that is completed.
This commit was SVN r32089.

The following SVN revision numbers were found above:
  r32070 --> open-mpi/ompi@12d92d0c22
  r32082 --> open-mpi/ompi@aa6438ef7a
2014-06-25 20:43:28 +00:00
Jeff Squyres
fb9d063be2 Fortran: include the type functions (eq/ne) in libmpi_usempif08
This file has to be pre-emptively compiled to generate the module, but
then it also has to be included in libmpi_usempif08.

cmr=v1.8.2:ticket=trac:4736

This commit was SVN r32071.

The following Trac tickets were found above:
  Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
2014-06-24 17:48:15 +00:00
Ralph Castain
12d92d0c22 Per the OMPI developer conference, remove the last vestiges of OMPI_USE_PROGRESS_THREADS
This commit was SVN r32070.
2014-06-24 17:05:11 +00:00
Gilles Gouaillardet
926e29c972 Fortran: add ompi/mpi/fortran/use-mpi-f08/mpi-f08-sizeof.F90 to the dist tarball.
cmr=v1.8.2:ticket=trac:4736

This commit was SVN r32065.

The following Trac tickets were found above:
  Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
2014-06-23 04:14:28 +00:00
Gilles Gouaillardet
d1f5d9f675 Fortran: fix OMPI_GENERATE_F77_BINDINGS macro invokation
Some parameters were ommited and compilation failed if
configured with --disable-weak-symbols

cmr=v1.8.2:ticket=trac:4736

This commit was SVN r32064.

The following Trac tickets were found above:
  Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
2014-06-23 02:10:35 +00:00
Jeff Squyres
395078da00 Fortran: fix two type mistakes
Use the appropriate modules, don't use mpif-config.h.

cmr=v1.8.2:ticket=trac:4736

This commit was SVN r32052.

The following Trac tickets were found above:
  Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
2014-06-19 20:25:09 +00:00
Jeff Squyres
8935e0a5e0 Fortran use-mpi-tkr: remove real*16 and complex*32 (for now)
There is more comprehensive work regarding MPI_SIZEOF coming, but the
Fortran working group in the MPI Forum is debating this internally,
and I'm still doing more testing to get a final solution.  So for the
moment, just remove real*16 and complex*32 support so that it compiles
porperly with older compilers (that do not support real*16 and
complex*32).

This commit was SVN r32048.
2014-06-19 18:12:53 +00:00
Jeff Squyres
b375808928 Fortran: add files accidentally skipped in r32042
cmr=v1.8.2:ticket=trac:4736

This commit was SVN r32046.

The following SVN revision numbers were found above:
  r32042 --> open-mpi/ompi@fa764c1567

The following Trac tickets were found above:
  Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
2014-06-19 13:53:27 +00:00
Jeff Squyres
134c527f18 Fortran: Move all f08-related modules out of fortran/base
Move them all to fortran/use-mpi-f08, since that's the only directory
that uses them (the use-mpi-f08-desc directory has been disabled).

cmr=v1.8.2:ticket=trac:4736

This commit was SVN r32045.

The following Trac tickets were found above:
  Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
2014-06-19 13:44:08 +00:00
Jeff Squyres
fa764c1567 Fortran: add missing implementation of win_allocate_shared and win_shared_query
Thanks to Michael Rachner for pointing out the issue.

cmr=v1.8.2:ticket=trac:4736

This commit was SVN r32042.

The following Trac tickets were found above:
  Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
2014-06-19 13:38:25 +00:00
Jeff Squyres
2cbda4fe6d Fortran: fix a few ierr->ierror mistakes that crept in
Thanks for Walter Spector for raising the issue on the users list.

Refs trac:3582

cmr=v1.8.2:ticket=trac:4736

This commit was SVN r32041.

The following Trac tickets were found above:
  Ticket 3582 --> https://svn.open-mpi.org/trac/ompi/ticket/3582
  Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
2014-06-19 13:37:22 +00:00
Jeff Squyres
555073630e Fortran: remove the scripts from the use-mpi-tkr implementation
This is part one of several Fortran improvements and fixes.  This
first part removes the now-defunct scripts that are used to generate
the .f90 files in the use-mpi-tkr implementation, and just commits the
output from those scripts.  This makes long-term maintenance of the
use-mpi-tkr implementation simpler.

cmr=v1.8.2:reviewer=jsquyres:subject=Various Fortran fixes/improvements

This commit was SVN r32040.
2014-06-19 13:35:30 +00:00
Gilles Gouaillardet
e9ed9def02 Fix MPI_Alltoallv in coll/tuned
This changeset :
- always call the low/level implementation for :
  * MPI_Alltoallv
  * MPI_Neighbor_alltoallv
  * MPI_Alltoallw
  * MPI_Neighbor_alltoallv
- fix mca_coll_tuned_alltoallv_intra_basic_inplace
  so zero size types are correctly handled

cmr=v1.8.2:reviewer=bosilca:ticket=4715

This commit was SVN r32013.

The following Trac tickets were found above:
  Ticket 4715 --> https://svn.open-mpi.org/trac/ompi/ticket/4715
2014-06-17 06:11:34 +00:00
Nathan Hjelm
37ae430424 rma: fix locking/unlocking of MPI_PROC_NULL
It is valid to lock/unlock MPI_PROC_NULL. It probably isn't work tracking
whether MPI_PROC_NULL is locked for MPI_PROC_NULL RMA operations so this
is probably the permanent solution.

Closes trac:4720

Tracking the 1.8.2 issue with this CMR.

cmr=v1.8.2:reviewer=bbenton

This commit was SVN r32011.

The following Trac tickets were found above:
  Ticket 4720 --> https://svn.open-mpi.org/trac/ompi/ticket/4720
2014-06-17 04:41:49 +00:00
George Bosilca
84193fff6d More comprehensible error messages.
This commit was SVN r32007.
2014-06-16 20:23:16 +00:00
George Bosilca
f5ebd2faeb Fix the Fortran issue identified by Akan Sang Loon. The dist graph
is really special as the weights can be one of the following three
values (NULL, EMPTY or some legal value). As such, we need a complex
if to correctly convert the Fortran value to the corresponding C
value. Thus, always defining the c_ array is the simplest and most
straighforward approach.

cmr=v1.8.2:reviewer=jsquyres

This commit was SVN r31955.
2014-06-05 17:10:48 +00:00
Jeff Squyres
6cf49a3c57 Revert r31934: that MPI_Type_f2c.3 is already in the file list.
This commit was SVN r31950.

The following SVN revision numbers were found above:
  r31934 --> open-mpi/ompi@3ed4aaea99
2014-06-04 13:58:42 +00:00
Oscar Vega-Gisbert
c7b229f03e Java - slice methods: set buffer limit to its capacity before change its position
This commit was SVN r31943.
2014-06-03 21:32:27 +00:00
Jeff Squyres
3ed4aaea99 man pages: Add MPI_Type_f2c.3 file into the tarball
cmr=v1.8.2:reviewer=bosilca

This commit was SVN r31934.
2014-06-03 18:28:50 +00:00
Jeff Squyres
87f9f6815f use-mpi-tkr: fix ierr->ierror param names
Issue noted by Walter Spector on the user's mailing list.

Throwing to Craig Rasmussen for review.

cmr=v1.8.2:reviewer=jsquyres

This commit was SVN r31933.
2014-06-03 15:26:02 +00:00
Gilles Gouaillardet
1a17a2a960 Fixes MEMCHECKER vs MPI_IN_PLACE in *alltoall*
cmr=v1.8.2:reviewer=bosilca

This commit was SVN r31924.
2014-06-02 04:43:48 +00:00
Oscar Vega-Gisbert
cc219218a7 Java: update javadoc's install locations
This commit was SVN r31914.
2014-06-01 15:40:14 +00:00
Gilles Gouaillardet
40f3b849eb Fix argument checks for [i]neighbor_alltoall{v|w}
This fixes a bug introduced in :
 - r31815 (trunk) 
 - r31853 (v1.8 branch)

cmr=v1.8.2:reviewer=bosilca

This commit was SVN r31888.

The following SVN revision numbers were found above:
  r31815 --> open-mpi/ompi@8bafe06c57
  r31853 --> open-mpi/ompi@bff944d766
2014-05-23 08:19:17 +00:00
Gilles Gouaillardet
c496131eef Fixes *alltoall* collectives at top
- fix bugs
 - silent warnings

cmr=v1.8.2:ticket=4651:reviewer=bosilca

This commit was SVN r31831.

The following Trac tickets were found above:
  Ticket 4651 --> https://svn.open-mpi.org/trac/ompi/ticket/4651
2014-05-20 05:32:57 +00:00
Gilles Gouaillardet
8bafe06c57 Fixes *alltoall* collectives at top level
This commit :
 - Correctly retrieve the communicator size when
   checking memory and parameters
 - Ensure (sendtype,sendcount) and (recvtype,recvcount)
   matches and return with MPI_ERR_TRUNCATE otherwise
 - Return with MPI_SUCCESS without invoking the low level
   if no data is going to be transferred
 - Fixes trac:4506

cmr=v1.8.2:reviewer=bosilca

This commit was SVN r31815.

The following Trac tickets were found above:
  Ticket 4506 --> https://svn.open-mpi.org/trac/ompi/ticket/4506
2014-05-19 07:46:07 +00:00