International Journal of Parallel Programming

, Volume 15, Issue 4, pp 279–293 | Cite as

Loops skewing: The wavefront method revisited

  • Michael Wolfe
Article

Abstract

Loop skewing is a new procedure to derive the wavefront method of execution of nested loops. The wavefront method is used to execute nested loops on parallel and vector computers when none of the loops can be done in vector mode. Loop skewing is a simple transformation of loop bounds and is combined with loop interchanging to generate the wavefront. This derivation is particularly suitable for implementation in compilers that already perform automatic detection of parallelism and generation of vector and parallel code, such as are available today. Loop normalization, a loop transformation used by several vectorizing translators, is related to loop skewing, and we show how loop normalization, applied blindly, can adversely affect the parallelism detected by these translators.

Key Words

Parallelism detection wavefront method vectorization loop transformations compiler optimization 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    M. Wolfe, Optimizing Supercompilers for Supercomputers, Ph. D. Thesis, Dept. of Comp. Sci. Rpt. No. 82-1105, Univ. of Illinois, Urbana, Illinois, (October, 1982).Google Scholar
  2. 2.
    J. R. Allen and K. Kennedy, Automatic Loop Interchange,Proc. of the ACM SIGPLAN '84 Symposium on Compiler Construction, Montreal, Canada, SIGPLAN Notices19, (6):233–246, (June 1984).Google Scholar
  3. 3.
    J. R. Allen and K. Kennedy, Automatic Translation of Fortran Programs to Vector Form,Supercomputers: Design and Applications, Kai Hwang, (ed.), IEEE Computer Society Press, Silver Spring, Maryland, pp. 186–203, (1982).Google Scholar
  4. 4.
    J. R. Allen and K. Kennedy, Automatic Translation of Fortran Programs to Vector Form, Tech. Rpt. COMP TR84-9, Rice Univ., Houston, Texas, (July 1984).Google Scholar
  5. 5.
    D. Kuck, R. Kuhn, B. Leasure, and M. Wolfe, The Structure of an Advanced Vectorizer for Pipelined Processors,Proc. of COMPSAC 80, The 4th Int'l Computer Software and Applications Conf., Chicaga, Illinois, pp. 709–715 (October 1980).Google Scholar
  6. 6.
    D. Kuck, R. Kuhn, B. Leasure, and M. Wolfe, The Structure of an Advanced Retargetable Vectorizer,Supercomputers: Design and Applications, Kai Hwang (ed.), IEEE Computer Society Press, Silver Spring, Maryland, pp. 163–178 (1982).Google Scholar
  7. 7.
    Y. Muraoka,Parallelism Exposure and Exploitation in Programs, Ph. D. Thesis Dept. of Comp. Sci. Rpt. No. 71-424, University of Illinois, Urbana, Illinois, (February 1971).Google Scholar
  8. 8.
    U. Banerjee, S. C. Chen, D. Kuck, and R. Towle, Time and Parallel Processor Bounds for Fortran-Like Loops,IEEE Trans. on Computers,C 28 (9): 660–670 (September 1979).Google Scholar
  9. 9.
    R. H. Kuhn, Optimization and Interconnection Complexity for: Parallel Processors, Single-Stage Networks, and Decision Trees, Ph. D. Thesis, Dept. of Comp. Sci. Rpt. No. 80-1009, University of Illinois, Urbana, Illinois, (February 1980).Google Scholar
  10. 10.
    L. Lamport, The Parallel Execution of DO Loops,Comm. of the ACM,17(2):83–93 (February 1974).Google Scholar
  11. 11.
    U. Banerjee, Data Dependence in Ordinary Programs, M. S. Thesis, Dept. of Comp. Sci. Rpt. No. 76-837, Univ. of Illinois, Urbana, IL, (November 1976).Google Scholar
  12. 12.
    U. Banerjee, Speedup of Ordinary Programs, Ph. D. Thesis, Dept. of Comp. Sci. Rpt. No. 79-989, University of Illinois, Urbana Illinois, (October 1979).Google Scholar
  13. 13.
    D. Kuck,The Structure of Computers and Computations, Vol. I, John Wiley and Sons, Inc., New York, (1978).Google Scholar
  14. 14.
    C. Huson et al., The KAP/205: An Advanced Source-to-Source Vectorizer for the Cyber 205 Supercomputer,Proc. of the 1986 Int'l Conf. on Parallel Processing St. Charles, IL, IEEE Computer Society Press, Washington, DC, pp. 827–832 (August 1986).Google Scholar
  15. 15.
    J. Davies et al., The KAP/S-1: An Advanced Source-to-Source Vectorizer for the S-1 Mark IIa Supercomputer,Proc. of the 1986 Int'l Conf. on Parallel Processing, St. Charles, Illinois, IEEE Computer Society Press, Washington, DC, pp. 833–835 (August 1986).Google Scholar
  16. 16.
    T. Macke et al., The KAP/ST-100: An Advanced Source-to-Source Vectorizer for the ST-100 Attached Processor,Proc. of the 1986 Int'l Conf. on Parallel Processing, St. Charles, Illinois, IEEE Computer Society Press, Washington, DC, pp. 171–175 (August 1986).Google Scholar
  17. 17.
    M. Wolfe, Advanced Loop Interchanging,Proc. of the 1986 Int'l Conf. on Parallel Processing, St. Charles, Illinois, IEEE Computer Society Press, Washington, DC, pp. 536–543 (August 1986).Google Scholar

Copyright information

© Plenum Publishing Corporation 1986

Authors and Affiliations

  • Michael Wolfe
    • 1
    • 2
  1. 1.Kuck and Associates, Inc.Savoy
  2. 2.Dept. of Computer ScienceUniversity of IllinoisUrbana

Personalised recommendations