* Update comments in some MPI_FILE_* functions to reflect that the
MPI specs have different page numbers in the ps and pdf (woof!).
* Update comments to say "Retain" where we meant retain (not "return)
* Add a check in MPI_ERRHANDLER_FREE to raise an MPI exception if the
user attempts to free an intrinsic errhandler *and* the refcount is
1 (meaning that it would actually free the intrinsic). This
protects erroneous programs from segv'ing.
* Remove lengthy comment from comm_get_errhandler.c which is no
longer valid (because of the MPI-2 errata that says that users *do*
have to call MPI_ERRHANDLER_FREE).
This commit was SVN r12128.
The following SVN revision numbers were found above:
r12122 --> open-mpi/ompi@407b3cb788
The following Trac tickets were found above:
Ticket 502 --> https://svn.open-mpi.org/trac/ompi/ticket/502
MPI::SEEK_* because iostreams (well, ios_base, but I don't think that
should be included directly) can use SEEK_* as values in an enum, which
means that 'const int' is bad for them.
* Remove now useless comments in the cxx example programs
* include iostream after mpi.h so that our examples work with other MPI
implementations that don't try to be as friendly with the constants.
Refs trac:387
This commit was SVN r12125.
The following Trac tickets were found above:
Ticket 387 --> https://svn.open-mpi.org/trac/ompi/ticket/387
* Fix MPI-2 page number in comments for a specific reference in the
spec
* Allow getting/setting the errhandler on MPI_FILE_NULL
* Allow freeing of intrinsic errhandlers, per MPI-2 errata (if you GET
an errhandler on a communicator, you must be able to FREE it, even
if it's an intrinsic).
Thanks to Lisandro Dalcin for reporting these problems.
This commit was SVN r12122.
some issues with the C #defines SEEK_{SET, END, POS}. The workaround
involves some hackery that should work in almost every common use case
for the C stdio constants (and all the legal issues of the MPI constants).
The one issue is that the C stdio constants are now const ints instead
of #defines, which means that #ifdef checks will fail for the constants.
Behavior can be disabled at either configure time or build time.
Refs trac:387
This commit was SVN r12121.
The following Trac tickets were found above:
Ticket 387 --> https://svn.open-mpi.org/trac/ompi/ticket/387
where a window was in both the passive and active side of a lock sequence.
Refs trac:488
This commit was SVN r12112.
The following Trac tickets were found above:
Ticket 488 --> https://svn.open-mpi.org/trac/ompi/ticket/488
Doing pointer math properly (e.g., incrementing by the right amount)
helps you not overflow buffers, cause random chaos, and contribute to
the heat death of the universe. Sigh.
This commit was SVN r12015.
The following Trac tickets were found above:
Ticket 236 --> https://svn.open-mpi.org/trac/ompi/ticket/236
recvbuf in MPI_GATHER).
* Minor style updates (constants on the left of == and !=)
* Fix a minor buglet that crept in r11904: had a recvbuf where it
should have been recvcount. Thankfully, this would have only
affected erroneous programs. ;-)
This commit was SVN r11980.
The following SVN revision numbers were found above:
r11904 --> open-mpi/ompi@17539dc154
The following Trac tickets were found above:
Ticket 338 --> https://svn.open-mpi.org/trac/ompi/ticket/338
with the use of MPI_IN_PLACE, and make some optimization checks more
correct. Thanks to Lisandro Dalcin for reporting the problems.
This commit was SVN r11904.
The following Trac tickets were found above:
Ticket 430 --> https://svn.open-mpi.org/trac/ompi/ticket/430
groups. And zero is also an acceptable value according to the MPI spec.
Fixes trac:428
This commit was SVN r11841.
The following Trac tickets were found above:
Ticket 428 --> https://svn.open-mpi.org/trac/ompi/ticket/428
Fixes simple off-by-one error in the error check for
MPI_INFO_GET_NTHKEY.
This commit was SVN r11838.
The following Trac tickets were found above:
Ticket 429 --> https://svn.open-mpi.org/trac/ompi/ticket/429
Makefile.am's is from a very old Automake bug which has long-since
been fixed. Since we require very recent versions of AM, we don't
need these anymore.
This commit was SVN r11774.
* Consolidate everything inside of the same AM_CONDITIONAL that is
used to suck in the glue convenience library in ompi/Makefile.am:
OMPI_WANT_F77_BINDINGS. This AM conditional is set to true if we
want (and can support) the F77 MPI API bindings at all (And does
not say anything about whether we are compiling the top-level or
bottom-level f77 directory to get the bindings).
* Clarify all the comments surrounding the [confusing!] issue.
* The problem with r11563 was that it used the wrong AM_CONDITIONAL
to decide whether to build the separate F77 library or not; it
would do so only if the top-level library was being built (e.g., on
systems like OSX where weak symbols don't work the way we need them
to). This patch somewhat simplifies the situation by encapsulating
everything in one large conditional (OMPI_WANT_F77_BINDINGS, as
described above). Hence, libmpi_f77 will exist (and be installed)
if F77 support is enabled overall, regardless of whether you're on
a system with insufficient weak symbol support (e.g., OSX) or not
(e.g., Linux).
This commit was SVN r11618.
The following SVN revision numbers were found above:
r11563 --> open-mpi/ompi@c8f3ff71b1
Had the wrong type for one of the arguments of MPI_TYPE_GET_CONTENTS
(MPI_Fint should have been MPI_Aint).
This commit was SVN r11517.
The following Trac tickets were found above:
Ticket 330 --> https://svn.open-mpi.org/trac/ompi/ticket/330
* Print a warning error message if a target is not in an exposure epoch
and an update is received. This results in the app continuing with
that call having never happened, rather than evil hangs.
refs trac:325
This commit was SVN r11514.
The following Trac tickets were found above:
Ticket 325 --> https://svn.open-mpi.org/trac/ompi/ticket/325
to return the value on seconds not some other unit based on the resolution
of MPI_Wtick. Which I think it's the wrong solution, as instead of forcing
the user to do additional computations in order to convert when he needs
the result in seconds, force us to convert every time. Unfortunately,
converting requires a division with a double which is a costly
operation. But, MPI is a standard and we have to follow it ...
This commit was SVN r11481.
strings. Here's one: no matter how much of the string you copy, the
destination string must be space-padded for the entire remaining area.
Specifically, even if you call MPI_INFO_GET and tell MPI to only copy
a max of N characters of the value into the result string, if the
Fortran string is M characters (where M > N), MPI must space-pad the
remaining (M-N) characters to be spaces. So you're supposed to obey
the argument to MPI_INFO_GET... sorta.
Precedents:
* http://www.ibiblio.org/pub/languages/fortran/ch2-13.html
* LAM/MPI
* Sun CT MPI
This commit was SVN r11412.
convert between fortran and C string representations properly. In
doing so, we properly adhere to the MPI spec stating that MPI_Info
keys and values must be whitespace-trimmed when coming in from
Fortran. Hence, this fixes bug #241.
This commit was SVN r11356.
of 4 when we are finding the next MPI_STATUS in the array.
Refs trac:236
This commit was SVN r11332.
The following Trac tickets were found above:
Ticket 236 --> https://svn.open-mpi.org/trac/ompi/ticket/236
(but didn't use it), but MPI_TYPE_GET_NAME and MPI_WIN_GET_NAME did
not.
This commit changes all three functions to pass the compile-added
string length parameter to clear out the remainder of the string with
spaces (i.e., the rest of the string that was not set with the name).
This is what was done in LAM/MPI, and apparently what was done in
Sun's MPI, because the test that Rolf attached now passes.
Fixes trac:274.
This commit was SVN r11301.
The following Trac tickets were found above:
Ticket 274 --> https://svn.open-mpi.org/trac/ompi/ticket/274
that the compiler might need to inform the compiler that a .f90 extension
means "this is Fortran 90 code". Fortran compilers are so weird.
refs trac:284
This commit was SVN r11280.
The following Trac tickets were found above:
Ticket 284 --> https://svn.open-mpi.org/trac/ompi/ticket/284
releases on Linux and OS X) don't handle const_cast<> of 2-dimensional
arrays properly. If we're using one of the compilers that isn't friendly
to such casts, fall back to a standard C-style cast.
refs: #271
This commit was SVN r11263.
full argument checking (allowing that MPI_PROC_NULL is legal, of course).
Only after the argument checking do we shortcut. Fixes trac:237, which
was caused by moving the MPI_PROC_NULL test in MPI_Bsend_init,
but not allowing for MPI_PROC_NULL when checking rank.
This commit was SVN r11108.
The following SVN revision numbers were found above:
r10972 --> open-mpi/ompi@31c66d92aa
The following Trac tickets were found above:
Ticket 237 --> https://svn.open-mpi.org/trac/ompi/ticket/237
on almost all platforms (except OS X... sigh...). This is the merge
of r10846 - 10894 from the tmp/f90-shared branch to the trunk.
This commit was SVN r11103.
The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
r10846