Enhancing parallelism by removing cyclic data dependencies

  • Fubo Zhang
  • Erik H. D'Hollander
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 817)


The parallel execution of loop iterations often is inhibited by recurrence relations on scalar variables. Examples are the use of induction variables and recursive functions. Due to the cyclic dependence between the iterations, these loops have to be executed sequentially. A method is presented to convert a family of coupled linear recurrence relations into explicit functions of a loop index. When the cyclic dependency is the only factor preventing a parallel execution, the conversion effectively removes the dependency and allows the loop to be executed in parallel. The technique is based on constructing and solving a set of coupled linear difference equations at compile-time. The method is general for an arbitrary number of coupled scalar variables and can be implemented by a straight-forward algorithm. Results show that the parallelism of several sequential EISPACK do-loops is significantly enhanced by the converting them into do-all loops.


formal program development methodologies language constructs implementation issues induction variable removal linear recurrence relations 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alfred V. Aho and Jeffrey D. Vllman. Compilers: Principles, Techniques, and tools. Addison-Wesley, Reading, MA, 1986.Google Scholar
  2. 2.
    Allen, J.R., and Kennedy, K. Automatic Translation of FORTRAN Programs to Vector Form. ACM Transaction on programming Language & Systems. Vol. 9, No.4(October), pp. 491–542, 1984.Google Scholar
  3. 3.
    Z. Ammarguellat and W.L. Harrison. Automatic recognition of induction variables and recurrence relations by abstract interperation. ACM SIGPLAN'90, SIGPLAN Notices. Vol. 25, No.6 (June), pp. 283–295, 1990.Google Scholar
  4. 4.
    Banerjee, U., 1988 Dependence Analysis for Supercomputing. The Kluwer international series in engineering and computer science. Parallel processing and fifth generation computing. ISBN 0-89838-289-0. Kluwer Academic Publishers, 1988.Google Scholar
  5. 5.
    Ron Cytron and Jeanne Ferrante. What's in a name ?-or-The Value of Renaming for Parallelism Detection and Storage Allocation. In International Conference on Parallel Processing, 1987. pp. 19–27.Google Scholar
  6. 6.
    D'Hollander Erik H. Partitioning and Labeling of Loops by Unimodular Transformations IEEE Transactions on Parallel and Distributed Systems, 3, 7, 465–476, 1992.CrossRefGoogle Scholar
  7. 7.
    Michael P.Gerlek. Detecting Induction Variables Using SSA Form. Dept. of CSE, Oregon Graduate Institute OGI-CES technical report 93-014, 1993.Google Scholar
  8. 8.
    Kuck, D.J., Kuhn, R.H., Padua, D.A., Leasure, B.R., and Wolfe, M.J. Dependence Graphs and Compiler Optimizations. In Conference Proceedings-The 8th Annual ACM Symposium on Principles of Programming Languages (Williamsburgh, Virginia, January 26–28), ACM Press, pp. 207–218, 1981.Google Scholar
  9. 9.
    Walter G. Kelley and Allan C.Peterson Difference Equations Academic Press, Inc. 1991.Google Scholar
  10. 10.
    Ronald E. Mickens Difference Equations Second Edition, Van Nostrand Remhold Library of Congress Card Number 90-34385, 1990.Google Scholar
  11. 11.
    Wolfe, M.J. Optimizing SuperCompilers for Supercomputers. PhD. Thesis, the Graduate College of the University of Illinois at Urbana-Champaign, 1982.Google Scholar
  12. 12.
    Wolfe M. Tiny. A Loop Restructuring Research Tool. Oregon Grad. Inst. of Sc. and Tech., Dept. Comp. Sc.& Eng., Beaverton. Techical Report, 19-14-21, 1991.Google Scholar
  13. 13.
    Wolfe M. Beyond Induction Variables. ACM SIGPLAN'92, SIGPLAN Notices. Vol. 27, No.7 (July), pp. 162–174, 1992.Google Scholar
  14. 14.
    Wu Youfeng, Lewis Ted G., Parallelizing While Loops, Proceedings of the Intl. Conf. on Parallel Processing '90, II — Software, August 13–17, pp. 1–8, 1990.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Fubo Zhang
    • 1
  • Erik H. D'Hollander
    • 1
  1. 1.Department of Electrical EngineeringUniversity of GhentGhentBelgium

Personalised recommendations