Title
Heuristics for register-constrained software pipelining
Abstract
Software Pipelining is a loop scheduling technique that extracts parallelism from loops by overlapping the execution of several consecutive iterations. There has been a significant effort to produce throughput-optimal schedules under resource constraints, and more recently to produce throughput-optimal schedules with minimum register requirements. Unfortunately even a throughput-optimal schedule with minimum register requirements is useless if it requires more registers than those available in the target machine. This paper evaluates several techniques for producing register-constrained modulo schedules: increasing the initiation interval (II) and adding spill code. We show that, in general, increasing the II performs poorly and might not converge for some loops. The paper also presents an iterative spilling mechanism that can be applied to any software pipelining technique and proposes several heuristics in order to speed-up the scheduling process.
Year
DOI
Venue
1996
10.1109/MICRO.1996.566466
MICRO
Keywords
Field
DocType
extracts parallelism,loop scheduling technique,minimum register requirement,initiation interval,iterative spilling mechanism,software pipelining,register-constrained modulo schedule,throughput-optimal schedule,consecutive iteration,register-constrained software pipelining,scheduling process,registers,production,parallel processing,scheduling algorithm,scheduling,concurrent computing,parallel programming
Trace driven simulation,Software pipelining,Computer science,Modulo,Scheduling (computing),Parallel computing,Real-time computing,Heuristics,Schedule,Loop scheduling
Conference
ISBN
Citations 
PageRank 
0-8186-7641-8
25
1.15
References 
Authors
21
3
Name
Order
Citations
PageRank
Josep Llosa157439.30
Mateo Valero24520355.94
Eduard Ayguadé32406216.00