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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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.
T. Bäck. Evolutionary Algorithms in Theory and Practice. Oxford University Press, Oxford, 1996.
M. Bister, Y. Taeymans and J. Cornelis. “Automatic Segmentation of Cardiac MR Images.” IEEE Journal on Computers in Cardiology, 1989.
R. Drechsler. Evolutionary Algorithms for VLSI CAD. Kluwer Academic Publishers, Boston, 1998.
H. Falk. Control Flow Optimization by Loop Nest Splitting at the Source Code Level. Research Report 773, University of Dortmund, Germany, 2002.
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.
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.
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.
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.
M. Kandemir, N. Vijaykrishnan et al. “Influence of Compiler Optimizations on System Power.” In Design Automation Conference (DAC), Los Angeles, 2000.
H. S. Kim, M. J. Irwin et al. “Effect of Compiler Optimizations on Memory Energy.” In Signal Processing Systems (SIPS). Lafayette, 2000.
R. Leupers. Code Optimization Techniques for Embedded Processors-Methods, Algorithms and Tools. Kluwer Academic Publishers, Boston, 2000.
R. Leupers and F. David. “A Uniform Optimization Technique for Offset Assignment Problems.” In International Symposium on System Synthesis (ISSS), Hsinchu, 1998.
D. Levine. Users Guide to the PGAPack Parallel Genetic Algorithm Library. Technical Report ANL-95/18, Argonne National Laboratory, 1996.
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.
M. Lorenz, R. Leupers et al. “Low-Energy DSP Code Generation Using a Genetic Algorithm.” In International Conference on Computer Design (ICCD), Austin, 2001.
T. S. Motzkin, H. Raiffa et al. “The Double Description Method.” Theodore S. Motzkin: Selected Papers, 1953.
S. S. Muchnick. “Optimizing Compilers for SPARC.” SunTechnology, Vol. 1, p. 3. 1988.
S. S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann, San Francisco, 1997.
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.
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.
P. Strobach. “A New Technique in Scene Adaptive Coding.” In European Signal Processing Conference (EUSIPCO), Grenoble, 1988.
D. K. Wilde. A Library for doing polyhedral Operations. Technical Report 785, IRISA Rennes, France, 1993.
R. Wilson, R. French et al. An Overview of the SUIF Compiler System. http://suif.stanford.edu/suif/suif1, 1995.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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