The International Conference for High Performance Computing, Networking, Storage and Analysis
Test-Driven Parallelization of a Legacy Fortran Program.
Authors: Damian W. I. Rouson (Stanford University), Hari Radhakrishnan (University of Cyprus), Karla Morris (Sandia National Laboratories), Sameer Shende (University of Oregon), Stavros C. Kassinos (University of Cyprus)
Abstract: This poster describes the steps involved in modernizing a Fortran 77 turbulent flow model using the object-oriented (OO) and coarray parallel programming features of Fortran 2003 and 2008, respectively. OO programming (OOP) facilitates the construction of an extensible suite of model verification and performance tests that drive the development. Fortran’s new coarray parallel programming feature set facilitates evolving rapidly from a serial application to a parallel application capable of running on multicore processors and manycore accelerators in shared and distributed memory.
The modernization strategy involves 17 steps from automating the building and testing process to adding version control, transforming the source code, and analyzing the performance with the Tuning and Analysis Utilities (TAU) . The verification tests ensure program correctness after each source-transformation step. The performance tests guard against execution-time regressions.
The ultimate steps of parallelization via the coarray syntax demonstrates the approach's minimal impact on the source code.