Automatic loop interchange
- 1 June 1984
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 19 (6), 233-246
- https://doi.org/10.1145/502949.502897
Abstract
Parallel and vector machines are becoming increasingly important to many computation intensive applications. Effectively utilizing such architectures, particularly from sequential languages such as Fortran, has demanded increasingly sophisticated compilers. In general, a compiler needs to significantly reorder a program in order to generate code optimal for a specific architecture.Because DO loops typically control the execution of a number of statements, the order in which loops are executed can dramatically affect the performance of a machine on a particular section of code. In particular, loop interchange can often be used to enhance the performance of code on parallel or vector machines.Determining when loops may be safely and profitably interchanged requires a study of the data dependences in the program. This work discusses specific applications of that theory to loop interchange. This theory is described as it has been implemented in PFC (Parallel Fortran Converter) -- a program which attempts to uncover operations in sequential Fortran code that may be safely rewritten as vector operations.Keywords
This publication has 5 references indexed in Scilit:
- Implementing Linear Algebra Algorithms for Dense Matrices on a Vector Pipeline MachineSIAM Review, 1984
- Conversion of control dependence to data dependencePublished by Association for Computing Machinery (ACM) ,1983
- Dependence graphs and compiler optimizationsPublished by Association for Computing Machinery (ACM) ,1981
- A Survey of Parallel Machine Organization and ProgrammingACM Computing Surveys, 1977
- Fortran for the Texas Instruments ASC systemACM SIGPLAN Notices, 1975