DocumentCode :
2746308
Title :
Code generation for single-dimension software pipelining of multi-dimensional loops
Author :
Rong, H. ; Douillet, A. ; Govindarajan, R. ; Gao, Guang R.
Author_Institution :
Dept. of Electr. & Comput. Eng., Delaware Univ., Newark, DE, USA
fYear :
2004
fDate :
20-24 March 2004
Firstpage :
175
Lastpage :
186
Abstract :
Traditionally, software pipelining is applied either to the innermost loop of a given loop nest or from the innermost loop to the outer loops. We proposed a scheduling method, called single-dimension software pipelining (SSP), to software pipeline a multidimensional loop nest at an arbitrary loop level. We describe our solution to SSP code generation. In contrast to traditional software pipelining, SSP handles two distinct repetitive patterns, and thus requires new code generation algorithms. Further, these two distinct repetitive patterns complicate register assignment and require two levels of register renaming. As rotating registers support renaming at only one level, our solution is based on a combination of dynamic register renaming (using rotating registers) and static register renaming (using code replication). Finally, code size increase, an even more important issue for SSP than for traditional software-pipelining, is also addressed. Optimizations are proposed to reduce code size without significant performance degradation. We first present a code generation scheme and subsequently implement it for the IA-64 architecture, making effective use of rotating registers and predicated execution. We present some initial experimental results, which demonstrate not only the feasibility and correctness of our code generation scheme, but also its code quality.
Keywords :
parallel programming; pipeline processing; program compilers; program control structures; IA-64 architecture; code generation; code optimization; code quality; code replication; dynamic register renaming; multidimensional loops; nested loops; register assignment; single-dimension software pipelining; static register renaming; Automation; Computer science; Degradation; Kernel; Parallel processing; Pipeline processing; Processor scheduling; Software algorithms; Space power stations; Supercomputers;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Code Generation and Optimization, 2004. CGO 2004. International Symposium on
Print_ISBN :
0-7695-2102-9
Type :
conf
DOI :
10.1109/CGO.2004.1281673
Filename :
1281673
Link To Document :
بازگشت