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.
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.
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.
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.
code base.
- many (most) mca type names have "component" or "module" in them,
as relevant, just to further distinguish the difference between
component data/actions and module data/actions. All developers
are encouraged to perpetuate this convention when you create
types that are specific to a framework, component, or module
- did very little to entire framework (just the basics to make it
compile) because it's just about to be almost entirely replaced
- ditto for io / romio
- did not work on elan or ib components; have to commit and then
convert those on a different machine with the right libraries and
headers
- renamed a bunch of *_module.c files to *_component.c and *module*c
to *component*c (a few still remain, e.g., ptl/ib, ptl/elan, etc.)
- modified autogen/configure/build process to match new filenames
(e.g., output static-components.h instead of static-modules.h)
- removed DOS-style cr/lf stuff in ns/ns.h
- added newline to end of file src/util/numtostr.h
- removed some redundant error checking in the top-level topo
functions
- added a few {} here and there where people "forgot" to put them in
for 1 line blocks ;-)
- removed a bunch of MPI_* types from mca header files (replaced with
corresponding ompi_* types)
- all the ptl components had version numbers in their structs; removed
- converted a few more elements in the MCA base to use the OBJ
interface -- removed some old manual reference counting kruft
This commit was SVN r1830.