Project 67: Portability of Message Passing Revised title: Portability of Message Passing Systems Raleigh 1994: ============ Hanson reported on some issues related to FORTRAN 90 and virtual message passing communication libraries PVM and MPI. Oxford 1996: =========== This will remain active and Hanson will prepare a descriptive paragraph. Add Walter to people list. Ottawa 2000: ============ Hanson reported that this now works well and the project is inactive although they continue to monitor the related developments with respect to MPI activities. Amsterdam 2001: =============== It was reported that the MPI2 standard has been approved but not yet implemented. The group has disbanded and it is not clear when an implementation will be available. Walter reported on ongoing efforts to develop an `Open MP'. It was felt that it was important for us to remain in contact with outside activities in this area. Portland 2002: ============== Hanson reported that this project is still active and that a paper will appear in TOMS describing some recent progress. Washington 2004: ================ There was nothing new to report on this project. Gropp indicated an interest in re-vitalizing this project and is prepared to suggest a revised (updated) mandate. Hong Kong 2005: =============== Bill Gropp volunteered to make plans for a revitalization of this project within the next couple of years. Prescott 2006: ============== Report by William Gropp MPI has been very successful and solved much of the portability problems faced in parallel computing. There are some areas where users still face portability issues, including Fortran, particularly with nonblocking operations. Note that some of the issues are discussed in the MPI-2 standard. Ambiguities with respect to buffering in point-to-point message passing Bitwise reproducibility, particularly with respect to reduction operations (e.g., MPI_Allreduce and MPI_Scan), and in the context of systems with heterogeneous data representations. Pros and Cons of an Application Binary Interface Mixed model parallelism (such as MPI + OpenMP, particularly with respect to controlling the assignment of processes and threads to processors to meet performance expectations) Are there other issues that have been observed? There is an official MPI errata list at http://www-new.mcs.anl.gov/~gropp/projects/parallel/MPI/mpi-errata/index.html One area of possible interest would be a Fortran 2003 binding for MPI, perhaps exploiting some of the features added to Fortran to support use of C from Fortran. Some work in this direction is already going on, see http://www.open-mpi.org/papers/euro-pvmmpi-2005-fortran/euro-pvm-mpi-2005-fortran.pdf so this may be a good time for WG 2.5 to have a look at it. In the longer term, there is an effort to develop new languages for high productivity computing as part of the DARPA HPCS project, see http://www.highproductivity.org/ and http://www.darpa.mil/ipto/programs/hpcs/ Information on these languages is becoming available; see http://crd.lbl.gov/~parry/hpcs_resources.html for a collection of pointers (they may be a little out-of-date but will get you started). If someone is interested in looking at these languages from a numerical standpoint, then we might want to start a new project on "programming high performance computing systems" and merge this project into that new project. Prescott 2006: ============== Gropp summarized some ideas and relevant issues that are being considered as part of this active project. In particular the evolution of Fortran 2003 and the emergence of new languages will lead to a renewed interest in this topic. He felt that a change in the name of the project might be appropriate. Uppsala 2007: ============= Gropp provided a brief report of some recent activities in this area. He agreed to be the key leader and to update the title and project description. He attends meetings that are active in the development/evolution of MPI.