Automatic Fortran to C++ conversion with FABLE
- Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States); DOE/OSTI
- Los Alamos National Laboratory (LANL), Los Alamos, NM (United States)
- Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States)
- Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States); University of California, Berkeley, CA (United States)
In scientific computing, Fortran was the dominant implementation language throughout most of the second part of the 20th century. The many tools accumulated during this time have been difficult to integrate with modern software, which is now dominated by object-oriented languages. Driven by the requirements of a large-scale scientific software project, we have developed a Fortran to C++ source-to-source conversion tool named FABLE. This enables the continued development of new methods even while switching languages. We report the application of FABLE in three major projects and present detailed comparisons of Fortran and C++ runtime performances. Our experience suggests that most Fortran 77 codes can be converted with an effort that is minor (measured in days) compared to the original development time (often measured in years). With FABLE it is possible to reuse and evolve legacy work in modern object-oriented environments, in a portable and maintainable way. FABLE is available under a nonrestrictive open source license. In FABLE the analysis of the Fortran sources is separated from the generation of the C++ sources. Therefore parts of FABLE could be reused for other target languages.
- Research Organization:
- Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States); Los Alamos National Laboratory (LANL), Los Alamos, NM (United States)
- Sponsoring Organization:
- USDOE Office of Science (SC), Biological and Environmental Research (BER). Biological Systems Science Division; National Institutes of Health (NIH); American Recovery and Reinvestment Act (ARRA)
- Grant/Contract Number:
- AC02-05CH11231
- OSTI ID:
- 1628964
- Journal Information:
- Source Code for Biology and Medicine, Journal Name: Source Code for Biology and Medicine Journal Issue: 1 Vol. 7; ISSN 1751-0473
- Publisher:
- BioMed CentralCopyright Statement
- Country of Publication:
- United States
- Language:
- English
The C++ programming language in cheminformatics and computational chemistry
|
journal | February 2020 |
Optimization of sequential code for simulation of solar radiative transfer in a vertically heterogeneous environment
|
journal | March 2017 |
Similar Records
Object-oriented design patterns for multiphysics modeling in Fortran 2003.
CHASM : Static Analysis and Automatic Code Generation for Improved Fortran 90 and C++ Interoperability /