ACM Home Page
Please provide us with feedback. Feedback
Improved spill code generation for software pipelined loops
Full text PdfPdf (688 KB)
Source Conference on Programming Language Design and Implementation archive
Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation table of contents
Vancouver, British Columbia, Canada
Pages: 134 - 144  
Year of Publication: 2000
ISBN:1-58113-199-2
Also published in ...
Authors
Javier Zalamea  Departament d'Arquitectura de Computadors, Universitat Politècnica de Catalunya, cr. Jordi Girona 1-3, Mòdul D6, Campus Nord, 08034, Barcelona, SPAIN
Josep Llosa  Departament d'Arquitectura de Computadors, Universitat Politècnica de Catalunya, cr. Jordi Girona 1-3, Mòdul D6, Campus Nord, 08034, Barcelona, SPAIN
Eduard Ayguadé  Departament d'Arquitectura de Computadors, Universitat Politècnica de Catalunya, cr. Jordi Girona 1-3, Mòdul D6, Campus Nord, 08034, Barcelona, SPAIN
Mateo Valero  Departament d'Arquitectura de Computadors, Universitat Politècnica de Catalunya, cr. Jordi Girona 1-3, Mòdul D6, Campus Nord, 08034, Barcelona, SPAIN
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 13,   Downloads (12 Months): 35,   Citation Count: 9
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues   peer to peer  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/349299.349319
What is a DOI?

ABSTRACT

Software pipelining is a loop scheduling technique that extracts parallelism out of loops by overlapping the execution of several consecutive iterations. Due to the overlapping of iterations, schedules impose high register requirements during their execution. A schedule is valid if it requires at most the number of registers available in the target architecture. If not, its register requirements have to be reduced either by decreasing the iteration overlapping or by spilling registers to memory. In this paper we describe a set of heuristics to increase the quality of register-constrained modulo schedules. The heuristics decide between the two previous alternatives and define criteria for effectively selecting spilling candidates. The heuristics proposed for reducing the register pressure can be applied to any software pipelining technique. The proposals are evaluated using a register-conscious software pipeliner on a workbench composed of a large set of loops from the Perfect Club benchmark and a set of processor configurations. Proposals in this paper are compared against a previous proposal already described in the literature. For one of these processor configurations and the set of loops that do not fit in the available registers (32), a speed-up of 1.68 and a reduction of the memory traffic by a factor of 0.57 are achieved with an affordable increase in compilation time. For all the loops, this represents a speed-up of 1.38 and a reduction of the memory traffic by a factor of 0.7.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
A. Aiken and A. Nicolau. A realistic resourceconstrained software pipelining algorithm. Advances in Languages and Compilers for Parallel Processing, pages 274-290, 1991.
2
3
 
4
E. Ayguadd, C. Barrado, A. Gonzelez, J. Labarta, J. Llosa, D. L6pez, S. Moreno, D. Padua, F.Reig, Q. Riera, and M. Valero. Ictineo: a tool for instruction level parallelism research. Technical Report UPC-DAC- 96-61, Universitat Politacnica de Catalunya, December 1996.
5
 
6
M. Berry, D. Chen, P. Koss, and D. Kuck. The Perfect Club benchmarks: Effective performance evaluation of supercomputers. Technical Report 827, Center for Supercomputing Research and Development, November 1988.
7
8
9
10
 
11
A. Charlesworth. An approach to scientific array processing: The architectural design of the AP120B/FPS- 164 family. Computer, 14(9):18-27, 1981.
12
 
13
 
14
 
15
C. Eisenbeis, S. Lelait, and B. Marmol. The meeting graph: a new model for loop cyclic register allocation. In Prec. of the Fifth Workshop on Compilers for Parallel Computers (CPC95), pages 503-516, June 1995.
 
16
L. Hendren, G. Gao, E. Altman, and C. Mukerji. Register allocation using cyclic interval graphs: A new approach to an old problem. ACAPS Tech. Memo 33, Advanced Computer Architecture and Program Structures Group, McGill University, 1992.
17
18
 
19
 
20
 
21
 
22
23
 
24
S. Ramakrishnan. Software pipelining in PA-RISC compilers. Hewlett-Packard Journal, pages 39-45, July 1992.
25
26
27
28
29

CITED BY  9
 
 
 

Collaborative Colleagues:
Javier Zalamea: colleagues
Josep Llosa: colleagues
Eduard Ayguadé: colleagues
Mateo Valero: colleagues

Peer to Peer - Readers of this Article have also read: