Loop restructuring for data I/O minimization on limited on-chip memory embedded processors

被引:2
作者
Tembe, W
Pande, S
机构
[1] Univ Cincinnati, Dept Elect & Comp Engn & Comp Sci, Cincinnati, OH 45221 USA
[2] Georgia Inst Technol, Coll Comp, Atlanta, GA 30332 USA
基金
美国国家科学基金会;
关键词
loop fusion; limited memory; embedded processors; data locality; program dependence graph;
D O I
10.1109/TC.2002.1039852
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
In this paper, we propose a framework for analyzing the flow of values and their reuse in loop nests to minimize data traffic under the constraints of I limited on-chip memory capacity and dependences. Our analysis first undertakes fusion of possible loop nests intra-procedurally and then performs loop distribution. The analysis discovers the closeness factor of two statements which is a quantitative measure of data traffic saved per unit memory occupied if the statements, were under the same loop nest over the case where they are under different loop nests. We then develop a greedy algorithm which traverses the program dependence graph (PDG) to group statements together under the same loop nest legally to promote maximal reuse per unit of memory occupied. We implemented our framework in Petit [4], a tool for dependence analysis and loop transformations. We compared our method with one based on tiling of fused loop nest and one based on a greedy strategy to purely maximize reuse. We show that our methods work better than both of these strategies in most cases for processors such as TMS320Cxx, which have a very limited amount of on-chip memory. The improvements in data I/O range from 10 to 30 percent over tiling and from 10 to 40 percent over maximal reuse for JPEG loops.
引用
收藏
页码:1269 / 1280
页数:12
相关论文
共 24 条
[1]  
BANERJEE U, 1994, LOOP TRANSFORMATIONS
[2]  
COOPER K, 1998, P 8 INT C ARCH SUPP
[3]  
DUSTERWALD E, 1993, P ACM PROGR LANG DES, P68
[4]   DSP processors hit the mainstream [J].
Eyre, J ;
Bier, J .
COMPUTER, 1998, 31 (08) :51-+
[5]   THE PROGRAM DEPENDENCE GRAPH AND ITS USE IN OPTIMIZATION [J].
FERRANTE, J ;
OTTENSTEIN, KJ ;
WARREN, JD .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1987, 9 (03) :319-349
[6]  
GAO G, 1992, P LANG COMP PAR COMP
[7]  
GUPTA R, 1996, INT J PARALLEL COMPU, V24, P481
[8]  
IRIGOIN F, 1988, P 15 ANN ACM S PRINC, P319
[9]  
KENNEDY K, 1993, P LANG COMP PAR COMP
[10]  
KENNEDY K, 2000, P INT C SUP