first invocation of MPI_File_open or MPI_File_delete (whichever is
first). The io framework is then only closed down if it was
successfully opened.
This is the first [atomic] step to having a progress thread in the
ROMIO component; it wasn't strictly *necessary*, but it's logically
the same direction and provided a good test case.
This commit was SVN r3895.
#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.
One warning on my list was left unfixed: the "mca_ptl_tcp_peer_dump" function is defined but not used. It is commented in the file as a diagnostic, so I left it alone since someone may choose to use it for debugging purposes. For now, it is uncalled anywhere in the code.
This commit was SVN r3703.
I am aware of an additional bug (which I haven't resolved yet), but it should not
prevent any application from finishing correctly. Fix for the dynamic scenarios to follow soon.
This commit was SVN r3679.
- Add new thread function to compare current thread to an
ompi_thread_t*
- Save current thread ID in MPI_INIT*
- Add first cut of solaris thread functions
- Add stubs for missing Windows thread functions
This commit was SVN r3569.
- register non-blocking recv for process starter whenever a new spawn
occurs.
- send kill message when rte_kill_job or kill_proc is called
- pcm does its mojo to result in the death of the processes
This commit was SVN r3458.
cleanup happens correctly
* Deregister all async waitpid callbacks during pcm finalize so that they
don't accidently trip after the component has been unloaded
* Cleanup the pid tracking code shared by RMS and RSH and update both
components to match
* Add a bit to MPI_Abort() in preparation of ompi_rte_kill_job working
properly soon
This commit was SVN r3360.
size_t to int. This is in recognition of the fact that these two
classes are primarily used for fortran<-->c convertsion of various
entities (attributes, MPI objects), and MPI defines that an int must
be used to hold MPI fortran handles. Hence, why use size_t
internally? See the comment in src/class/ompi_pointer_array.h for a
better description.
Mixed in a few attribute fixes in this commit as well.
This commit, therefore:
- converts the indexing from size_t to int
- changes all locations in the code that I could find that used size_t
as the interface to ompi_bitmap_t or ompi_pointer_array_t
- convert to use OMPI_FINT_2_INT / OMPI_INT_2_FINT macros in various
src/mpi/c/*f2c.c and src/mpi/c/*c2f.c files
- check the return code of ompi_comm_free() to ensure that everything
worked properly before returning MPI_SUCCESS
- unified all src/mpi/c/*f2c.c functions (i.e., they all do the same
thing)
- tie up some loose ends w.r.t. MPI_Request handling in fortran; set
the req_f_to_c_index to MPI_UNDEFINED when it does not have a fortran
index
- still need to add a configure test to find OMPI_FORTRAN_HANDLE_MAX
for ompi_bitmap.c and ompi_pointer_array.c (hard-wired to INT_MAX
right now)
- re-organized, consolidated, and unified some ompi_pointer_array.c
code -- fixed a few minor bugs w.r.t. lowest_free (could have left
some unintentional holes in the array)
This commit was SVN r3302.
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.
* fix typo in error message for spawning processes
* Remove the name field from the global ompi_process_info struct, replacing
usage with calls to ompi_rte_get_self(). Cleaned up the resulting logic
in ompi_rte_init() to make it slightly simpler when dealing with the
singleton case. Reduces data duplication and I believe fixes bug
#1009 as a nice side effect.
This commit was SVN r3230.
- Add #include "ompi_config.h" to all .c files, and ensure that it's
the first #included file
- remove a few useless #if HAVE_CONFIG_H checks
This commit was SVN r3229.