#if OMPI_WANT_MPI2_ONE_SIDED and some automake conditionals. Also had
to add some AC_SUBSTs to eliminate part of mpif.h (otherwise the
"external" statements would have made undefined symbols).
All the MPI-2 one-sided functionality (including the skeleton
top-level MPI API functions that only invoke an MPI exception) can be
re-enabled with --enable-mpi2-one-sided.
This commit was SVN r3802.
support is included because ROMIO is inherently thread-unsafe.
One possible way to have true asynchronous progress would be to use a
progress thread that wakes up and polls at some frequency when there
are non-blocking IO requests pending. This is pretty icky, though --
it should definitely have an MCA parameter to enable/disable this
functionality, as well as another to control the polling frequency.
This also strengthens the argument that we need a v2 of the io
framework -- one that is not designed to exclusively support ROMIO --
one that does something unimaginably "better" for the parallel MPI-2
IO interface. :-)
This commit was SVN r3786.
included by ompi_config_bottom.h, so it's redundant to include
ompi_config.h in it.
- Add OMPI_DEBUG_ZERO macro for zeroing out memory while debugging so
that valgrind (et al.) don't complain about uninitialized memory
when we know it's safe.
- correct a comment in ompi_config_bottom.h to make it have the
correct filename
This commit was SVN r3662.
that the C compiler may support bool with no help from <stdbool.h>.
So add another configure test and adjust ompi_config_bottom.h as
appropriate. Since the #if logic in ompi_config_bottom.h got a little
complicated w.r.t. bool, I indented to make the conditionals clear.
This commit was SVN r3291.
1. header file and source file protections using #ifdef WIN32
2. new files and directories to support windows functionality
3. appropritate linkage symbols added (OMPI_DECLSPEC) for windows
4. some functions are unimplemented on the windows side. this is mostly
because there might not be need to implement it in windows land. eg., forking
a daemon off
5. Introduced locking mechanisms for windows
This commit was SVN r3286.
alignment. Right now, we only check for char, short, and int. If we
ever run across a platform where one of those three don't work, we'll
need to extend ompi_config_bottom.h. :-)
This commit was SVN r3271.
ompi_config_bottom.h -- it's already in src/mpi/runtime/params.h.
- Add /src/mpi/runtime/params.h to a small number of places.
- Remove some useless run-time checks in MPI fortran functions
This commit was SVN r3177.
c2f MPI_Status translation along the way. This should enable Fortran
MPI apps that use non-blocking communication to start working.
This commit was SVN r2996.
table in my last commit. This commit fixes that, and then re-patches
up mpif.h.in to match.
I'm not sure that we need *all* of the datatypes in there (e.g., do we
really need the C datatypes?), but since George isn't around, I
followed the "when in doubt, it doesn't hurt to add more entries to
the table" rule. Following up with a detailed message to George...
This commit was SVN r2900.
Better memory handling, faster it adapt it's behaviour to the low level driver and to the
datatype representation. However, only the TCP driver has been modified to fit the new engine.
For Fortran the MPI_DATATYPE_NULL is now registered at index 0 in the translation table.
This commit was SVN r2757.
- move the attribute init section in ompi_mpi_init() down below where
communicators are setup (we need MPI_COMM_WORLD to be setup before
attributes and keyvals are setup)
- removed confusing extra wrapper class around ompi_hash_table_t;
looks like it was a victim of slow eroding of members so I put took
it out back and put it out of its misery
- added preliminary definitions for all the pre-defined keyvals.
Still need more work here to assign their initial values, but I
think Edgar was running into an atrribute problem and it may have
been that the pre-defined attrs didn't yet exist.
- removed some LAM-specific predefined keyvals from mpi.h
This commit was SVN r2695.
includes the romio component. Only blocking operations are supported
-- non-blocking stuff is pending some changes in the top-level
progression engine, and some threaded issues need to be worked out.
This commit was SVN r2655.
- added src/mpi/f77/strings.[ch] for f<-->c string conversions
- added src/mpi/f77/constants* for instiantiating and providing macros
to check for the various fortran address "constants" (read the
comments in this file -- it's quite complicated, unfortunately :-\ ):
- MPI_BOTTOM
- MPI_ARGV_NULL
- MPI_ARGVS_NULL
- MPI_ERRCODES_IGNORE
- MPI_STATUS_IGNORE
- MPI_STATUSES_IGNORE
- updated fortran MPI_COMM_SET_NAME and MPI_COMM_GET_NAME to check
string handling
- updated fortran MPI_RECV to check MPI_STATUS_IGNORE handling
- updated fortran MPI_COMM_SPAWN to check string and MPI_ARGV_NULL and
MPI_ERRCODES_IGNORE handling
- partially modified src/mpi/f77/prototypes_mpi.h to account for
string length parameters passed by the fortran compiler; more work to
be done there
- backed out a silly previous change in send_f.c by me (duh)
- updated fortran MPI_COMM_DUP and MPI_COMM_FREE to check int<-->fint
macros
This commit was SVN r2512.
Second level commit log: "The Great and Powerful Jeff Squyres figured out and fixed this bug remotely. All praise Jeff." ;) yup yup
This commit was SVN r2304.
In order to get consistent behaviour on linux with various gcc versions,
I am defining _GNU_SOURCE in ompi_config.h and changing the definition
of asprintf, etc.
Problems:
1) autoconf was defining _GNU_SOURCE for its tests, but we were not
setting it
2) g++ sets it by default (I think)
3) some version of gcc set it by default
If somebody knows a consistent solution for these problems then we can
revert to not setting it.
This commit was SVN r2230.
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.