1
1

805 Коммитов

Автор SHA1 Сообщение Дата
Nathan Hjelm
d34a4300b8 Fix various bugs in mca_base_pvar.
Fixes:

 - Segmentation fault when using watermark variables.

 - Segmentation fault when using a handle bound to a no longer valid
   performance variable.

 - Incorrect return codes from MPI_T_pvar_* functions.

cmr=v1.7.4:reviewer=jsquyres

This commit was SVN r29481.
2013-10-23 15:47:15 +00:00
Jeff Squyres
506d0e96f4 Fix the IN_PLACE detection for Fortran SCATTER and SCATTERV.
Thanks to Charles Gerlach for identifying the issue.

Oddly, this issue exists in trunk and v1.7, but ''not'' in the v1.6
tree (!).

cmr=v1.7.4:reviewer=hjelmn

This commit was SVN r29463.
2013-10-22 14:55:17 +00:00
Jeff Squyres
2d7d7ab731 Absoft caught that bind(c) functions can't have OPTIONAL dummy arguments.
Also, removed an MPI_Aint snuck through (which is a C type, not a Fortran
type).  Oddly, the Intel compiler complained about neither of these
issues.  :-\

This commit was SVN r29411.
2013-10-09 14:29:34 +00:00
Jeff Squyres
0d093176e1 Add missing .so version numbers for libmpi_usempif08.so.
cmr=v1.7.3:reviewer=rhc:subject=Add missing libmpi_usempif08 shared lib

This commit was SVN r29401.
2013-10-08 16:20:12 +00:00
Jeff Squyres
a3606c4029 Add weak symbol #defines.
Fixes compile errors if you compile --without-weak-symbols.

This commit was SVN r29396.
2013-10-08 14:54:40 +00:00
Jeff Squyres
ad4abdbf53 Avoid using /* in the comment (which starts a C comment)
Since this header is included in .F90 files (which are preprocessed,
vs. .f90 files, which are *not* preprocessed), we don't want to
accidentally start C-style comments, which are recognized by some
Fortran compiler preprocessors (e.g., Absoft).

This commit was SVN r29394.
2013-10-08 14:22:55 +00:00
Jeff Squyres
ceecc04bfe Some Fortran compilers warn about ! comments after #endif.
So just move the comment to the prior line, and it's all good.  This
is obviosuly not *necessary*, but it helps cut down on warning noise.

This commit was SVN r29393.
2013-10-08 13:47:44 +00:00
Jeff Squyres
9f9fb5ce38 Add weak symbols for the MPI-3.1 MPI_Alloc_mem_cptr fortran subroutine.
This subroutine was added in an errata to MPI-3.0; here's the MPI
Forum ticket about it:
    
    https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/390

This commit was SVN r29385.
2013-10-04 22:43:40 +00:00
Jeff Squyres
c08f97b030 Fix problems with calling back-end BIND(C) ompi_*_f() functions.
BIND(C) doesn't let us have LOGICAL parameters, so we have to be
creative in how we invoke back-end ompi_*_f() C functions.
Additionally, the mpi_f08 type for MPI_Status presented some
difficulties, too.
    
See the large comment in
ompi/mpi/fortran/use-mpi-f08/mpi-f-interfaces-bind.h that explains
this in much more detail.

This commit was SVN r29384.
2013-10-04 22:43:07 +00:00
Jeff Squyres
f23d3bca64 Remove BIND(C) from all mpi_f08 interfaces.
This commit was SVN r29383.
2013-10-04 22:41:59 +00:00
Jeff Squyres
e81e3ccee0 Add missing implementation of MPI_FREE_MEM in the TKR mpi module.
This commit was SVN r29382.
2013-10-04 22:38:57 +00:00
Jeff Squyres
4899c531d3 Add PMPI versions for all ignore-TKR Fortran mpi module interfaces.
This commit was SVN r29380.
2013-10-04 21:58:56 +00:00
Nathan Hjelm
ba4b0f9235 Remove meaningless checks. Refs trac:3828
This commit was SVN r29375.

The following Trac tickets were found above:
  Ticket 3828 --> https://svn.open-mpi.org/trac/ompi/ticket/3828
2013-10-04 17:24:59 +00:00
Nathan Hjelm
70878764d7 Silence compiler warnings on 32-bit platforms. Refs trac:3828
This commit was SVN r29374.

The following Trac tickets were found above:
  Ticket 3828 --> https://svn.open-mpi.org/trac/ompi/ticket/3828
2013-10-04 15:53:14 +00:00
Jeff Squyres
be191619a9 Remove erroneous use of "MPI_Aint".
There is no "MPI_Aint" in the Fortran interface.  Surprisingly, the
Intel compiler didn't choke on this, but the Absoft compiler did.

This commit was SVN r29371.
2013-10-04 15:27:29 +00:00
Nathan Hjelm
c17b21b11d Due to MPI_Comm_idup we can no longer use the communicator's CID as
the fortran handle. Use a seperate opal_pointer_array to keep track of
the fortran handles of communicators.

This commit also fixes a bug in ompi_comm_idup where the newcomm was not
set until after the operation completed.

cmr=v1.7.4:reviewer=jsquyres:ticket=trac:3796

This commit was SVN r29342.

The following Trac tickets were found above:
  Ticket 3796 --> https://svn.open-mpi.org/trac/ompi/ticket/3796
2013-10-03 01:11:28 +00:00
Jeff Squyres
dc9bb26902 Fix one more typo in Fortran interfaces.
Refs trac:3796

This commit was SVN r29339.

The following Trac tickets were found above:
  Ticket 3796 --> https://svn.open-mpi.org/trac/ompi/ticket/3796
2013-10-02 18:53:19 +00:00
Nathan Hjelm
b3240df1b1 Merge in Jeff's fortran fixes for new communicator duplicator functions
This commit was SVN r29338.
2013-10-02 18:42:04 +00:00
Ralph Castain
01bd434fa6 Add missing include
Refs trac:3800

This commit was SVN r29337.

The following Trac tickets were found above:
  Ticket 3800 --> https://svn.open-mpi.org/trac/ompi/ticket/3800
2013-10-02 17:51:24 +00:00
Nathan Hjelm
9235b290d5 Update man pages for MPI-3 and add some missing man pages for MPI-2.x
functions.

cmr=v1.7.4

This commit was SVN r29336.
2013-10-02 14:27:47 +00:00
Nathan Hjelm
63084b1003 Add fortran bindings for MPI-3 communicator creation functions.
Thanks to Jeff for finding and fixing compilation issues with
the new fortran bindings.

cmr=v1.7.4:reviewer=jsquyres:ticket=trac:3796

This commit was SVN r29335.

The following Trac tickets were found above:
  Ticket 3796 --> https://svn.open-mpi.org/trac/ompi/ticket/3796
2013-10-02 14:26:58 +00:00
Nathan Hjelm
195c892a9d Add support for MPI_Comm_dup_with_info, MPI_Comm_create_group, and
MPI_Comm_idup.

As part of this work I implemented a basic request scheduler in
ompi/comm/comm_request.c. This scheduler might be useful for more
than just communicator requests and could be moved to ompi/request
if there is a demand. Otherwise I will leave it where it is.

Added a non-blocking version of ompi_comm_set to support ompi_comm_idup.
The call makes a recursive call to comm_dup and a non-blocking version
was needed. To simplify the code the blocking version calls the nonblocking
version and waits on the resulting request if one exists.

cmr=v1.7.4:reviewer=jsquyres:ticket=trac:3796

This commit was SVN r29334.

The following Trac tickets were found above:
  Ticket 3796 --> https://svn.open-mpi.org/trac/ompi/ticket/3796
2013-10-02 14:26:40 +00:00
Jeff Squyres
00bbab4dae Remove commented-out code for deprecated functions that were not added to MPI-3.
This commit was SVN r29320.
2013-10-01 21:20:45 +00:00
Jeff Squyres
d04ea88d87 Missed updating the profiling versions of the neighbor collectives in r29299.
Refs trac:3802.

This commit was SVN r29302.

The following SVN revision numbers were found above:
  r29299 --> open-mpi/ompi@66eb7ff610

The following Trac tickets were found above:
  Ticket 3802 --> https://svn.open-mpi.org/trac/ompi/ticket/3802
2013-09-30 19:45:09 +00:00
Jeff Squyres
4af194ca32 Missed updating the profiling versions of [I]Alltoallw in r29298.
Refs trac:3814.

This commit was SVN r29301.

The following SVN revision numbers were found above:
  r29298 --> open-mpi/ompi@0acebc0a1f

The following Trac tickets were found above:
  Ticket 3814 --> https://svn.open-mpi.org/trac/ompi/ticket/3814
2013-09-30 19:44:24 +00:00
Jeff Squyres
66eb7ff610 Fix the !MPI_[I]Neighbor_* mpi_f08 interfaces.
Use the same trick for send/recvtypes as we did in r29298 for
![I]Alltoallw.  Also, add all prototypes for all the back-end
ompi_neighbor_*_f functions.

Refs trac:3802

This commit was SVN r29299.

The following SVN revision numbers were found above:
  r29298 --> open-mpi/ompi@0acebc0a1f

The following Trac tickets were found above:
  Ticket 3802 --> https://svn.open-mpi.org/trac/ompi/ticket/3802
2013-09-30 17:54:12 +00:00
Jeff Squyres
0acebc0a1f Make the Alltoall/Ialltoallw F08 interfaces a little less sucky.
Use proper array types for the sendtypes and recevtypes params in the
definition of these subroutines (since they're prototyped to be array
parameters in the module).  See the comment in the code for a more
complete explanation.

Note that after talking to Craig Rasumussen, he says that this is
fairly common practice in the Fortran community (i.e., pass a scalar
that is part of an array to effectively pass an offset into that
array, since Fortran passes by reference).  So this might be a hack,
but it's a commonly-accepted hack.

Reviewed by Craig Rasmussen.

cmr=v1.7.3:subject=Fix [I]Alltoallw mpi_f08 wrapper functions

This commit was SVN r29298.
2013-09-30 17:50:43 +00:00
Jeff Squyres
b84863be20 Add missing MPI_Dist_graph interfaces to the ignore-TKR Fortran mpi module bindings.
This commit was SVN r29295.
2013-09-30 16:09:10 +00:00
Jeff Squyres
0939788fd4 README.txt was removed, so remove it from EXTRA_DIST.
This commit was SVN r29292.
2013-09-29 21:52:52 +00:00
Oscar Vega-Gisbert
2f81173acf Update Javadoc of MPIException.
This commit was SVN r29291.
2013-09-29 10:57:14 +00:00
Oscar Vega-Gisbert
b97951ab3b Allow NULL buffers to send/recv 0 items as control messages.
This commit was SVN r29290.
2013-09-29 10:36:09 +00:00
Jose Roman
f656c9859c Improved README.JAVA; remove README file in java directory
This commit was SVN r29289.
2013-09-29 10:22:38 +00:00
Jeff Squyres
4313bbbe20 Fix type in weak symbol declarations for the new _x functions.
This commit was SVN r29284.
2013-09-28 12:31:56 +00:00
Jeff Squyres
c0232e031c Add some missing declarations to allow the new Fortran neighbor
collective interfaces to compile.

This commit was SVN r29283.
2013-09-28 12:14:25 +00:00
Jeff Squyres
76450fe629 Add "jdoc" target to make javadocs
This commit was SVN r29282.
2013-09-28 12:11:22 +00:00
Jeff Squyres
114022146a Add a missing "const" to MPI_Unpack (addendum to r29266).
Refs trac:3785.

This commit was SVN r29278.

The following SVN revision numbers were found above:
  r29266 --> open-mpi/ompi@0b8fc13299

The following Trac tickets were found above:
  Ticket 3785 --> https://svn.open-mpi.org/trac/ompi/ticket/3785
2013-09-27 12:48:28 +00:00
Nathan Hjelm
0b8fc13299 MPI-3.0: update C bindings with const and consistent use of [] for
arrays.

The MPI 3.0 standard added const to all in buffers in the C bindings. This
commit adds the const keyword and in most cases casts const away. We will
eventually should go through and update the various interfaces (coll, pml,
io, etc) to take the const keyword. The group, comm, win, and datatype
interfaces have been updated with const.

cmr=v1.7.4:ticket=trac:3785:reviewer=jsquyres

This commit was SVN r29266.

The following Trac tickets were found above:
  Ticket 3785 --> https://svn.open-mpi.org/trac/ompi/ticket/3785
2013-09-26 21:56:20 +00:00
Nathan Hjelm
c5596548b2 MPI-3: Add support for neighborhood collectives
Blocking versions are simple linear algorithms implemented in coll/basic. Non-
blocking versions are from libnbc 1.1.1. All algorithms have been tested with
simple test cases.

cmr=v1.7.4:reviewer=jsquyres

This commit was SVN r29265.
2013-09-26 21:55:08 +00:00
Jeff Squyres
e4e3e411fc Next generation of MPI Java bindings.
Includes all MPI functions supported by Open MPI, including MPI-3
functions (as of about 2 weeks ago).  Many changes compared to the
prior generation of Java bindings; not much is left from the prior
generation, actually.  The changes include (but are not limited to):

 * Add support for more than just a subset of MPI-1 functions
 * Use typical Java case for symbol names
 * Support Java Direct buffers (giving darn-near "native C"
   performance)
 * Support "type struct" better than the prior generation
 * Make more of an effort for the Java bindings to be a thin layer
   over the back-end C bindings
 * ...and more

A proper README with more information about what is supported, how to
use these bindings, etc. will be committed shortly.

This commit was SVN r29263.
2013-09-26 21:44:39 +00:00
George Bosilca
85db48df0e Identification, tab vs. space.
This commit was SVN r29206.
2013-09-18 16:45:00 +00:00
Ralph Castain
99611ac1d2 Revert r29166 in favor of a better solution from George
This commit was SVN r29199.

The following SVN revision numbers were found above:
  r29166 --> open-mpi/ompi@497c7e6abb
2013-09-18 01:41:26 +00:00
Ralph Castain
497c7e6abb Fixes trac:2904
The intercomm "merge" function can create a linkage between procs that was not reflected anywhere in a modex, and so at least some of the procs in the resulting communicator don't know how to talk to some of the new communicator's peers.

For example, consider the case where:

1. parent job A comm_spawns a process (job B) - these processes exchange modex and can communicate

2. parent job A now comm_spawns another process (job C) - again, these can communicate, but the proc in C knows nothing of B

3. do an intercomm merge across the communicators created by the two comm_spawns. This puts B and C into the same communicator, but they know nothing about how to talk to each other as they were not involved in any exchange of contact info. Hence, collectives on that communicator now fail. 

This fix adds an API to the ompi/dpm framework that (a) exchanges the modex info across the procs in the merge to ensure all procs know how to communicate, and (b) calls add_procs to give the btl's a chance to select transports to any new procs.

cmr:v1.7.3:reviewer=jsquyres

This commit was SVN r29166.

The following Trac tickets were found above:
  Ticket 2904 --> https://svn.open-mpi.org/trac/ompi/ticket/2904
2013-09-15 15:00:40 +00:00
George Bosilca
2aed876be6 Fix the bug where MPI_is_thread_main returns true for all
threads when not in MPI_THREAD_MULTIPLE mode.
Thanks to Lisandro Dalcin for pointing it out.

This commit was SVN r29113.
2013-09-04 11:10:51 +00:00
Nathan Hjelm
2da64eb719 Fix compilation of the MPI tools information interface when profiling
is enabled and fix a bug in the handling of watermark performance
variables.

cmr=v1.7.3:ticket=trac:3725:reviewer=jsquyres

This commit was SVN r29068.

The following Trac tickets were found above:
  Ticket 3725 --> https://svn.open-mpi.org/trac/ompi/ticket/3725
2013-08-27 18:19:18 +00:00
Ralph Castain
c5f395d36a Silence unitialized var warnings
This commit was SVN r29035.
2013-08-16 21:37:35 +00:00
Ralph Castain
7d2e3028d6 Add unique info_key to documentation
This commit was SVN r29029.
2013-08-14 04:24:17 +00:00
Jeff Squyres
ed130dcef0 Add missing Fortran mpi module TKR implementation for MPI_Get_address
This commit was SVN r29005.
2013-08-06 15:08:00 +00:00
George Bosilca
710d3836d5 Use a recv convertor for the pack external case.
This commit was SVN r29003.
2013-08-06 09:09:42 +00:00
George Bosilca
4adaaa0b2b Fix the profiling prototypes and the copyright.
This commit was SVN r29000.
2013-08-05 21:07:32 +00:00
George Bosilca
a938f8fcc5 Add all missing prototypes for the _x functions.
This commit was SVN r28999.
2013-08-05 20:49:31 +00:00