Distribution Assignment Placement
The change of distributions of arrays at runtime in languages such as High Performance Fortran (HPF) addresses the demands posed by advanced applications with dynamically varying processor workloads or varying computational kernels. We introduce distribution assignments which are generated by the compiler at subprogram boundaries and for redistribute/realign directives in order to enforce distribution changes. Distribution assignments serve as intermediate representation which allows an abstraction from high-level language constructs which simplifies the analysis task and permits a generic description of the optimization phase. In this paper an aggressive optimization based on bidirectional data flow frameworks is presented which reduces the number of executed distribution assignments more effectively than usual approaches. Instead of implementing individual optimizations, a more general problem, namely elimination of partially dead and partially redundant distribution assignments, is solved which results in a uniform framework covering various optimizing transformations. Unlike many communication optimization systems, code hoisting does not suffice and has to be complemented by code sinking.
Top- Mehofer, Eduard
- Zima, Hans
Category |
Technical Report (Technical Report) |
Divisions |
Scientific Computing |
Publisher |
Institute for Software Technology and Parallel Systems, University of Vienna |
Date |
December 1996 |
Official URL |
http://www.par.univie.ac.at/publications/download/... |
Export |