Title :
Making the Fortran-to-C transition: how painful is it really?
Author :
Theurich, Gerhard ; Anson, Bryce ; Hill, Nicola A. ; Hill, Adrian
Author_Institution :
California Univ., Santa Barbara, CA, USA
Abstract :
For over a decade, the Fortran/C controversy has split the scientific computing community into two groups. The article does not give a long list of technical pros and cons for either programming language, but provides a “real-world” case study of the Fortran-to-C transition the authors recently made. They describe their experiences in converting a 20000-line Fortran program (which for typical runs, executes in approximately two hours on a 400-MHz Pentium) into C. The program that was “translated” is a plane-wave pseudopotential implementation of density functional theory within the local spin density approximation. The program´s primary task is to calculate the ground state electron distribution in bulk solids by minimizing the total energy with a conjugate gradient algorithm. This is a real program that uses all the usual operations, conditionals, and loops and has a particular emphasis on the use of fast Fourier transforms (FFTs). Simulating systems with large numbers of atoms requires considerable amounts of memory, which leads to reading and writing large arrays to disk during computations
Keywords :
C language; FORTRAN; conjugate gradient methods; density functional theory; physics computing; programming; 20000-line Fortran program; Fortran-to-C transition; Fortran/C controversy; bulk solids; conjugate gradient algorithm; density functional theory; fast Fourier transforms; ground state electron distribution; local spin density approximation; plane-wave pseudopotential implementation; programming language; real program; real-world case study; scientific computing community; Computational modeling; Computer languages; Density functional theory; Electrons; Fast Fourier transforms; Flexible printed circuits; Read-write memory; Scientific computing; Solids; Stationary state;
Journal_Title :
Computing in Science & Engineering
DOI :
10.1109/5992.895184