Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Analysis of interprocedural side effects in a parallel programming environment

Journal Article · · J. Parallel Distrib. Comput.; (United States)
This paper addresses the analysis of subroutine side effects in the ParaScope programming environment, an ambitious collection of tools for developing, understanding, and compiling parallel programs. In spite of significant progress in the optimization of programs for execution on parallel and vector computers, compilers must still be very conservative when optimizing the code surrounding a call site, due to the lack of information about the code in the subroutine being invoked. This has resulted in the development of algorithms for interprocedural analysis of the side effects of a subroutine, which summarize the body of a subroutine, producing approximate information to improve optimization. This paper reviews the effectiveness of these methods in preparing programs for execution on parallel computers. It is shown that existing techniques are insufficient and a new technique, called regular section analysis, is described. Regular section analysis extends the lattice used in previous interprocedural analysis methods to one that is rich enough to represent common array access patterns: elements, rows, columns, and their higher-dimensional analogs. Regular sections are defined, their properties are established, and the modifications to existing interprocedural analysis algorithms required to handle regular sections are presented. Among these modifications are methods for dealing with language features that reshape array parameters at call sites.
Research Organization:
Dept. of Computer Science, Rice Univ., Houston, TX (US)
OSTI ID:
6024319
Journal Information:
J. Parallel Distrib. Comput.; (United States), Journal Name: J. Parallel Distrib. Comput.; (United States) Vol. 5:5; ISSN JPDCE
Country of Publication:
United States
Language:
English