Heuristics for register-constrained software pipelining
Heuristics for register-constrained software pipelining
复制标题
寄存器受限软件流水线的启发式方法
DOI:
10.1109/micro.1996.566466
复制
发表时间:
1996
期刊:
影响因子:
--
通讯作者:
E. Ayguadé
中科院分区:
文献类型:
--
作者:
J. Llosa;M. Valero;E. Ayguadé
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.