skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: A Note on Compiling Fortran

Abstract

Fortran modules tend to serialize compilation of large Fortran projects, by introducing dependencies among the source files. If file A depends on file B, (A uses a module defined by B), you must finish compiling B before you can begin compiling A. Some Fortran compilers (Intel ifort, GNU gfortran and IBM xlf, at least) offer an option to ‘‘verify syntax’’, with the side effect of also producing any associated Fortran module files. As it happens, this option usually runs much faster than the object code generation and optimization phases. For some projects on some machines, it can be advantageous to compile in two passes: The first pass generates the module files, quickly; the second pass produces the object files, in parallel. We achieve a 3.8× speedup in the case study below.

Authors:
 [1]
  1. Lawrence Livermore National Lab. (LLNL), Livermore, CA (United States)
Publication Date:
Research Org.:
Lawrence Livermore National Lab. (LLNL), Livermore, CA (United States)
Sponsoring Org.:
USDOE
OSTI Identifier:
1393322
Report Number(s):
LLNL-TR-738243
DOE Contract Number:  
AC52-07NA27344
Resource Type:
Technical Report
Country of Publication:
United States
Language:
English
Subject:
97 MATHEMATICS, COMPUTING, AND INFORMATION SCIENCE

Citation Formats

Busby, L. E.. A Note on Compiling Fortran. United States: N. p., 2017. Web. doi:10.2172/1393322.
Busby, L. E.. A Note on Compiling Fortran. United States. doi:10.2172/1393322.
Busby, L. E.. Fri . "A Note on Compiling Fortran". United States. doi:10.2172/1393322. https://www.osti.gov/servlets/purl/1393322.
@article{osti_1393322,
title = {A Note on Compiling Fortran},
author = {Busby, L. E.},
abstractNote = {Fortran modules tend to serialize compilation of large Fortran projects, by introducing dependencies among the source files. If file A depends on file B, (A uses a module defined by B), you must finish compiling B before you can begin compiling A. Some Fortran compilers (Intel ifort, GNU gfortran and IBM xlf, at least) offer an option to ‘‘verify syntax’’, with the side effect of also producing any associated Fortran module files. As it happens, this option usually runs much faster than the object code generation and optimization phases. For some projects on some machines, it can be advantageous to compile in two passes: The first pass generates the module files, quickly; the second pass produces the object files, in parallel. We achieve a 3.8× speedup in the case study below.},
doi = {10.2172/1393322},
journal = {},
number = ,
volume = ,
place = {United States},
year = {Fri Sep 01 00:00:00 EDT 2017},
month = {Fri Sep 01 00:00:00 EDT 2017}
}

Technical Report:

Save / Share: