Title
Spill code placement for SIMD machines
Abstract
The Single Instruction, Multiple Data (SIMD) execution model has been receiving renewed attention recently. This awareness stems from the rise of graphics processing units (GPUs) as a powerful alternative for parallel computing. Many compiler optimizations have been recently proposed for this hardware, but register allocation is a field yet to be explored. In this context, this paper describes a register spiller for SIMD machines that capitalizes on the opportunity to share identical data between threads. It provides two different benefits: first, it uses less memory, as more spilled values are shared among threads. Second, it improves the access times to spilled values. We have implemented our proposed allocator in the Ocelot open source compiler, and have been able to speedup the code produced by this framework by 21%. Although we have designed our algorithm on top of a linear scan register allocator, we claim that our ideas can be easily adapted to fit the necessities of other register allocators.
Year
DOI
Venue
2012
10.1007/978-3-642-33182-4_3
SBLP
Keywords
Field
DocType
ocelot open source compiler,register allocation,simd machine,compiler optimizations,spill code placement,single instruction,proposed allocator,register spiller,multiple data,register allocator,register allocators
Shared memory,Register allocation,Computer science,Parallel computing,SIMD,Optimizing compiler,Thread (computing),Compiler,Execution model,Allocator
Conference
Citations 
PageRank 
References 
4
0.45
24
Authors
4
Name
Order
Citations
PageRank
Diogo Nunes Sampaio140.79
Elie Gedeon240.45
Fernando Magno Quintão Pereira321620.03
Sylvain Collange416618.07