Implementation and Evaluation of Additional Parallel Features of Coarary Fortran
Ge, Shiyao 1991-
MetadataShow full item record
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.