| [ptp-user] Article: Fortran Legacy Software: Source Code Update and Possible Parallelisation Issues |
|
Mariano Méndez (one of our Photran committers and the proprietor of
http://www.fortranrefactoring.com.ar/) and his PhD advisor, Fernando
Tinetti, published a nice article in this month's ACM Fortran Forum
on their work modernizing legacy Fortran codes through automated
refactoring. The article describes an interesting vision, as well
as some detail on how (and why) they are implementing their
transformations in Photran. -Jeff http://dx.doi.org/10.1145/2179280.2179281 ================ "Fortran Legacy Software: Source Code Update and Possible Parallelisation Issues" Fernando G. Tinetti and Mariano Méndez, Universidad Nacional de La Plata Abstract: We are working on a process for carrying out a set of transformations on Fortran legacy projects. We started our work for parallelization and reduction of runtime at least on multiprocessing systems, but we found necessary to update several old Fortran features and/or legacy software issues as a previous task. We present how to define and implement several source code transformations in order to enhance readability and, also, provide a source code that we think is more likely to be parallelized in subsequent work. Furthermore, we propose that some parallelization (e.g. for shared memory parallel computers) can be made at least as a tool-guided process, i.e. as other source code transformations. In the most simple cases, some transformations from sequential to parallel processing could be made automatically by a source code software analysis and transformation tool, which could provide the user (programmer/developer) a suggested way of Parallelisation. Source code transformations are initially approached as restructurings, and implemented by changing the abstract syntax tree (AST) program representation. We provide some comments on our preliminary work on the source code transformations directly focussed on parallelization that we expect to implement almost automatically. |