Portable, MPI-Interoperable Coarray Fortran
The past decade has seen the advent of a number of parallel programming models such as Coarray Fortran (CAF), Unified Parallel C, X10, and Chapel. Despite the productivity gains promised by such programming models, most parallel scientific applications are slow to adopt these models and continue to rely on MPI as their data movement model of choice.
One of the reasons for this trend is that it is not easy for users to incrementally adopt these newer programming models within their existing MPI applications. Because most of these new programming models have their own runtime systems, using multiple programming models within a single application duplicates runtime resources and is potentially error-prone. Such independent runtime systems for each programming model were deemed necessary because MPI was considered insufficient to play this role for these languages.
With the recently released MPI-3, however, several new capabilities have been added to MPI, including a much more comprehensive one-sided communication framework. In this paper, we investigate whether MPI-3 can form a runtime system for one example programming model, CAF, with a broader goal of enabling a single application to use both MPI and CAF simultaneously without duplicating runtime resources.
Chaoran Yang is a fifth-year Ph.D. student from the Department of Computer Science at Rice University, Houston, Texas, advised by Dr. John Mellor-Crummey. His research interests focus on parallel models, runtime systems, compilers for HPC applications. Since May, Chaoran has been working with Dr. Pavan Balaji at Argonne National Laboratory on building a MPI-interoperable Coarray Fortran runtime system.