DocumentCode
1572839
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
fYear
1996
Firstpage
250
Lastpage
261
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;
fLanguage
English
Publisher
ieee
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
Type
conf
DOI
10.1109/MICRO.1996.566466
Filename
566466
Link To Document