Title :
Stage scheduling: a technique to reduce the register requirements of a module schedule
Author :
Eichenberger, Alexandre E. ; Davidson, Edward S.
Author_Institution :
Dept. of Electr. Eng. & Comput. Sci., Michigan Univ., Ann Arbor, MI, USA
fDate :
29 Nov-1 Dec 1995
Abstract :
Modulo scheduling is an efficient technique for exploiting instruction level parallelism in a variety of loops, resulting in high performance code but increased register requirements. We present a set of low computational complexity stage-scheduling heuristics that reduce the register requirements of a given modulo schedule by shifting operations by multiples of II cycles. Measurements on a benchmark suite of 1289 loops from the Perfect Club, SPEC-89, and the Livermore Fortran Kernels shows that our best heuristic achieves on overage 99% of the decrease in register requirements obtained by an optimal stage scheduler
Keywords :
computational complexity; operating system kernels; processor scheduling; resource allocation; Livermore Fortran Kernels; Perfect Club; SPEC-89; computational complexity; high performance code; instruction level parallelism; module schedule; modulo scheduling; optimal stage scheduler; register requirements; stage scheduling; Computational complexity; Computer architecture; Kernel; Laboratories; Parallel processing; Pipeline processing; Processor scheduling; Registers; Throughput; VLIW;
Conference_Titel :
Microarchitecture, 1995., Proceedings of the 28th Annual International Symposium on
Conference_Location :
Ann Arbor, MI
Print_ISBN :
0-8186-7349-4
DOI :
10.1109/MICRO.1995.476843