Using Coarrays to Parallelize Legacy Fortran Applications: Strategy and Case Study
Rouson, D. W. I.
Kassinos, Stavros C.
Google Scholar check
MetadataShow full item record
This paper summarizes a strategy for parallelizing a legacy Fortran 77 programusing the object-oriented (OO) and coarray features that entered Fortran in the 2003 and 2008 standards, respectively. OO programming (OOP) facilitates the construction of an extensible suite of model-verification and performance tests that drive the development. Coarray parallel programming facilitates a rapid evolution from a serial application to a parallel application capable of running on multicore processors and many-core accelerators in shared and distributed memory. We delineate 17 code modernization steps used to refactor and parallelize the program and study the resulting performance. Our initial studies were done using the Intel Fortran compiler on a 32-core shared memory server. Scaling behavior was very poor, and profile analysis using TAU showed that the bottleneck in the performance was due to our implementation of a collective, sequential summation procedure. We were able to improve the scalability and achieve nearly linear speedup by replacing the sequential summationwith a parallel, binary tree algorithm.We also tested theCray compiler, which provides its own collective summation procedure. Intel provides no collective reductions. With Cray, the program shows linear speedup even in distributed-memory execution. We anticipate similar results with other compilers once they support the new collective procedures proposed for Fortran 2015. Copyright © 2015 Hari Radhakrishnan et al.
Showing items related by title, author, creator and subject.
Investigating the seismic response of ancient multi-drum colonnades with two rows of columns using an object-oriented designed software Papaloizou, Loizos; Komodromos, Petros I. (2012)A software application, based on the Discrete Element Method (DEM), has been developed, using a modern object-oriented design and programming approach, in order to enable the effective simulation of multi-drum columns and ...
Rouson, D. W. I.; Rosenberg, R.; Xu, X.; Moulitsas, I.; Kassinos, Stavros C. (2008)Computational complexity theory inspires a grid-free abstraction of the Navier-Stokes equations in Fortran 95/2003. A novel complexity analysis estimates that structured programming time grows at least quadratically with ...
Radhakrishnan, H.; Rouson, D. W. I.; Morris, K.; Shende, S.; Kassinos, Stavros C. (Affiliation: EXA High Performance Computing, Nicosia, CyprusAffiliation: Center for Computational Earth and Environmental Sciences, Stanford University, Stanford, CA, United StatesAffiliation: Combustion Research Facility, Sandia National Laboratories, Livermore, CA, United StatesAffiliation: Performance Research Laboratory, University of Oregon, Eugene, OR, United StatesAffiliation: UCY-CompSci, University of Cyprus, Nicosia, CyprusCorrespondence Address: EXA High Performance Computing, Nicosia, Cyprus, 2013)This paper summarizes a strategy for parallelizing a legacy Fortran 77 program using the object-oriented (OO) and coarray features that entered Fortran in the 2003 and 2008 standards, respectively. OO programming (OOP) ...