2008 International Conference on Parallel Architectures and Compilation Techniques (PACT) (2008)
Toronto, ON, Canada
Oct. 25, 2008 to Oct. 29, 2008
DOI Bookmark: http://doi.ieeecomputersociety.org/
Xuejun Yang , School of Computer, National University of Defence Technology, ChangSha, China
Ying Zhang , School of Computer, National University of Defence Technology, ChangSha, China
Jingling Xue , The University of New South Wales, Sydney, Australia
Ian Rogers , The University of Manchester, UK
Gen Li , School of Computer, National University of Defence Technology, ChangSha, China
Guibin Wang , School of Computer, National University of Defence Technology, ChangSha, China
The memory access limits the performance of stream processors. By exploiting the reuse of data held in the Stream Register File (SRF), an on-chip storage, the number of memory accesses can be reduced. In current stream compilers reuse is only attempted for simple stream references, those whose start and end are known. Compiler analysis from outside of stream processors does not directly enable the consideration of other complex stream references. In this paper we propose a transformation to automatically optimize stream programs to exploit the reuse supplied by loop-dependent stream references. The transformation is based on three results: algorithms to recognize the reuse supplied by stream references, a new abstract expression called the Stream Reuse Graph (SRG) to depict the reuse and the optimization of the SRG for the transformation. Both the reuse between whole sequences accessed by stream references and that between partial sequences are exploited in the paper. In particular, the problem of exploiting partial stream reuse does not have its parallel in the traditional data reuse exploitation setting (for scalars and arrays). Finally, we have implemented our techniques using the StreamC/KernelC compiler for Imagine. Experimental results show a resultant speedup of 1.14 to 2.54 times using a range of typical stream processing application kernels.
Streaming media, Program processors, Kernel, Programming, Generators, System-on-chip, Computer architecture
X. Yang, Y. Zhang, J. Xue, I. Rogers, G. Li and G. Wang, "Exploiting loop-dependent Stream Reuse for stream processors," 2008 International Conference on Parallel Architectures and Compilation Techniques (PACT), Toronto, ON, Canada, 2008, pp. 22-31.