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

Title: Global Transformations for Legacy Parallel Applications via Structural Analysis and Rewriting

Abstract

Performance and scalability optimization of large HPC applications is currently a labor-intensive, manual process with very low productivity. Major difficulties come from the disaggregated environment for HPC application development: the compiler is only involved in local decisions (core or multithreaded domain), while a library-based, communication-oriented programming model realizes whole-machine parallelism. Realizing any major global change in such a disaggregated environment is very difficult and involves changing large portions of the source code. We present semi-automated techniques, based on structural analysis and rewriting, for performing global transformations on an HPC application source code. We present two case studies using the Self-Consistent Field (SCF) standalone benchmark as well as the Coupled Cluster (CCSD) module (2.9 million lines of Fortran code), a key module of the NWChem computational chemistry application. We demonstrate how structural rewriting techniques can be used to automate transformations that affect multiple sections of the application's source code. We show that the transformations can be applied in a systematic fashion across the source code bases with minimal manual effort. These transformations improve the scalability of the SCF benchmark by more than two orders of magnitude and the performance of the full CCSD module by a factor of 4.0.

Authors:
; ; ; ;
Publication Date:
Research Org.:
Pacific Northwest National Lab. (PNNL), Richland, WA (United States)
Sponsoring Org.:
USDOE
OSTI Identifier:
1184904
Report Number(s):
PNNL-SA-104508
KJ0402000
DOE Contract Number:  
AC05-76RL01830
Resource Type:
Journal Article
Resource Relation:
Journal Name: Parallel Computing, 43(March 2015):1-26
Country of Publication:
United States
Language:
English
Subject:
source-to-source transformations; term rewriting; semantic patches; legacy parallel applications

Citation Formats

Chavarría-Miranda, Daniel, Panyala, Ajay, Ma, Wenjing, Prantl, Adrian, and Krishnamoorthy, Sriram. Global Transformations for Legacy Parallel Applications via Structural Analysis and Rewriting. United States: N. p., 2015. Web. doi:10.1016/j.parco.2015.01.001.
Chavarría-Miranda, Daniel, Panyala, Ajay, Ma, Wenjing, Prantl, Adrian, & Krishnamoorthy, Sriram. Global Transformations for Legacy Parallel Applications via Structural Analysis and Rewriting. United States. doi:10.1016/j.parco.2015.01.001.
Chavarría-Miranda, Daniel, Panyala, Ajay, Ma, Wenjing, Prantl, Adrian, and Krishnamoorthy, Sriram. Sun . "Global Transformations for Legacy Parallel Applications via Structural Analysis and Rewriting". United States. doi:10.1016/j.parco.2015.01.001.
@article{osti_1184904,
title = {Global Transformations for Legacy Parallel Applications via Structural Analysis and Rewriting},
author = {Chavarría-Miranda, Daniel and Panyala, Ajay and Ma, Wenjing and Prantl, Adrian and Krishnamoorthy, Sriram},
abstractNote = {Performance and scalability optimization of large HPC applications is currently a labor-intensive, manual process with very low productivity. Major difficulties come from the disaggregated environment for HPC application development: the compiler is only involved in local decisions (core or multithreaded domain), while a library-based, communication-oriented programming model realizes whole-machine parallelism. Realizing any major global change in such a disaggregated environment is very difficult and involves changing large portions of the source code. We present semi-automated techniques, based on structural analysis and rewriting, for performing global transformations on an HPC application source code. We present two case studies using the Self-Consistent Field (SCF) standalone benchmark as well as the Coupled Cluster (CCSD) module (2.9 million lines of Fortran code), a key module of the NWChem computational chemistry application. We demonstrate how structural rewriting techniques can be used to automate transformations that affect multiple sections of the application's source code. We show that the transformations can be applied in a systematic fashion across the source code bases with minimal manual effort. These transformations improve the scalability of the SCF benchmark by more than two orders of magnitude and the performance of the full CCSD module by a factor of 4.0.},
doi = {10.1016/j.parco.2015.01.001},
journal = {Parallel Computing, 43(March 2015):1-26},
number = ,
volume = ,
place = {United States},
year = {Sun Mar 01 00:00:00 EST 2015},
month = {Sun Mar 01 00:00:00 EST 2015}
}