Title :
Heuristics for register-constrained software pipelining
Author :
Llosa, Josep ; Valero, Mateo ; Ayguadé, Eduard
Author_Institution :
Dept. d´´Arquitectura de Computadors, Univ. Politecnica de Catalunya, Barcelona, Spain
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
Keywords :
parallel architectures; pipeline processing; scheduling; initiation interval; iterative spilling mechanism; loop scheduling technique; minimum register requirements; register-constrained; software pipelining; spill code; target machine; Concurrent computing; Contracts; Parallel processing; Pipeline processing; Processor scheduling; Production; Registers; Scheduling algorithm; Software algorithms;
Conference_Titel :
Microarchitecture, 1996. MICRO-29.Proceedings of the 29th Annual IEEE/ACM International Symposium on
Conference_Location :
Paris
Print_ISBN :
0-8186-7641-8
DOI :
10.1109/MICRO.1996.566466