Computing Reviews

SPOT:a DSL for extending Fortran programs with metaprogramming
Yue S., Gray J. Advances in Software Engineering20149-9,2014.Type:Article
Date Reviewed: 06/18/15

The Fortran language, a first language for many older computer science (CS) architects, is still used extensively in high-performance computing (HPC). Lots of very functional legacy code is still running many important systems. While Fortran has evolved, it hasn’t kept pace with computing advances. The authors of this paper show how meta-programming could breathe new life into these less expressive but very powerful programs.

By developing a new domain-specific language (DSL) called SPOT, an approach is shown for extending Fortran programs to exploit computer architecture improvements such as multicore processors and grid computing. While the existing Fortran programs are very robust and useful, SPOT provides OpenFortran language extensions to bring in new parallel processing and aspect-oriented capabilities. The paper shows the new DSL architecture and various automatic translation approaches. This includes language options of either Fortran extensions or new source-to-source language translations wrapping existing code. The design of the OpenFortran framework is shown, as well as its relationship to OpenC++ and OpenJava efforts. For efficiency, SPOT uses control over compilation in its code generation approach, versus runtime control. This meta-level transformation code is added to base-level (existing) Fortran code; OpenFortran translates these into extended Fortran; and then the language is executed on the new computing platforms.

Through examples, such as a classic parallelized Dijkstra’s algorithm, the paper shows what a SPOT program looks like and how it achieves the stated new processing goals. By programming in what amounts to a new language, embedded snippets are inserted that reference existing code. The authors believe their translation language is language independent, so it could be extended to other languages. With brand new programming languages being designed daily, existing code from older languages seems to be left behind. A non-native language approach like SPOT for extending HPC Fortran applications could really benefit the computing community if it can be written and used effectively.

Reviewer:  Scott Moody Review #: CR143536 (1509-0794)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy