skip to main content
10.1145/1111037.1111041acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article

Simplifying reductions

Published:11 January 2006Publication History

ABSTRACT

We present optimization techniques for high level equational programs that are generalizations of affine control loops (ACLs). Significant parts of the SpecFP and PerfectClub benchmarks are ACLs. They often contain reductions: associative and commutative operators applied to a collection of values. They also often exhibit reuse: intermediate values computed or used at different index points being identical. We develop various techniques to automatically exploit reuse to simplify the computational complexity of evaluating reductions. Finally, we present an algorithm for the optimal application of such simplifications resulting in an equivalent specification with minimum complexity.

References

  1. C. Bastoul. Generating loops for scanning polyhedra. Technical Report 2002/23, Versailles University, 2002.Google ScholarGoogle Scholar
  2. C. Bastoul, A. Cohen, A. Girbal, S. Sharma, and O. Temam. Putting polyhedral loop transformations to work. In LCPC'16 International Workshop on Languages and Compilers for Parallel Computers, LNCS 2958, 2003.Google ScholarGoogle Scholar
  3. R. S. Bird. The promotion and accumulation strategies in transformational programming. ACM Trans. Program. Lang. Syst., 6(4):487--504, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. John Cocke and Ken Kennedy. An algorithm for reduction of operator strength. Commun. ACM, 20(11):850--856, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. P. Clauss, V. Loechner, and D. Wilde. Deriving formulae to count solutions to parameterized linear systems using ehrhart polynomials: Applications to the analysis of nested-loop programs, 1997.Google ScholarGoogle Scholar
  6. F. de Dinechin and S. Robert. Hierarchical static analysis of structured systems of affine recurrence equations. In ASAP, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. E. Ehrhart. Sur une problème de géométrie diophantine linéaire. J. reine angew. Math., 227:1--29, 1967.Google ScholarGoogle Scholar
  8. Paul Feautrier. Dataflow analysis of array and scalar references. International Journal of Parallel Programming, 20(1):23--53, 1991.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Paul Feautrier. Some efficient solutions to the affine scheduling problem. part II. multidimensional time. International Journal of Parallel Programming, 21(6):389--420, December 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Amelia C. Fong. Inductively computable constructs in very high level languages. In POPL '79: Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Gautam and S. Rajopadhye. Simplifying reductions. Technical Report 05-102, Colorado State University, 2005.Google ScholarGoogle Scholar
  12. V. Kislenkov, V. Mitrofanov, and E. Zima. Multidimensional chains of recurrences. In ISSAC '98: Proceedings of the 1998 international symposium on Symbolic and algebraic computation, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Yanhong A. Liu, Scott D. Stoller, Ning Li, and Tom Rothamel. Optimizing aggregate array computations in loops. ACM Trans. Program. Lang. Syst., 27(1):91--125, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. H. Le Verge. Un environnement de transformations de programmmes pour la synthèse d'architectures régulières. PhD thesis, L'Université de Rennes I, IRISA, Campus de Beaulieu, Rennes, France, Oct 1992.Google ScholarGoogle Scholar
  15. Rune B. Lyngsø, Michael Zuker, and Christian N. S. Pedersen. Fast evaluation of internal loops in rna secondary structure prediction. Bioinformatics, 15(6):440--445, 1999.Google ScholarGoogle ScholarCross RefCross Ref
  16. C. Mauras. ALPHA: un langage équationnel pour la conception et la programmation d'architectures parallèles synchrones. PhD thesis, L'Université de Rennes I, IRISA, Campus de Beaulieu, Rennes, France, December 1989.Google ScholarGoogle Scholar
  17. Robert Paige and Shaye Koenig. Finite differencing of computable expressions. ACM Trans. Program. Lang. Syst., 4(3):402--454, 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. W. Pugh. A practical algorithm for exact array dependence analysis. Commun. ACM, 35(8):102--114, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Fabien Quilleré and Sanjay Rajopadhye. Optimizing memory usage in the polyhedral model. ACM Trans. Program. Lang. Syst., 22(5):773--815, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Fabien Quilleré, Sanjay Rajopadhye, and Doran Wilde. Generation of efficient nested loops from polyhedra. Int. J. Parallel Program., 28(5):469--498, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Sanjay Rajopadhye. LACS: a language for affine communication structures. Technical Report RR-2093.Google ScholarGoogle Scholar
  22. Xavier Redon and Paul Feautrier. Detection of recurrences in sequential programs with loops. In Proceedings of the 5th International PARLE Conference on Parallel Architectures and Languages Europe, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. D. Wilde. A library for doing polyhedral operations. Technical Report PI 785, IRISA, Rennes, France, Dec 1993.Google ScholarGoogle Scholar
  24. Daniel M. Yellin and Robert E. Strom. Inc: a language for incremental computations. ACM Trans. Program. Lang. Syst., 13(2):211--236, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Simplifying reductions

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!