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

skip to main content
10.1145/1229428.1229478acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
Article

The Z-polyhedral model

Published: 14 March 2007 Publication History

Abstract

The polyhedral model is a well developed formalism and has been extensively used in a variety of contexts viz. the automatic parallelization of loop programs, program verification, locality, hardware generationand more recently, in the automatic reduction of asymptotic program complexity. Such analyses and transformations rely on certain closure properties. However, the model is limited in expressivity and the need for a more general class of programs is widely known.
We provide the extension to ⁰-polyhedra which are the intersection of polyhedra and lattices. We prove the required closure properties using a novel representation and interpretation of ⁰-polyhedra. In addition, we also prove closure in the ⁰-polyhedral model under images by dependence functions---thereby proving that unions of LBLs, widely assumedto be a richer class of sets, is equal to unions of ⁰-polyhedra. Another corollary of this result is the equivalence of the unions of ⁰-polyhedraand Presburger sets. Our representation and closure properties constitute the foundations of the ⁰-polyhedral model. As an example, we presentthe transformation for automatic reduction of complexity in the ⁰-polyhedral model.

References

[1]
C. Bastoul. Generating loops for scanning polyhedra. Technical Report 2002/23, PRiSM, Versailles University, 2002.
[2]
Cédric Bastoul. Code generation in the polyhedral model is easier than you think. In IEEE PACT, pages 7--16, 2004.
[3]
T. Cormen, C. Leiserson, and R. Rivest. Introduction to Algorithms. McGraw-Hill, 1990.
[4]
A. Darte, Y. Robert, and F. Vivien. Scheduling and Automatic Parallelization. Birkhäuser, 2000.
[5]
Paul Feautrier. Dataflow analysis of array and scalar references. International Journal of Parallel Programming, 20(1):23--53, 1991.
[6]
Agustin Fernández, José M. Llabería, and Miguel Valero-García. Loop transformation using nonunimodular matrices. IEEE Trans. Parallel Distrib. Syst., 6(8):832--840, 1995.
[7]
Gautam, DaeGon Kim, and S. Rajopadhye. Scheduling in the ⁰--polyhedral model. In IPDPS'07: International Parallel and Distributed Processing Symposium. (accepted), 2007.
[8]
Gautam and S. Rajopadhye. Simplifying reductions. In POPL '06: Symposium on Principles of programming languages, pages 30--41, New York, NY, USA, 2006. ACM Press.
[9]
C. Hermite. Sur l'introduction des variables continues dans la theorie des nombres. J. Reine Angew. Math., 41:191--216, 1851.
[10]
H. Le Verge. Un environnement de transformations de programmmes pour la synthèse d'architectures régulières. PhD thesis, L'Universit& 233; de Rennes I, IRISA, Campus de Beaulieu, Rennes, France, Oct 1992.
[11]
H. Le Verge. Recurrences on lattice polyhedra and their applications. April 1995 (Based on a manuscript written by H. Le Verge just before his untimely death in 1994).
[12]
P. Lenders and S. Rajopadhye. Multirate VLSI arrays and their synthesis. IEEE Transactions on Computers, 46(5):515--529, May 1997.
[13]
Wei Li and Keshav Pingali. A singular loop transformation framework based on non-singular matrices. Int. J. Parallel Program., 22(2):183-- 205, 1994.
[14]
C. Mauras. ALPHA: un langage équationnel pour la conception et la programmation d'architectures parallèles synchrones. PhD thesis, L'Université de Rennes I, Rennes, France, December 1989.
[15]
S. P. K Nookala and T. Risset. A library for z-polyhedral operations. Technical Report PI 1330, IRISA, Rennes, France, 2000.
[16]
Fabien Quilleré, Sanjay Rajopadhye, and Doran Wilde. Generation of efficient nested loops from polyhedra. Int. J. Parallel Program., 28(5):469--498, 2000.
[17]
P. Quinton, S. Rajopadhye, and T. Risset. Extension of the alpha language to recurrences on sparse periodic domains. In ASAP '96: International Conference on Application-Specific Systems, Architectures, and Processors, page 391, 1996.
[18]
P. Quinton, S. V. Rajopadhye, and T. Risset. On manipulating !- polyhedra using a canonical representation. Parallel Processing Letters, 7(2):181--194, June 1997.
[19]
J. Ramanujam. Beyond unimodular transformations. J. Supercomput., 9(4):365--389, 1995.
[20]
Rachid Seghir and Vincent Loechner. Memory optimization by counting points in integer transformations of parametric polytopes. In CASES'06: International Conference on Compilers, Architectures, and Synthesis for Embedded Systems, pages 74--82, 2006.
[21]
H. J. S. Smith. On systems of linear indeterminate equations and congruences. Phil. Trans. Roy. Soc. London, 151:293--326, 1861.
[22]
J. Teich and L. Thiele. Partitioning of processor arrays: A piecewise regular approach. INTEGRATION: The VLSI Journal, 14(3):297--332, Feb 1993.
[23]
Jingling Xue. Automating non-unimodular loop transformations for massive parallelism. Parallel Computing, 20(5):711--728, 1994.

Cited By

View all
  • (2020)Deriving parametric multi-way recursive divide-and-conquer dynamic programming algorithms using polyhedral compilersProceedings of the 18th ACM/IEEE International Symposium on Code Generation and Optimization10.1145/3368826.3377916(317-329)Online publication date: 22-Feb-2020
  • (2019)A Survey of Timing Verification Techniques for Multi-Core Real-Time SystemsACM Computing Surveys10.1145/332321252:3(1-38)Online publication date: 18-Jun-2019
  • (2019)Generating piecewise-regular code from irregular structuresProceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3314221.3314615(625-639)Online publication date: 8-Jun-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
PPoPP '07: Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming
March 2007
284 pages
ISBN:9781595936028
DOI:10.1145/1229428
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: 14 March 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. equational programming
  2. loop optimization
  3. models of computations
  4. program transformation

Qualifiers

  • Article

Conference

PPoPP07
Sponsor:

Acceptance Rates

PPoPP '07 Paper Acceptance Rate 22 of 65 submissions, 34%;
Overall Acceptance Rate 230 of 1,014 submissions, 23%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)25
  • Downloads (Last 6 weeks)5
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2020)Deriving parametric multi-way recursive divide-and-conquer dynamic programming algorithms using polyhedral compilersProceedings of the 18th ACM/IEEE International Symposium on Code Generation and Optimization10.1145/3368826.3377916(317-329)Online publication date: 22-Feb-2020
  • (2019)A Survey of Timing Verification Techniques for Multi-Core Real-Time SystemsACM Computing Surveys10.1145/332321252:3(1-38)Online publication date: 18-Jun-2019
  • (2019)Generating piecewise-regular code from irregular structuresProceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3314221.3314615(625-639)Online publication date: 8-Jun-2019
  • (2019)Affine Modeling of Program TracesIEEE Transactions on Computers10.1109/TC.2018.285374768:2(294-300)Online publication date: 1-Feb-2019
  • (2016)Trace-based affine reconstruction of codesProceedings of the 2016 International Symposium on Code Generation and Optimization10.1145/2854038.2854056(139-149)Online publication date: 29-Feb-2016
  • (2015)Distributed memory code generation for mixed Irregular/Regular computationsACM SIGPLAN Notices10.1145/2858788.268851550:8(65-75)Online publication date: 24-Jan-2015
  • (2015)On Characterizing the Data Access Complexity of ProgramsACM SIGPLAN Notices10.1145/2775051.267701050:1(567-580)Online publication date: 14-Jan-2015
  • (2015)Distributed memory code generation for mixed Irregular/Regular computationsProceedings of the 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/2688500.2688515(65-75)Online publication date: 24-Jan-2015
  • (2015)On Characterizing the Data Access Complexity of ProgramsProceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages10.1145/2676726.2677010(567-580)Online publication date: 14-Jan-2015
  • (2015)Improving Multibank Memory Access Parallelism with Lattice-Based PartitioningACM Transactions on Architecture and Code Optimization10.1145/267535911:4(1-25)Online publication date: 9-Jan-2015
  • Show More Cited By

View Options

Get Access

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