Results 1 -
2 of
2
Loop Fusion in High Performance Fortran
- IN PROCEEDINGS OF THE 1998 ACM INTERNATIONAL CONFERENCE ON SUPERCOMPUTING
, 1998
"... In this paper we investigate a unique problem associated with fusing loops within a High Performance Fortran (HPF) program. In particular, we discuss the issue of performing loop fusion in an HPF compiler when compiling Fortran90 array assignment statements for execution on a distributedmemory machi ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
In this paper we investigate a unique problem associated with fusing loops within a High Performance Fortran (HPF) program. In particular, we discuss the issue of performing loop fusion in an HPF compiler when compiling Fortran90 array assignment statements for execution on a distributedmemory machine. During compilation of an HPF program, Fortran90 array assignment statements must be scalarized into loop nests. We show how a certain class of these loop nests, when fused, can cause problems for the compiler's distributed-memory code generator. We then present an algorithm which not only prevents the fusion of these loops, but also increases the amount of useful fusion that can be performed.
Advanced Scalarization of Array Syntax
- Proceedings of the 9th International Conference on Compiler Construction (CC’2000
, 2000
"... One task of all Fortran 90 compilers is to scalarize the array syntax statements of a program into equivalent sequential code. Most compilers require multiple passes over the program source to ensure correctness of this translation, since their analysis algorithms only work on the scalarized for ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
One task of all Fortran 90 compilers is to scalarize the array syntax statements of a program into equivalent sequential code. Most compilers require multiple passes over the program source to ensure correctness of this translation, since their analysis algorithms only work on the scalarized form. These same compilers then make additional subsequent passes to perform loop optimizations such as loop fusion. In this paper we discuss a strategy that is capable of making advanced scalarization and fusion decisions at the array level. We present an analysis strategy that supports our advanced scalarizer, and we describe the bene ts of this methodology compared to the standard practice. Experimental results show that our strategy can signicantly improve the runtime performance of compiled code, while at the same time improving the performance of the compiler itself. 1

