Nothing Special   »   [go: up one dir, main page]

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

Simplifying reductions

Published: 11 January 2006 Publication 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.
[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.
[3]
R. S. Bird. The promotion and accumulation strategies in transformational programming. ACM Trans. Program. Lang. Syst., 6(4):487--504, 1984.
[4]
John Cocke and Ken Kennedy. An algorithm for reduction of operator strength. Commun. ACM, 20(11):850--856, 1977.
[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.
[6]
F. de Dinechin and S. Robert. Hierarchical static analysis of structured systems of affine recurrence equations. In ASAP, 1996.
[7]
E. Ehrhart. Sur une problème de géométrie diophantine linéaire. J. reine angew. Math., 227:1--29, 1967.
[8]
Paul Feautrier. Dataflow analysis of array and scalar references. International Journal of Parallel Programming, 20(1):23--53, 1991.
[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.
[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.
[11]
Gautam and S. Rajopadhye. Simplifying reductions. Technical Report 05-102, Colorado State University, 2005.
[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.
[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.
[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.
[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.
[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.
[17]
Robert Paige and Shaye Koenig. Finite differencing of computable expressions. ACM Trans. Program. Lang. Syst., 4(3):402--454, 1982.
[18]
W. Pugh. A practical algorithm for exact array dependence analysis. Commun. ACM, 35(8):102--114, 1992.
[19]
Fabien Quilleré and Sanjay Rajopadhye. Optimizing memory usage in the polyhedral model. ACM Trans. Program. Lang. Syst., 22(5):773--815, 2000.
[20]
Fabien Quilleré, Sanjay Rajopadhye, and Doran Wilde. Generation of efficient nested loops from polyhedra. Int. J. Parallel Program., 28(5):469--498, 2000.
[21]
Sanjay Rajopadhye. LACS: a language for affine communication structures. Technical Report RR-2093.
[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.
[23]
D. Wilde. A library for doing polyhedral operations. Technical Report PI 785, IRISA, Rennes, France, Dec 1993.
[24]
Daniel M. Yellin and Robert E. Strom. Inc: a language for incremental computations. ACM Trans. Program. Lang. Syst., 13(2):211--236, 1991.

Cited By

View all
  • (2023)Automatic Algorithm-Based Fault Tolerance (AABFT) of Stencil Computations2023 32nd International Conference on Parallel Architectures and Compilation Techniques (PACT)10.1109/PACT58117.2023.00024(187-198)Online publication date: 21-Oct-2023
  • (2022)Parallelizing Neural Network Models Effectively on GPU by Implementing Reductions AtomicallyProceedings of the International Conference on Parallel Architectures and Compilation Techniques10.1145/3559009.3569656(451-466)Online publication date: 8-Oct-2022
  • (2019)Aggregation of Votes with Multiple Positions on Each IssueACM Transactions on Economics and Computation10.1145/32966757:1(1-25)Online publication date: 25-Jan-2019
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
January 2006
432 pages
ISBN:1595930272
DOI:10.1145/1111037
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 41, Issue 1
    Proceedings of the 2006 POPL Conference
    January 2006
    421 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/1111320
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 January 2006

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. equational programming
  2. incremental computation
  3. loop optimization
  4. polyhedral model
  5. program transformation

Qualifiers

  • Article

Conference

POPL06

Acceptance Rates

Overall Acceptance Rate 824 of 4,130 submissions, 20%

Upcoming Conference

POPL '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)37
  • Downloads (Last 6 weeks)3
Reflects downloads up to 14 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Automatic Algorithm-Based Fault Tolerance (AABFT) of Stencil Computations2023 32nd International Conference on Parallel Architectures and Compilation Techniques (PACT)10.1109/PACT58117.2023.00024(187-198)Online publication date: 21-Oct-2023
  • (2022)Parallelizing Neural Network Models Effectively on GPU by Implementing Reductions AtomicallyProceedings of the International Conference on Parallel Architectures and Compilation Techniques10.1145/3559009.3569656(451-466)Online publication date: 8-Oct-2022
  • (2019)Aggregation of Votes with Multiple Positions on Each IssueACM Transactions on Economics and Computation10.1145/32966757:1(1-25)Online publication date: 25-Jan-2019
  • (2019)An Information Theoretic Framework For Designing Information Elicitation Mechanisms That Reward Truth-tellingACM Transactions on Economics and Computation10.1145/32966707:1(1-33)Online publication date: 25-Jan-2019
  • (2019)Algorithm Diversity for Resilient SystemsData and Applications Security and Privacy XXXIII10.1007/978-3-030-22479-0_19(359-378)Online publication date: 11-Jun-2019
  • (2018)SOFSATACM SIGKDD Explorations Newsletter10.1145/3299986.329999020:2(21-30)Online publication date: 11-Dec-2018
  • (2018)SugarACM SIGPLAN Notices10.1145/3296957.317318653:2(519-534)Online publication date: 19-Mar-2018
  • (2018)PotluckACM SIGPLAN Notices10.1145/3296957.317318553:2(271-284)Online publication date: 19-Mar-2018
  • (2018)StrongBoxACM SIGPLAN Notices10.1145/3296957.317318353:2(708-721)Online publication date: 19-Mar-2018
  • (2018)Automatic Matching of Legacy Code to Heterogeneous APIsACM SIGPLAN Notices10.1145/3296957.317318253:2(139-153)Online publication date: 19-Mar-2018
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media