Other MPI-3 Forum activities
Since there were a goodly number of comments on the MPI-3 Fortran question from the other day (please keep spreading that post around — the most feedback we get, the better!), I thought I’d give a quick synopsis of the other MPI-3 Forum Working Groups. That is just to let you know that there’s more going on in MPI-3 than just new yummy Fortran goodness!
The links below go to the wiki pages of the various working groups (WG). Some wiki pages are more active than others; some wiki pages are fairly dormant, but that doesn’t necessarily mean that the WG itself is dormant. Some WG’s simply choose to communicate more via email and/or regular teleconferences. For example, the Tools WG has only sporatic emails on its mailing list, but it has a regularly-updated wiki and regular teleconferences + meeting times during the bi-monthly MPI Forum meetings. Hence, each WG may work and communicate differently than its peers.
- Collective Communications: this WG has already produced significant amounts of new text for MPI-3, introducing non-blocking collective operations.
- Fault Tolerance: this WG is tackling the thorny problems of what to do when MPI processes die (and all manner of related issues).
- Fortran Bindings: I specifically mentioned this WG already, but be sure to look at all the other Fortran changes we’re planning in this WG (not just the default integer issue).
- Generalized Requests: there are some well-known problems with MPI-2 generalized requests. Although it’s not a lot of work to fix them, some decisions need to be made. Not much has happened in this WG yet, but I hope the issues get resolved in time for MPI-3.
- Hybrid Programming: this WG is a catch-all for programming models that include MPI and “something else”, where “something else” includes threads, accelerators, …etc.
- Point-to-Point: this WG was formed with the idea of refining some of MPI’s point-to-point communication functionality. A few ideas have been floated so far, but nothing has “stuck” in this WG, meaning that all the ideas proposed in this WG have ended up being handled in other WGs.
- Remote Memory Access: this WG is working on the MPI one-sided communications functionality. Proposals range from revamping the entire MPI-2 RMA chapter to just slightly tweaking it.
- Tools: the Tools WG is discussing MPI’s interaction with 3rd party tools, such as parallel debuggers, performance and correctness monitors, etc.
- Subsetting: this WG is “on hold”, meaning that a bunch of discussion took place, but the Forum could not find a good compromise between functionality and performance in implementing the subsetting ideas (i.e., allow applications to compile- or run-time specify that they only want to use a subset of MPI functionality).
- Backwards Compatibility: extensively discussed but just recently formed, this WG is discussing the ramifications of application forward and backward compatibility.
- Miscellaneous: this is the true catch-all group that can be used for anything that doesn’t fit into one of the neat categories/WGs listed above. So far, nothing has fallen into this WG that couldn’t be handled by another WG.