Implementation and Evaluation of Additional Parallel Features of Coarary Fortran



Journal Title

Journal ISSN

Volume Title



The Fortran 2008 language standard added a feature called "coarrays" to allow parallel programming in Fortran with only minimal changes to existing sequential Fortran programs. Coarrays turn Fortran into a Partitioned Global Address Space (PGAS) language, following the Single Program, Multiple Data (SPMD) model. The next revision of the Fortran standard is expected to introduce some more sophisticated coarrays language features. One feature is the "team"; a way of grouping components (images) of parallel Fortran programs. Teams can, for example, be allocated different sub-tasks. Proposed team support in the standard includes statements for forming image teams, reassigning membership of teams, and statements for performing communication and synchronization with respect to image teams. These features are collected and discussed in the Fortran Technical Specification Draft.

In this thesis, we will present implementation and evaluation of some of these new features. The open-source compiler, OpenUH, developed by this research group is extended to implement support for team and collective. We discuss two optimizations we have applied in order to reduce network communication and local memory footprint in the compiler's Coarrays runtime. Experimental results using several micro-benchmarks, one benchmark from the NAS Parallel Benchmark suite and High Performance Linpack suite show that new features make the program logic more concise, while achieving good performance.



Coarray Fortran, Runtime library


Portions of this document appear in: Ge, Shiyao, Deepak Eachempati, Dounia Khaldi, and Barbara Chapman. "An evaluation of anticipated extensions for fortran coarrays." In Partitioned Global Address Space Programming Models (PGAS), 2015 9th International Conference on, pp. 47-58. IEEE, 2015. DOI: 10.1109/PGAS.2015.13; and in: Khaldi, Dounia, Deepak Eachempati, Shiyao Ge, Pierre Jouvelot, and Barbara Chapman. "A team-based methodology of memory hierarchy-aware runtime support in Coarray Fortran." In Cluster Computing (CLUSTER), 2015 IEEE International Conference on, pp. 448-451. IEEE, 2015. DOI: 10.1109/CLUSTER.2015.67.