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

Conference ·
OSTI ID:15001833

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.

Research Organization:
Pacific Northwest National Lab. (PNNL), Richland, WA (United States)
Sponsoring Organization:
USDOE
DOE Contract Number:
AC05-76RL01830
OSTI ID:
15001833
Report Number(s):
PNNL-SA-31828; TRN: US200406%%288
Resource Relation:
Conference: Proceedings of the 1999 Conference on SuperComputing, Portland, Oregon
Country of Publication:
United States
Language:
English

Similar Records

Toward Efficient Compilation of User-Defined Extensible Fortran Directives
Conference · Tue Apr 20 00:00:00 EDT 2004 · OSTI ID:15001833

PETSc/TAO Users Manual (Rev. 3.19)
Technical Report · Thu Mar 30 00:00:00 EDT 2023 · OSTI ID:15001833

PETSc Users Manual (Rev. 3.3)
Technical Report · Sat May 11 00:00:00 EDT 2013 · OSTI ID:15001833