Predicting the impact of optimizations for embedded systems

被引:23
作者
Zhao, M [1 ]
Childers, B [1 ]
Soffa, ML [1 ]
机构
[1] Univ Pittsburgh, Dept Comp Sci, Pittsburgh, PA 15260 USA
关键词
design; experimentation; performance; embedded systems; optimizing compilers; loop optimizations; prediction; code models; resource models; optimization models;
D O I
10.1145/780731.780734
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
When applying optimizations, a number of decisions are made using fixed strategies, such as always applying an optimization if it is applicable, applying optimizations in a fixed order and assuming a fixed configuration for optimizations such as tile size and loop unrolling factor. While it is widely recognized that these fixed strategies may not be the most appropriate for producing high quality code, especially for embedded systems, there are no general and automatic strategies that do otherwise. In this paper, we present a framework that enables these decisions to be made based on predicting the impact of an optimization, taking into account resources and code context. The framework consists of optimization models, code models and resource models, which are integrated for predicting the impact of applying optimizations. Because data cache performance is important to embedded codes, we focus on cache performance and present an instance of the framework for cache performance in this paper. Since most opportunities for cache improvement come from loop optimizations, we describe code, optimization and cache models tailored to predict the impact of applying loop optimizations for data locality. Experimentally we demonstrate the need to selectively apply optimizations and show the performance benefit of our framework in predicting when to apply an optimization. We also show that our framework can be used to choose the most beneficial optimization when a number of optimizations can be applied to a loop nest. And lastly, we show that we can use the framework to combine optimizations on a loop nest.
引用
收藏
页码:1 / 11
页数:11
相关论文
共 24 条
[1]   COMPILER TRANSFORMATIONS FOR HIGH-PERFORMANCE COMPUTING [J].
BACON, DF ;
GRAHAM, SL ;
SHARP, OJ .
ACM COMPUTING SURVEYS, 1994, 26 (04) :345-420
[2]  
BERRY M, 1988, INT J SUPERCOMPUTER
[3]  
BURGER DC, 1997, 1342 UW
[4]  
CHANDRAMOULI B, 2001, INT C PAR ARCH COMP
[5]  
CLICK C, 1995, ACM T PROGRAMMING LA
[6]  
COOPER K, 2001, P 2001 LACSI S SANT
[7]   Cache Miss Equations: A compiler framework for analyzing and tuning memory behavior [J].
Ghosh, S ;
Martonosi, M ;
Malik, S .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1999, 21 (04) :703-746
[8]  
HU JS, 2002, P LCTES SCOPES JUN
[9]  
KANDEMIR M, 1999, IEEE T COMPUTERS, V48
[10]  
LEE C, 1997, 30 INT S MICR MICR 3