PFC: A Program to Convert Fortran to Parallel Form
Allen, John R.
The recent success of vector computers like the Cray-1 and array processors such as those manufactured by Floating Point Systems has increased interest in making vector operations available to the Fortran programmer. The Fortran standards committee is currently considering extensions to Fortran which will permit the programmer to explicitly specify vector and array operations. The proposed standard is usually referred to as Fortran 8x. This paper describes PFC, a system that translates sequential programs written in Fortran to Fortran 8x, replacing loops by array operations wherever possible. Central to the theory underlying PFC is the concept of dependence. In another work we developed a test for dependence between statements which distinguished dependences that arise due to the iteration of different loops. In this work, we show how that test is incorporated into a powerful program for recognizing parallelism. By using a careful implementation strategy, combined with judicious choice of data abstraction mechanisms, we have been able to implement a flexible and sophisticated software system while maintaining reasonable efficiency. In fact, our implementation outperforms one of our previous efforts by a factor of more than ten. The resulting program is an interesting case study of the application of theoretical techniques to a practical implementation problem.
Citable link to this pagehttps://hdl.handle.net/1911/101547
MetadataShow full item record
- CAAM Technical Reports