Advertisement

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

  • Tomofumi Yuki
  • Gautam Gupta
  • DaeGon Kim
  • Tanveer Pathan
  • Sanjay Rajopadhye
Part of the Lecture Notes in Computer Science book series (LNCS, 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).

Keywords

Memory Allocation Design Space Exploration Polyhedral Model Automatic Parallelizers Alternate Direction Implicit 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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)CrossRefGoogle Scholar
  3. 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. 4.
    Darte, A., Schreiber, R., Villard, G.: Lattice-based memory allocation. IEEE Transactions on Computers 54(10), 1242–1257 (2005)CrossRefGoogle Scholar
  5. 5.
    Feautrier, P.: Dataflow analysis of array and scalar references. International Journal of Parallel Programming 20(1), 23–53 (1991)CrossRefzbMATHGoogle Scholar
  6. 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)CrossRefGoogle Scholar
  7. 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)CrossRefGoogle Scholar
  8. 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. 9.
    Irisa, C.: The MMAlpha environmentGoogle Scholar
  10. 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. 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)CrossRefGoogle Scholar
  12. 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) CrossRefGoogle Scholar
  13. 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)CrossRefGoogle Scholar
  14. 14.
    Markham, N., Zuker, M.: Software for nucleic acid folding and hybridization. Methods Mol. Biol. 453, 3–31 (2008)CrossRefGoogle Scholar
  15. 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. 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. 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. 18.
    Pathan, T.: RNA Secondary Structure Prediction using AlphaZ. Master’s thesis, Colorado State University, Computer Science Department (August 2010)Google Scholar
  19. 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. 20.
  21. 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)CrossRefGoogle Scholar
  22. 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. 23.
    Quilleré, F., Rajopadhye, S.: Optimizing memory usage in the polyhedral model. ACM Trans. Program. Lang. Syst. 22(5), 773–815 (2000)CrossRefGoogle Scholar
  24. 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. 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)CrossRefGoogle Scholar
  26. 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)CrossRefGoogle Scholar
  27. 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. 28.
    Vasilache, N.: Scalable Program Optimization Technique. The Polyhedral Model. Ph.D. thesis, University of Paris-Sud 11 (2007)Google Scholar
  29. 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)CrossRefGoogle Scholar
  30. 30.
    Wonnacott, D.: Achieving scalable locality with time skewing. International Journal of Parallel Programming 30(3), 181–221 (2002)CrossRefzbMATHGoogle Scholar
  31. 31.
    Yi, Q.: Poet: a scripting language for applying parameterized source-to-source program transformations. Software: Practice and Experience (2011)Google Scholar
  32. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Tomofumi Yuki
    • 1
  • Gautam Gupta
    • 2
  • DaeGon Kim
    • 2
  • Tanveer Pathan
    • 2
  • Sanjay Rajopadhye
    • 1
  1. 1.Colorado State UniversityUSA
  2. 2.CORESPEQ Inc.USA

Personalised recommendations