[Mpi3-tools] MPI handles interface
jsquyres at cisco.com
Thu Apr 16 16:31:24 CDT 2009
I took a first shot at removing the One Big Struct-ness (OBS) of the
MPI handles proposal: I removed the OBS from communicators and
replaced it with several "query" functions. A few structs still
remain -- those that are all pointers, for example, or those that will
likely otherwise not be problematic (e.g., not have holes).
I only updated the communicators section in the header file; I did not
yet update the other 3 handle types that were prototyped (MPI_Status,
MPI_Request, MPI_Errhandler). I also did not yet update the
implementation to match, so it won't compile. I wanted to get some
feedback from the group before continuing.
What about enums -- will those be problematic? I tended to prefer
enums in most places (vs. #define's) because a debugger can show those
value names (when debugging this software itself -- not necessarily
when in general use by a debugger for an MPI job). If enums are going
to be problematic, I can switch to #defines -- but it would be nice
not to, if possible.
The communicator "query" functions that I created start around line 649:
Could I get some comments on the group as to the general style of what
If the web interface is too klunky for you, you can clone the repo
hg clone http://www.open-mpi.org/hg/hgwebdir.cgi/jsquyres/mpi3-tools-handles
The individual file to look at is ompi/debuggers/mpihandles_interface.h.
More information about the mpiwg-tools