Skip to main content

Control Flow Driven Splitting of Loop Nests at the Source Code Level

  • Chapter
Embedded Software for SoC

Abstract

This article presents a novel source code transformation for control flow optimization called loop nest splitting which minimizes the number of executed if-statements in loop nests of embedded multimedia applications. The goal of the optimization is to reduce runtimes and energy consumption. The analysis techniques are based on precise mathematical models combined with genetic algorithms. The application of our implemented algorithms to three real-life multimedia benchmarks using 10 different processors leads to average speed-ups by 23.6%–62.1% and energy savings by 19.6%–57.7%. Furthermore, our optimization also leads to advantageous pipeline and cache performance.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 189.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 249.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 249.99
Price excludes VAT (USA)
  • Durable hardcover 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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. D. F. Bacon, S. L. Graham and O. J. Sharp. “Compiler Transformations for High-Performance Computing.” ACM Computing Surveys, Vol. 26, p. 4, December 1994.

    Google Scholar 

  2. T. Bäck. Evolutionary Algorithms in Theory and Practice. Oxford University Press, Oxford, 1996.

    Google Scholar 

  3. M. Bister, Y. Taeymans and J. Cornelis. “Automatic Segmentation of Cardiac MR Images.” IEEE Journal on Computers in Cardiology, 1989.

    Google Scholar 

  4. R. Drechsler. Evolutionary Algorithms for VLSI CAD. Kluwer Academic Publishers, Boston, 1998.

    Google Scholar 

  5. H. Falk. Control Flow Optimization by Loop Nest Splitting at the Source Code Level. Research Report 773, University of Dortmund, Germany, 2002.

    Google Scholar 

  6. H. Falk and P. Marwedel. “Control Flow driven Splitting of Loop Nests at the Source Code Level.” In Design, Automation and Test in Europe (DATE), Munich, 2003.

    Google Scholar 

  7. H. Falk, C. Ghez, M. Miranda and Rainer Leupers. “High-level Control Flow Transformations for Performance Improvement of Address-Dominated Multimedia Applications.” In Synthesis and System Integration of Mixed Technologies (SAS1MI), Hiroshima, 2003.

    Google Scholar 

  8. S. Gupta, M. Miranda et al. “Analysis of High-level Address Code Transformations for Programmable Processors.” In Design, Automation and Test in Europe (DATE), Paris, 2000.

    Google Scholar 

  9. Y. H. Hu (ed.). Data Transfer and Storage (DTS) Aarchitecture Issues and Exploration in Multimedia Processors, Vol. Programmable Digital Signal Processors-Architecture, Programming and Applications. Marcel Dekker Inc., New York, 2001.

    Google Scholar 

  10. M. Kandemir, N. Vijaykrishnan et al. “Influence of Compiler Optimizations on System Power.” In Design Automation Conference (DAC), Los Angeles, 2000.

    Google Scholar 

  11. H. S. Kim, M. J. Irwin et al. “Effect of Compiler Optimizations on Memory Energy.” In Signal Processing Systems (SIPS). Lafayette, 2000.

    Google Scholar 

  12. R. Leupers. Code Optimization Techniques for Embedded Processors-Methods, Algorithms and Tools. Kluwer Academic Publishers, Boston, 2000.

    Google Scholar 

  13. R. Leupers and F. David. “A Uniform Optimization Technique for Offset Assignment Problems.” In International Symposium on System Synthesis (ISSS), Hsinchu, 1998.

    Google Scholar 

  14. D. Levine. Users Guide to the PGAPack Parallel Genetic Algorithm Library. Technical Report ANL-95/18, Argonne National Laboratory, 1996.

    Google Scholar 

  15. N. Liveris, N. D. Zervas et al. “A Code Transformation-Based Methodology for Improving I-Cache Performance of DSP Applications.” In Design, Automation and Test in Europe (DATE), Paris, 2002.

    Google Scholar 

  16. M. Lorenz, R. Leupers et al. “Low-Energy DSP Code Generation Using a Genetic Algorithm.” In International Conference on Computer Design (ICCD), Austin, 2001.

    Google Scholar 

  17. T. S. Motzkin, H. Raiffa et al. “The Double Description Method.” Theodore S. Motzkin: Selected Papers, 1953.

    Google Scholar 

  18. S. S. Muchnick. “Optimizing Compilers for SPARC.” SunTechnology, Vol. 1, p. 3. 1988.

    Google Scholar 

  19. S. S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann, San Francisco, 1997.

    Google Scholar 

  20. M. R. Stan and W. P. Burleson. “Bus-Invert Coding for Low-Power I/O.” IEEE Transactions on VLSI Systems, Vol. 3, p. 1, 1995.

    Google Scholar 

  21. S. Steinke, M. Knauer, L. Wehmeyer and P. Marwedel. “An Accurate and Fine Grain Instruction-Level Energy Model Supporting Software Optimizations.” In Power and Timing Modeling, Optimization and Simulation (PATMOS), Yverdon-Les-Bains, 2001.

    Google Scholar 

  22. P. Strobach. “A New Technique in Scene Adaptive Coding.” In European Signal Processing Conference (EUSIPCO), Grenoble, 1988.

    Google Scholar 

  23. D. K. Wilde. A Library for doing polyhedral Operations. Technical Report 785, IRISA Rennes, France, 1993.

    Google Scholar 

  24. R. Wilson, R. French et al. An Overview of the SUIF Compiler System. http://suif.stanford.edu/suif/suif1, 1995.

  25. S. Wuytack, F. Catthoor et al. “Power Exploration for Data Dominated Video Applications.” In International Symposium on Low Power Electronics and Design (ISLPED), Monterey, 1996.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Kluwer Academic Publishers

About this chapter

Cite this chapter

Falk, H., Marwedel, P., Catthoor, F. (2003). Control Flow Driven Splitting of Loop Nests at the Source Code Level. In: Jerraya, A.A., Yoo, S., Verkest, D., Wehn, N. (eds) Embedded Software for SoC. Springer, Boston, MA. https://doi.org/10.1007/0-306-48709-8_17

Download citation

  • DOI: https://doi.org/10.1007/0-306-48709-8_17

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4020-7528-5

  • Online ISBN: 978-0-306-48709-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics