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.
structures to make it easier to swap around lists when doing process ->
resource mapping
* Fix spawn interface to take an ompi_list_t* instead of an ompi_list_t
since you can't pass an ompi_list_t by value
* Change allocate_resource to return an ompi_list_t* instead of having
an ompi_list_t** as an argument, since it's a bit cleaner and makes
who should call OBJ_NEW much more clear
* Clean up deallocation in error cases for the llm_base_allocate function
* Update test case for llm to not depend on current environment for
correctness
This commit was SVN r2126.
Major change to the name server system to introduce the OOB interface. Changed the ompi_process_name_t to no longer be an OBJ, but instead just a regular C structure. Include the packing-based oob interface.
This commit was SVN r2114.
removing the warning in comm_split_f pointed out be the 64bit architecture. Actually, I wonder why g77 did not detect that, since this was a real bug and not just a warning :-)
This commit was SVN r2113.
Looks like it works:
SUPPORT: OMPI Test Passed: oob packed recieve then send: (15 tests)
SUPPORT: OMPI Test Passed: oob packed send then recieve: (15 tests)
This commit was SVN r2110.
- this code will change again tomorrow when oob allocates memory for me
Started to get ready to remove all the last remains of the old oob pack.
- ifdefd until we are sure we got them all, and then its delete time.
This commit was SVN r2108.
and updated the unit test for this.
- This call is for use by the OOB device so it can pass the pack/buffer system
memory. This removes the peek-recv race condition.
This commit was SVN r2105.
- Testsuite found as this was set to NULL until a pack to catch invalid unpacks
that if a realloc occured on the first pack, then all ptrs updated by
relative amounts and then the from_ptr was not NULL and not set on
first pack correctly. Have changed it to the simple method.
This commit was SVN r2098.
- removed send_hton/recv_ntoh routines as we now have send_packed/recv_packed
- removed constness from apis
- adding flag (in work) to allow recv to allocate and return recv buffer
- updated edgars communicator code to use pack routines rather than ntoh routines
This commit was SVN r2095.
- 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.