Skip to main content

AlphaZ: A System for Design Space Exploration in the Polyhedral Model

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7760))

Abstract

The polyhedral model is now a well established and effective formalism for program optimization and parallelization. However, finding optimal transformations is a long-standing open problem. It is therefore important to develop tools that, rather than following predefined optimization criteria, allow practitioners to explore different choices through script-driven or user-guided transformations. More than practitioners, such flexibility is even more important for compiler researchers and auto-tuner developers. In addition, tools must also raise the level of abstraction by representing and manipulating reductions and scans explicitly. And third, the tools must also be able to explore transformation choices that consider memory (re)-allocation.

AlphaZ is a system that allows exploration of optimizing transformations in the polyhedral model that meets these goals. We illustrate its power through two examples of optimizations that existing parallelization tools cannot perform, but can be systematically applied using our system. One is time-tiling of a code from PolyBench that resembles the Alternating Direction Implicit (ADI) method, and the other is a transformation that brings down the algorithmic complexity of a kernel in UNAfold, a sequence alignment software, from O(N 4) to O(N 3).

This work was funded in part by the National Science Foundation, Award Number: 0917319.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   49.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bastoul, C.: Code generation in the polyhedral model is easier than you think. In: Proceedings of the 13th IEEE International Conference on Parallel Architecture and Compilation Techniques, PACT 2004, Washington, DC, USA, pp. 7–16 (2004)

    Google Scholar 

  2. Bondhugula, U., Hartono, A., Ramanujam, J., Sadayappan, P.: A practical automatic polyhedral parallelizer and locality optimizer. In: Proceedings of the 29th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2008, pp. 101–113. ACM, New York (2008)

    Chapter  Google Scholar 

  3. Chen, C., Chame, J., Hall, M.: Chill: A framework for composing high-level loop transformations. U. of Southern California, Tech. Rep., pp. 08–897 (2008)

    Google Scholar 

  4. Darte, A., Schreiber, R., Villard, G.: Lattice-based memory allocation. IEEE Transactions on Computers 54(10), 1242–1257 (2005)

    Article  Google Scholar 

  5. Feautrier, P.: Dataflow analysis of array and scalar references. International Journal of Parallel Programming 20(1), 23–53 (1991)

    Article  MATH  Google Scholar 

  6. Gautam, G., Rajopadhye, S.: Simplifying reductions. In: POPL 2006: Conference Record of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 30–41. ACM, New York (2006)

    Chapter  Google Scholar 

  7. Hartono, A., Baskaran, M.M., Bastoul, C., Cohen, A., Krishnamoorthy, S., Norris, B., Ramanujam, J., Sadayappan, P.: Parametric multi-level tiling of imperfectly nested loops. In: Proceedings of the 23rd International Conference on Supercomputing, pp. 147–157. ACM, New York (2009)

    Chapter  Google Scholar 

  8. Irigoin, F., Jouvelot, P., Triolet, R.: Semantical interprocedural parallelization: An overview of the pips project. In: Proceedings of the 5th International Conference on Supercomputing, pp. 244–251. ACM (1991)

    Google Scholar 

  9. Irisa, C.: The MMAlpha environment

    Google Scholar 

  10. Kelly, W., Pugh, W., Rosser, E.: Code generation for multiple mappings. In: Proceedings of the Fifth Symposium on the Frontiers of Massively Parallel Computation, pp. 332–341. IEEE (1995)

    Google Scholar 

  11. Kim, D., Rajopadhye, S.: Efficient Tiled Loop Generation: D-Tiling. In: Gao, G.R., Pollock, L.L., Cavazos, J., Li, X. (eds.) LCPC 2009. LNCS, vol. 5898, pp. 293–307. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  12. Le Verge, H.: Reduction Operators in Alpha. In: Etiemble, D., Syre, J.-C. (eds.) PARLE 1992. LNCS, vol. 605, pp. 397–411. Springer, Heidelberg (1992), see also, Le Verge Thesis (in French)

    Chapter  Google Scholar 

  13. Lyngs, R., Zuker, M., Pedersen, C., et al.: Fast evaluation of internal loops in rna secondary structure prediction. Bioinformatics 15(6), 440–445 (1999)

    Article  Google Scholar 

  14. Markham, N., Zuker, M.: Software for nucleic acid folding and hybridization. Methods Mol. Biol. 453, 3–31 (2008)

    Article  Google Scholar 

  15. Mauras, C.: ALPHA: un langage équationnel pour la conception et la programmation d’architectures parallèles synchrones. Ph.D. thesis, L’Université de Rennes I, IRISA, Campus de Beaulieu, Rennes, France (December 1989)

    Google Scholar 

  16. Maydan, D., Amarasinghe, S., Lam, M.: Array-data flow analysis and its use in array privatization. In: Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 2–15. ACM (1993)

    Google Scholar 

  17. Meister, B., Leung, A., Vasilache, N., Wohlford, D., Bastoul, C., Lethin, R.: Productivity via automatic code generation for PGAS platforms with the R-Stream compiler. In: Workshop on Asynchrony in the PGAS Programming Model (2009)

    Google Scholar 

  18. Pathan, T.: RNA Secondary Structure Prediction using AlphaZ. Master’s thesis, Colorado State University, Computer Science Department (August 2010)

    Google Scholar 

  19. Pop, S., Cohen, A., Bastoul, C., Girbal, S., Silber, G., Vasilache, N.: Graphite: Loop optimizations based on the polyhedral model for gcc (2006)

    Google Scholar 

  20. Pouchet, L.N.: PolyBench, http://www.cs.ucla.edu/~pouchet/software/polybench/

  21. Pouchet, L.N., Bastoul, C., Cohen, A., Vasilache, N.: Iterative optimization in the polyhedral model: Part I, one-dimensional time. In: IEEE/ACM Fifth International Symposium on Code Generation and Optimization (CGO 2007), pp. 144–156. IEEE Computer Society Press, San Jose (2007)

    Chapter  Google Scholar 

  22. Pouchet, L.N., Bondhugula, U., Bastoul, C., Cohen, A., Ramanujam, J., Sadayappan, P.: Hybrid iterative and model-driven optimization in the polyhedral model. Tech. Rep. 6962, INRIA Research Report (June 2009)

    Google Scholar 

  23. Quilleré, F., Rajopadhye, S.: Optimizing memory usage in the polyhedral model. ACM Trans. Program. Lang. Syst. 22(5), 773–815 (2000)

    Article  Google Scholar 

  24. Shen, T., Wonnacott, D.: Code generation for memory mappings. In: Proceedings of the 1998 Mid-Atlantic Student Workshop on Programming Languages and Systems (1998)

    Google Scholar 

  25. Strout, M., Carter, L., Ferrante, J., Simon, B.: Schedule-independent storage mapping for loops. ACM SIGOPS Operating Systems Review 32(5), 24–33 (1998)

    Article  Google Scholar 

  26. Thies, W., Vivien, F., Sheldon, J., Amarasinghe, S.: A unified framework for schedule and storage optimization. ACM SIGPLAN Notices 36(5), 232–242 (2001)

    Article  Google Scholar 

  27. Vasilache, N., Meister, B., Hartono, A., Baskaran, M., Wohlford, D., Lethin, R.: Trading off memory for parallelism quality. In: International Workshop on Polyhedral Compilation Techniques, IMPACT (2012)

    Google Scholar 

  28. Vasilache, N.: Scalable Program Optimization Technique. The Polyhedral Model. Ph.D. thesis, University of Paris-Sud 11 (2007)

    Google Scholar 

  29. Verdoolaege, S.: isl: An Integer Set Library for the Polyhedral Model. In: Fukuda, K., van der Hoeven, J., Joswig, M., Takayama, N. (eds.) ICMS 2010. LNCS, vol. 6327, pp. 299–302. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  30. Wonnacott, D.: Achieving scalable locality with time skewing. International Journal of Parallel Programming 30(3), 181–221 (2002)

    Article  MATH  Google Scholar 

  31. Yi, Q.: Poet: a scripting language for applying parameterized source-to-source program transformations. Software: Practice and Experience (2011)

    Google Scholar 

  32. Yuki, T., Basupalli, V., Gupta, G., Iooss, G., Kim, D., Pathan, T., Srinivasa, P., Zou, Y., Rajopadhye, S.: Alphaz: A system for analysis, transformation, and code generation in the polyhedral equational model. Tech. rep., CS-12-101, Colorado State University (2012)

    Google Scholar 

  33. Yuki, T., Gupta, G., Pathan, T., Rajopadhye, S.: Systematic implementation of fast-i-loop in UNAfold using AlphaZ. Tech. rep., CS-12-102, Colorado State University (2012)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Yuki, T., Gupta, G., Kim, D., Pathan, T., Rajopadhye, S. (2013). AlphaZ: A System for Design Space Exploration in the Polyhedral Model. In: Kasahara, H., Kimura, K. (eds) Languages and Compilers for Parallel Computing. LCPC 2012. Lecture Notes in Computer Science, vol 7760. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-37658-0_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-37658-0_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-37657-3

  • Online ISBN: 978-3-642-37658-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics