Show simple item record

dc.contributor.authorRadhakrishnan, H.en
dc.contributor.authorRouson, D. W. I.en
dc.contributor.authorMorris, K.en
dc.contributor.authorShende, S.en
dc.contributor.authorKassinos, Stavros C.en
dc.creatorRadhakrishnan, H.en
dc.creatorRouson, D. W. I.en
dc.creatorMorris, K.en
dc.creatorShende, S.en
dc.creatorKassinos, Stavros C.en
dc.date.accessioned2019-05-06T12:24:24Z
dc.date.available2019-05-06T12:24:24Z
dc.date.issued2015
dc.identifier.urihttp://gnosis.library.ucy.ac.cy/handle/7/48745
dc.description.abstractThis 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.en
dc.language.isoengen
dc.sourceScientific Programmingen
dc.subjectMemory architectureen
dc.subjectBinary treesen
dc.subjectMicroprocessor chipsen
dc.subjectObject oriented programmingen
dc.subjectDistributed Memoryen
dc.subjectFORTRAN (programming language)en
dc.subjectFortran compilersen
dc.subjectMany-core acceleratorsen
dc.subjectModel verificationen
dc.subjectMulti-core processoren
dc.subjectMulticore programmingen
dc.subjectParallel applicationen
dc.subjectParallel programmingen
dc.subjectPerformance testsen
dc.subjectProfile analysisen
dc.subjectProgram compilersen
dc.titleUsing Coarrays to Parallelize Legacy Fortran Applications: Strategy and Case Studyen
dc.typeinfo:eu-repo/semantics/article
dc.identifier.doi10.1155/2015/904983
dc.description.volume2015
dc.author.facultyΠολυτεχνική Σχολή / Faculty of Engineering
dc.author.departmentΤμήμα Μηχανικών Μηχανολογίας και Κατασκευαστικής / Department of Mechanical and Manufacturing Engineering
dc.type.uhtypeArticleen
dc.contributor.orcidKassinos, Stavros C. [0000-0002-3501-3851]
dc.gnosis.orcid0000-0002-3501-3851


Files in this item

FilesSizeFormatView

There are no files associated with this item.

This item appears in the following Collection(s)

Show simple item record