Skip to main content

ALONA: Automatic Loop Nest Approximation with Reconstruction and Space Pruning

  • Conference paper
  • First Online:
Euro-Par 2021: Parallel Processing (Euro-Par 2021)

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

Included in the following conference series:

Abstract

Approximate computing comprises a large variety of techniques that trade the accuracy of an application’s output for other metrics such as computing time or energy cost. Many existing approximation techniques focus on loops such as loop perforation, which skips iterations for faster, approximated computation. This paper introduces ALONA, a novel approach for automatic loop nest approximation based on polyhedral compilation. ALONA’s compilation framework applies a sequence of loop approximation transformations, generalizes state-of-the-art perforation techniques, and introduces new multi-dimensional approximation schemes. The framework includes a reconstruction technique that significantly improves the accuracy of the approximations and a transformation space pruning method based on Barvinok’s counting that removes inaccurate approximations. Evaluated on a collection of more than twenty applications from PolyBench/C, ALONA discovers new approximations that are better than state-of-the-art techniques in both approximation accuracy and performance.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 99.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 129.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

Institutional subscriptions

Similar content being viewed by others

References

  1. Bao, W., Krishnamoorthy, S., Pouchet, L.N., Sadayappan, P.: Analytical Modeling of Cache Behavior for Affine Programs. Lang, ACM Program (2017)

    Google Scholar 

  2. Barvinok, A.I.: A polynomial time algorithm for counting integral points in polyhedra when the dimension is fixed. Mathematics of Operations Research (1994)

    Google Scholar 

  3. Baskaran, M.M., Ramanujam, J., Sadayappan, P.: Automatic C-to-CUDA code generation for affine programs. In: Proceedings of CC (2010)

    Google Scholar 

  4. Benabderrahmane, M., Pouchet, L., Cohen, A., Bastoul, C.: The polyhedral model is more widely applicable than you think. In: Proceedings of CC (2010)

    Google Scholar 

  5. Bondhugula, U., Acharya, A., Cohen, A.: The pluto+ algorithm: a practical approach for parallelization and locality optimization of affine loop nests. ACM TOPLAS (2016)

    Google Scholar 

  6. Bondhugula, U., Baskaran, M.M., Krishnamoorthy, S., Ramanujam, J., Rountev, A., Sadayappan, P.: Automatic transformations for communication-minimized parallelization and locality optimization in the polyhedral model. In: Proceedings of CC (2008)

    Google Scholar 

  7. Campanoni, S., Holloway, G.H., Wei, G., Brooks, D.M.: HELIX-UP: relaxing program semantics to unleash parallelization. In: Proceedings of CGO (2015)

    Google Scholar 

  8. Cherubin, S., Cattaneo, D., Chiari, M., Agosta, G.: Dynamic Precision Autotuning with TAFFO. TACO (2020)

    Google Scholar 

  9. Cosenza, B., Durillo, J.J., Ermon, S., Juurlink, B.: Autotuning stencil computations with structural ordinal regression learning. In: Proceedings of IPDPS (2017)

    Google Scholar 

  10. Deiana, E.A., St-Amour, V., Dinda, P.A., Hardavellas, N., Campanoni, S.: Unconventional Parallelization of Nondeterministic Applications. SIGPLAN Not. (2018)

    Google Scholar 

  11. Esmaeilzadeh, H., Sampson, A., Ceze, L., Burger, D.: Architecture support for disciplined approximate programming. In: Proceedings of ASPLOS (2017)

    Google Scholar 

  12. Fernando, V., Franques, A., Abadal, S., Misailovic, S., Torrellas, J.: Replica: a wireless manycore for communication-intensive and approximate data. In: Proceedings of ASPLOS (2019)

    Google Scholar 

  13. Ganser, S., Größlinger, A., Siegmund, N., Apel, S., Lengauer, C.: Speeding up iterative polyhedral schedule optimization with surrogate performance models. TACO (2018)

    Google Scholar 

  14. Grosser, T., Größlinger, A., Lengauer, C.: Polly - Performing Polyhedral Optimizations on a Low-Level Intermediate Representation. Parallel Proc, Letters (2012)

    Google Scholar 

  15. Gysi, T., Grosser, T., Brandner, L., Hoefler, T.: A fast analytical model of fully associative caches. In: Proceedings of PLDI (2019)

    Google Scholar 

  16. Imani, M., Garcia, R., Huang, A., Rosing, T.: CADE: configurable approximate divider for energy efficiency. In: Proceedings of DATE (2019)

    Google Scholar 

  17. Jimborean, A., Clauss, P., Pradelle, B., Mastrangelo, L., Loechner, V.: Adapting the polyhedral model as a framework for efficient speculative parallelization. In: Proceedings of PPoPP (2012)

    Google Scholar 

  18. Khatamifard, S.K., Akturk, I., Karpuzcu, U.R.: On approximate speculative lock elision. IEEE Trans. Multi-Scale Comput. Syst. 4(2) (2018)

    Google Scholar 

  19. Lashgar, A., Atoofian, E., Baniasadi, A.: Loop perforation in OpenACC. In: Proceedings of ISPA (2018)

    Google Scholar 

  20. Li, S., Park, S., Mahlke, S.: Sculptor: Flexible approximation with selective dynamic loop perforation. In: Proceedings of ICS (2018)

    Google Scholar 

  21. Maier, D., Cosenza, B., Juurlink, B.: Local memory-aware kernel perforation. In: Proceedings of CGO (2018)

    Google Scholar 

  22. Mitra, S., Gupta, M.K., Misailovic, S., Bagchi, S.: Phase-aware optimization in approximate computing. In: Proceedings of CGO (2017)

    Google Scholar 

  23. Mittal, S.: A Survey of Techniques for Approximate Computing. ACM Comput. Surv. (2016)

    Google Scholar 

  24. Pouchet, L.N.: Polybench/c 3.2. http://www.cse.ohio-state.edu/~pouchet/software/polybench/

  25. Pouchet, L.N., Bastoul, C., Cohen, A., Cavazos, J.: Iterative Optimization in the Polyhedral Model: Part II. Multidimensional Time, SIGPLAN Not (2008)

    Google Scholar 

  26. Pouchet, L.N., Bastoul, C., Cohen, A., Vasilache, N.: Iterative optimization in the polyhedral model: Part i, one-dimensional time. In: Proceedings of CGO (2007)

    Google Scholar 

  27. Pouchet, L., Bondhugula, U., Bastoul, C., Cohen, A., Ramanujam, J., Sadayappan, P., Vasilache, N.: Loop transformations: convexity, pruning and optimization. In: Proceedings of POPL (2011)

    Google Scholar 

  28. Pouchet, L.N., Bondhugula, U., Bastoul, C., Cohen, A., Ramanujam, R., Sadayappan, P.: Hybrid iterative and model-driven optimization in the polyhedral model (2009)

    Google Scholar 

  29. Rinard, M.: Probabilistic accuracy bounds for fault-tolerant computations that discard tasks. In: Proceedings of ICS (2006)

    Google Scholar 

  30. Samadi, M., Jamshidi, D.A., Lee, J., Mahlke, S.: Paraprox: pattern-based approximation for data parallel applications. In: Proceedings of ASPLOS (2014)

    Google Scholar 

  31. Sampson, A., Dietl, W., Fortuna, E., Gnanapragasam, D., Ceze, L., Grossman, D.: Enerj: approximate data types for safe and general low-power computation. In: Proceedings of PLDI (2011)

    Google Scholar 

  32. Schmitt, M., Helluy, P., Bastoul, C.: Automatic adaptive approximation for stencil computations. In: Proceedings of CC (2019)

    Google Scholar 

  33. Sidiroglou-Douskos, S., Misailovic, S., Hoffmann, H., Rinard, M.: Managing performance vs. accuracy trade-offs with loop perforation. In: Proceedings of ESEC (2011)

    Google Scholar 

  34. Udupa, A., Rajan, K., Thies, W.: ALTER: exploiting breakable dependences for parallelization. In: Proceedings of PLDI (2011)

    Google Scholar 

  35. Venkatagiri, R., Mahmoud, A., Hari, S.K.S., Adve, S.V.: Approxilyzer: Towards a systematic framework for instruction-level approximate computing and its application to hardware resiliency. In: Proceedings of MICRO (2016)

    Google Scholar 

  36. Verdoolaege, S., Carlos Juega, J., Cohen, A., Ignacio Gómez, J., Tenllado, C., Catthoor, F.: Polyhedral parallel code generation for CUDA. ACM TACO (2013)

    Google Scholar 

Download references

Acknowledgement

This research has been partially funded by MIUR PON Ricerca e Innovazione 2014–2020 (grant number AIM1872991-1).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Daniel Maier .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Maier, D., Cosenza, B., Juurlink, B. (2021). ALONA: Automatic Loop Nest Approximation with Reconstruction and Space Pruning. In: Sousa, L., Roma, N., Tomás, P. (eds) Euro-Par 2021: Parallel Processing. Euro-Par 2021. Lecture Notes in Computer Science(), vol 12820. Springer, Cham. https://doi.org/10.1007/978-3-030-85665-6_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-85665-6_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-85664-9

  • Online ISBN: 978-3-030-85665-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics