Sciweavers

IEEEPACT
2006
IEEE

Compiling for stream processing

14 years 6 months ago
Compiling for stream processing
This paper describes a compiler for stream programs that efficiently schedules computational kernels and stream memory operations, and allocates on-chip storage. Our compiler uses information about the program structure and estimates of kernel and memory operation execution times to overlap kernel execution with memory transfers, maximizing performance, and to optimize use of scarce on-chip memory, significantly reducing external memory bandwidth. Our compiler applies optimizations such as strip-mining, loop unrolling, and software pipelining, at the level of kernels and stream memory operations. We evaluate the performance of our compiler on a suite of media and scientific benchmarks. Our results show that compiler management of on-chip storage reduces external memory bandwidth by 35% to 93% and reduces execution time by 23% to 72% compared to cachelike LRU management of the same storage. We show that strip-mining stream applications enables producer-consumer locality to be captured...
Abhishek Das, William J. Dally, Peter R. Mattson
Added 11 Jun 2010
Updated 11 Jun 2010
Type Conference
Year 2006
Where IEEEPACT
Authors Abhishek Das, William J. Dally, Peter R. Mattson
Comments (0)