[Mpi3-tools] MPI handles interface
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: http://www.open-mpi.org/hg/hgwebdir.cgi/jsquyres/mpi3-tools-handles/file/4c5... Could I get some comments on the group as to the general style of what I did? If the web interface is too klunky for you, you can clone the repo with Mercurial: 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. -- Jeff Squyres Cisco Systems
participants (1)
-
Jeff Squyres