Skip to main content

TuningGenie: Auto-Tuning Framework Based on Rewriting Rules

  • Conference paper
  • First Online:
Information and Communication Technologies in Education, Research, and Industrial Applications (ICTERI 2014)

Abstract

This paper presents results on development of the auto-tuning framework named TuningGenie aimed at automating adjustment of parallel tasks to target platform. The framework works with source code of parallel software and performs source-to-source transformations by using facilities of a rule-based rewriting system. This approach significantly raises flexibility of proposed solution and enables changing computation structure of a tuned program in a declarative way. The framework’s architecture, lifecycle, offered toolset for optimization, demo examples and results of tuning of a computationally complex task of short-term meteorological forecasting are presented.

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

References

  1. Amdahl, G.M.: Validity of the single processor approach to achieving large-scale computing capabilities. In: AFIPS Conference Proceedings, pp. 483–485. ACM, New York (1967)

    Google Scholar 

  2. Intel® Parallel Compilers. http://software.intel.com/en-us/articles/automatic-parallelization-with-intel-compilers

  3. Oracle® Solaris Studio. http://www.oracle.com/technetwork/server-storage/solarisstudio/overview/index.html

  4. Naono, K., Teranishi, K., Cavazos, J., Suda, R.: Software Automatic Tuning From Concepts to State-of-the-Art Results. Springer, Berlin (2010)

    Book  Google Scholar 

  5. TermWare Framework. http://www.gradsoft.ua/products/termware_end.html

  6. Doroshenko, A., Shevchenko, R.: A rewriting framework for rule-based programming dynamic applications. Fundamenta Informaticae 72(1), 95–108 (2006)

    MATH  Google Scholar 

  7. Eppstein, D., Galil, Z.: Parallel algorithmic techniques for combinatorial computation. Ann. Rev. Comput. Sci 3, 233–283 (1988)

    Article  MathSciNet  Google Scholar 

  8. Sedgewick, R., Wayne, K.: Algorithms, 4th edn. Addison-Wesley Professional, Boston (2011)

    Google Scholar 

  9. Prokop, H.: Cache-oblivious algorithms. In: Proceedings of 40th Annual Symposium on Foundations of Computer Science (FOCS ‘99), pp. 285–299. IEEE Press, New York (1999)

    Google Scholar 

  10. Andon, F.I., Tseitlin, G.E., Yatsenko, E.A.: Algebraic-Algorithmic Models and Methods of Parallel Programming. Akademperiodika, Kyiv (2007). (in Russian)

    Google Scholar 

  11. Ma, W., Krishnamoorthy, S., Agrawal, G.: Parameterized micro-benchmarking: an auto-tuning approach for complex applications. In: Proceedings of 9th Conference on Computing Frontiers, pp. 213–222. ACM, New York (2012)

    Google Scholar 

  12. TermWare Tutorial. http://www.gradsoft.ua/rus/Products/termware/docs/tutorial_eng.html

  13. Prusov, V.A., Doroshenko, A.E., Chernysh, R.I., Guk, L.N.: Theoretical study of a numerical method to solve a diffusion-convection problem. Cybern. Syst. Anal. 44(2), 283–291 (2008)

    Article  MATH  MathSciNet  Google Scholar 

  14. Prusov, V.A., Doroshenko, A.E., Chernysh, R.I.: A method for numerical solution of a multidimensional convection-diffusion problem. Cybern. Syst. Anal. 45(1), 89–95 (2009)

    Article  MATH  MathSciNet  Google Scholar 

  15. Belov, P.N., Borisenkov, E.P., Panin, B.D.: Numerical Methods of Weather Prediction. Gidrometeoizdat, Leningrad (1989). (in Russian)

    Google Scholar 

  16. Database of Regional Meteorological Center Offenbach. ftp://ftp-outgoing.dwd.de

  17. Karcher, T., Schaefer, C., Pankratius, V.: Auto-tuning support for manycore applications - perspectives for operating systems and compilers. Technical report, University of Karlsruhe, Karlsruhe, Germany (2009)

    Google Scholar 

  18. Whaley, R., Petitet, A., Dongarra, J.J.: Automated empirical optimizations of software and the ATLAS project. Parallel Comput. 27(1–2), 3–35 (2001)

    Article  MATH  Google Scholar 

  19. Frigo, M., Johnson, S.: FFTW: an adaptive software architecture for the FF. Acoust. Speech Signal Process. 3, 1381–1384 (1998)

    Google Scholar 

  20. Irigoin, F., Jouvelot, P., Triolet, R.: Semantical interprocedural parallelization: an overview of the PIPS project. In: 5th International Conference on Supercomputing, pp. 244–251. ACM, New York (1991)

    Google Scholar 

  21. Katagiri, T., Kise, K., Honda, H., Yuba, T.: ABCLibScript: a directive to support specification of an auto-tuning facility for numerical software. J. Parallel Comput. 32(1), 92–112 (2006)

    Article  Google Scholar 

  22. Schaefer, C.A., Pankratius, V., Tichy, W.F.: Atune-IL: an instrumentation language for auto-tuning parallel applications. In: Sips, H., Epema, D., Lin, H.-X. (eds.) Euro-Par 2009. LNCS, vol. 5704, pp. 9–20. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  23. Parr, T.: A Functional language for generating structured text, May 2004

    Google Scholar 

  24. Parr, T.: The StringTemplate Homepage. http://www.stringtemplate.org/

  25. Wirth, N.: Algorithms + Data Structures = Programs. Prentice Hall PTR, Upper Saddle River (1978)

    Google Scholar 

  26. Apache Ivy. http://ant.apache.org/ivy/

  27. Apache Maven. http://maven.apache.org/

  28. Apache Buildr. http://buildr.apache.org/

  29. Kennedy, K., Allen, J.R.: Optimizing Compilers for Modern Architectures: a Dependence-based Approach. Morgan Kaufmann, San Francisco (2002)

    Google Scholar 

  30. Blair-Chappell, S., Stokes, A.: Parallel Programming with Intel Parallel Studio XE. Wiley, Hoboken (2012)

    Google Scholar 

  31. Chapman, B., Jost, G., Van Der Pas, R.: Using OpenMP: Portable Shared Memory Parallel Programming. The MIT Press, Cambridge (2007)

    Google Scholar 

  32. Amarasinghe, S.P., Anderson, J.M., Lam, M.S., Tseng, C.W.: An overview of the suif compiler for scalable parallel machines. In: PPSC (1995)

    Google Scholar 

  33. Huang, L., Eachempati, D., Hervey, M.W., Chapman, B.: Exploiting global optimizations for OpenMP programs in the OpenUH compiler. SIGPLAN Not. 44(4), 289–290 (2009)

    Article  Google Scholar 

  34. Kusano, K., Satoh, S., Sato, Mitsuhisa: Performance evaluation of the omni openmp compiler. In: Valero, Mateo, Joe, Kazuyuki, Kitsuregawa, Masaru, Tanaka, Hatsukazu (eds.) ISHPC 2000. LNCS, vol. 1940, pp. 403–414. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  35. Tinetti, F.G., Méndez, M.: Fortran legacy software: source code update and possible parallelisation issues. SIGPLAN Fortran Forum 31(1), 5–22 (2012)

    Article  Google Scholar 

  36. Ventroux, N. et al.: SESAM/Par4All: a tool for joint exploration of mpsoc architectures and dynamic dataflow code generation. In: Proceedings of Workshop on Rapid Simulation and Performance Evaluation: Methods and Tools, pp. 9–16. ACM, New York (2012)

    Google Scholar 

  37. Tournavitis, G., Wang, Z., Franke, B., O’Boyle, M.F.P.: Towards a holistic approach to auto-parallelization: integrating profile-driven parallelism detection and machine-learning based mapping. ACM SIGPLAN Not. 44(6), 177–187 (2009)

    Article  Google Scholar 

  38. Oancea, C.E., Rauchwerger, L.: Logical inference techniques for loop parallelization. In: 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 509–520. ACM, New York (2012)

    Google Scholar 

  39. Liao, S.-W. et al.: SUIF Explorer: an interactive and interprocedural parallelizer. In: 7th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 37–48. ACM, New York (1999)

    Google Scholar 

  40. Ishihara, M., Honda, H.: Development and implementation of an interactive parallelization assistance tool for OpenMP: iPat/OMP. IEICE Trans. Inf. Syst. 89(2), 399–407 (2006)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pavlo A. Ivanenko .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Ivanenko, P.A., Doroshenko, A.Y., Zhereb, K.A. (2014). TuningGenie: Auto-Tuning Framework Based on Rewriting Rules. In: Ermolayev, V., Mayr, H., Nikitchenko, M., Spivakovsky, A., Zholtkevych, G. (eds) Information and Communication Technologies in Education, Research, and Industrial Applications. ICTERI 2014. Communications in Computer and Information Science, vol 469. Springer, Cham. https://doi.org/10.1007/978-3-319-13206-8_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-13206-8_7

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-13205-1

  • Online ISBN: 978-3-319-13206-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics