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

Title: A Programmable Preprocessor for Parallelizing Fortran-90

Abstract

A programmable preprocessor that generates portable and efficient parallel Fortran-90 code has been successfully used in the development of a variety of environmental transport simulators for the Department of Energy. The tool provides the basic functionality of a traditional preprocessor where directives are embedded in a serial Fortran program and interpreted by the preprocessor to produce parallel Fortran code with MPI calls. The unique aspect of this work is that the user can make additions to, or modify, these directives. The directives reside in a preprocessor library and changes to this library can range from small changes to customize an existing library, to larger changes for porting a library, to completely replacing the library. The preprocessor is programmed with a library of directives written in a C-like language, called DL, that has added support for manipulating Fortran code fragments. The primary benefits to the user are twofold: It is fairly easy for any user to generate efficient, parallel code from Fortran-90 with embedded directives, and the long term viability of the user?s software is guaranteed. This is because the source code will always run on a serial machine (the directives are transparent to standard Fortran compilers), and the preprocessor librarymore » can be modified to work with different hardware and software environments. A 4000 line preprocessor library has been written and used to parallelize roughly 50,000 lines of groundwater modeling code. The programs have been ported to a wide range of parallel architectures. Performance of these programs is similar to programs explicitly written for a parallel machine. Binaries of the preprocessor core, as well as the preprocessor library source code used in our groundwater modeling codes are currently available.« less

Authors:
;
Publication Date:
Research Org.:
Pacific Northwest National Lab. (PNNL), Richland, WA (United States)
Sponsoring Org.:
USDOE
OSTI Identifier:
15001833
Report Number(s):
PNNL-SA-31828
TRN: US200406%%288
DOE Contract Number:  
AC05-76RL01830
Resource Type:
Conference
Resource Relation:
Conference: Proceedings of the 1999 Conference on SuperComputing, Portland, Oregon
Country of Publication:
United States
Language:
English
Subject:
54 ENVIRONMENTAL SCIENCES; ENVIRONMENTAL TRANSPORT; FORTRAN; PERFORMANCE; SIMULATION; SIMULATORS; VIABILITY

Citation Formats

Rosing, Matthew, and Yabusaki, Steven B. A Programmable Preprocessor for Parallelizing Fortran-90. United States: N. p., 1999. Web.
Rosing, Matthew, & Yabusaki, Steven B. A Programmable Preprocessor for Parallelizing Fortran-90. United States.
Rosing, Matthew, and Yabusaki, Steven B. 1999. "A Programmable Preprocessor for Parallelizing Fortran-90". United States.
@article{osti_15001833,
title = {A Programmable Preprocessor for Parallelizing Fortran-90},
author = {Rosing, Matthew and Yabusaki, Steven B},
abstractNote = {A programmable preprocessor that generates portable and efficient parallel Fortran-90 code has been successfully used in the development of a variety of environmental transport simulators for the Department of Energy. The tool provides the basic functionality of a traditional preprocessor where directives are embedded in a serial Fortran program and interpreted by the preprocessor to produce parallel Fortran code with MPI calls. The unique aspect of this work is that the user can make additions to, or modify, these directives. The directives reside in a preprocessor library and changes to this library can range from small changes to customize an existing library, to larger changes for porting a library, to completely replacing the library. The preprocessor is programmed with a library of directives written in a C-like language, called DL, that has added support for manipulating Fortran code fragments. The primary benefits to the user are twofold: It is fairly easy for any user to generate efficient, parallel code from Fortran-90 with embedded directives, and the long term viability of the user?s software is guaranteed. This is because the source code will always run on a serial machine (the directives are transparent to standard Fortran compilers), and the preprocessor library can be modified to work with different hardware and software environments. A 4000 line preprocessor library has been written and used to parallelize roughly 50,000 lines of groundwater modeling code. The programs have been ported to a wide range of parallel architectures. Performance of these programs is similar to programs explicitly written for a parallel machine. Binaries of the preprocessor core, as well as the preprocessor library source code used in our groundwater modeling codes are currently available.},
doi = {},
url = {https://www.osti.gov/biblio/15001833}, journal = {},
number = ,
volume = ,
place = {United States},
year = {Thu Jul 01 00:00:00 EDT 1999},
month = {Thu Jul 01 00:00:00 EDT 1999}
}

Conference:
Other availability
Please see Document Availability for additional information on obtaining the full-text document. Library patrons may search WorldCat to identify libraries that hold this conference proceeding.

Save / Share: