Using coarrays to parallelize legacy fortran applications: strategy and case study

作者: Hari Radhakrishnan , Damian W. I. Rouson , Karla Morris , Sameer Shende , Stavros C. Kassinos

DOI: 10.1155/2015/904983

关键词: SpeedupObject-oriented programmingShared memoryComputer scienceDistributed memoryMulti-core processorScalabilityCompilerParallel computingFortran

摘要: This paper summarizes a strategy for parallelizing legacy Fortran 77 program using the object-oriented (OO) and coarray features that entered in 2003 2008 standards, respectively. OO programming (OOP) facilitates construction of an extensible suite model-verification performance tests drive development. Coarray parallel rapid evolution from serial application to capable running on multicore processors many-core accelerators shared distributed memory. We delineate 17 code modernization steps used refactor parallelize study resulting performance. Our initial studies were done Intel compiler 32-core memory server. Scaling behavior was very poor, profile analysis TAU showed bottleneck due our implementation collective, sequential summation procedure. able improve scalability achieve nearly linear speedup by replacing with parallel, binary tree algorithm. also tested Cray compiler, which provides its own collective no reductions. With Cray, shows even distributed-memory execution. anticipate similar results other compilers once they support new procedures proposed 2015.

参考文章(8)
Malcolm Cohen, John Reid, Michael Metcalf, Modern Fortran Explained ,(2011)
Charles Norton, Viktor Decyk, Modernizing Fortran 77 Legacy Codes ,(2000)
S. C. Kassinos, W. C. Reynolds, A Particle Representation Model for the Deformation of Homogeneous Turbulence APS Division of Fluid Dynamics Meeting Abstracts. ,(1996)
Fernando G. Tinetti, Mariano Méndez, Fortran Legacy software: source code update and possible parallelisation issues ACM Sigplan Fortran Forum. ,vol. 31, pp. 5- 22 ,(2012) , 10.1145/2179280.2179281
B.L. Achee, Doris L Carver, Creating object-oriented designs from legacy FORTRAN code Journal of Systems and Software. ,vol. 39, pp. 179- 194 ,(1997) , 10.1016/S0164-1212(96)00171-9
Hari Radhakrishnan, Damian W. I. Rouson, Karla Morris, Sameer Shende, Stavros C. Kassinos, Test-driven coarray parallelization of a legacy Fortran application software engineering for high performance computing in computational science and engineering. pp. 33- 40 ,(2013) , 10.1145/2532352.2532356
Sameer S. Shende, Allen D. Malony, The Tau Parallel Performance System ieee international conference on high performance computing data and analytics. ,vol. 20, pp. 287- 311 ,(2006) , 10.1177/1094342006064482