somewhat tied together and I'd rather have a consistent commit rather
than several smaller commits that individually break the tree:
- first cut of src/file/file.c: MPI_File handling. More to come here.
- tweaked MPI_Info handling a bit: cause MPI_Info_f2c to invoke error
handler if provided index is out of range (vs. returing
MPI_INFO_NULL without invoking an error handler)
- moved general MPI MCA params off into their own .h and .c file (so
that ompi_info can call it and therefore display MPI MCA params)
- first [abbreviated] cut of src/mca/io/base/* -- much more to come
here; stripped down to basics for this commit
- filled in a small number of MPI_File* functions for testing purposes
- updated a bunch of doxygen docs
--> Unresolved questions about MPI_ERRORS_RETURN, MPI_ERRORS_ABORT,
and MPI::ERRORS_THROW_EXCEPTIONS because of vagueness in MPI
standard -- Edgar and I are discussing what to do here
--> Unresolved questions about what to do in a case like this:
MPI_File_open(..., &file);
MPI_File_close(&file);
MPI_File_read(..., &file);
because MPI-2:9.7 says that the default error handler on MPI_File
handles is MPI_ERRORS_RETURN -- we can't even print a warning
here! This certainly violates the Law of Least Astonishment for
MPI users (who certainly expect MPI functions that fail to
complain loudly and to abort by default).
This commit was SVN r2136.
- fix a few bugs
- convert/add doxygen comments for internal info functions in
src/info/info.h (some comments were originally in src/info/info.c)
- make it thread safe
- make MPI_INFO_NULL be a real object (vs ((struct ompi_info_t*) 0))
- add error checking into top-level MPI functions
- add support in MPI_Info for "never freeing MPI handles" as a form of
debugging i.e., check if see if you accidentally use a freed handle)
- add support for "print out a list of un-freed MPI_Info handles
during MPI_FINALIZE"
This commit was SVN r2089.
from the "LAM/MPI" -> "Open MPI" name change that didn't convert
properly. So this commit fixes all instances of "OMPI/MPI" to "Open
MPI".
This commit was SVN r1924.
(e.g., Portland compilers don't have/know about <stdbool.h>, but
AC_CHECK_HEADERS will typically find the GNU/gcc <stdbool.h>).
Reviewed by Brian.
This commit was SVN r1889.
in src/datatype/dt_module.c. Now we can easily test for all the correct
flags on send and receive (like datatype commit ...)
This commit was SVN r1768.
real commit of the collectives. MPI_SCAN and MPI_EXSCAN are still not
implemented, but lots of other things are in the critical path and
holding up other people, so it's ok to commit without them:
- better checks for sizes in configure, and add defaults for fortran
sizes if we don't have a fortran compiler
- fix some logic that was accidentally broken for size checks for the
file type offset_t
- add some C equivalent types for fortran's complex and double complex
(for use in internal reduction/op functions)
- additionals and slight reorganization of ompi_mpi_init()
ompi_mpi_finalize()
- fully implement all top-level MPI collective calls, including all
param checking for both intra- and inter-communicators (woof)
- change the communicator_t type for stuff that we need in coll, and
update all references throughout the code base to match
- all kinds of updates to the coll framework base
- next cut of the basic coll module -- has all intracommunicator
collectives implemented except scan and exscan (see note above).
All intercommunicator functions return ERR_NOT_IMPLEMENTED.
- MPI_Op is a fixed implementation -- not component-ized yet. So
there are generic C loops for all implementations.
This commit was SVN r1491.
- moved mem/free_list.h to class/ompi_free_list.h
- moved mem/malloc.h to util/malloc.h
- added src/mca/mpool component type
This commit was SVN r1274.
entry in the f_to_c translation table for this object. We still wanted
to be MPI_COMM_WORLD zero and MPI_COMM_SELF 1.
Reviewed and agreed by Jeff.
This commit was SVN r1146.
if we're going to suport non-ANSI compilers (in which case we would
need a corresponding #else block with a set of non-ANSI typedefs),
which we're not going to do. :-)
This commit was SVN r1102.