Abstract
Compared with other stream applications, scientific stream programs are usually constrained by memory access. Loop-carried stream reusing means reusing streams across different iterations and it can improve the locality of SRF greatly. In the paper, we present algorisms to recognize loop-carried stream reusing and give the steps to utilize the optimization after analyzing characteristics of scientific computing applications. Then we perform several representative microbenchmarks and scientific stream programs with and without our optimization on Isim. Simulation results show that stream programs optimized by loop-carried stream reusing can improve the performance of memory-bound scientific stream programs greatly.
Chapter PDF
Similar content being viewed by others
References
Wulf, W.A., McKee, S.A.: Hitting the memory wall: implications of the obvious. Computer Architecture News 23(1), 20–24 (1995)
Burger, D., Goodman, J., Kagi, A.: Memory bandwidth limitations of future microprocessors. In: Proceedings of the 23rd International Symposium on Computer Architecture, Philadelphia, PA, pp. 78–89 (1996)
Thies, W., Amarasinghe, S.: Stream Architectures. In: PACT 2002, September 27 (2003)
Merrimac – Stanford Streaming Supercomputer Project, Stanford University, http://merrimac.stanford.edu/
Dally, W.J., Hanrahan, P., et al.: Merrimac: Supercomputing with Streams. In: SC2003, Phoenix, Arizona (November 2003)
Erez, M., Ahn, J.H., et al.: Merrimac - Supercomputing with Streams. In: Proceedings of the 2004 SIGGRAPH GP2 Workshop on General Purpose Computing on Graphics Processors, Los Angeles, California (June 2004)
Guibin, W., Yuhua, T., et al.: Application and Study of Scientific Computing on Stream Processor. In: Advances on Computer Architecture (ACA’06), Chengdu, China (August 2006)
Du, J., Yang, X., et al.: Implementation and Evaluation of Scientific Computing Programs on Imagine. In: Advances on Computer Architecture (ACA’06), Chengdu, China (August 2006)
Rixner, S.: Stream Processor Architecture. Kluwer Academic Publishers, Boston (2001)
Mattson, P.: A Programming System for the Imagine Media Processor. Dept. of Electrical Engineering. Ph.D. thesis, Stanford University (2002)
Johnsson, O., Stenemo, M., ul-Abdin, Z.: Programming & Implementation of Streaming Applications. Master’s thesis, Computer and Electrical Engineering Halmstad University (2005)
Kapasi, U.J., Rixner, S., et al.: Programmable Stream Processor. IEEE Computer (August 2003)
Goff, G., Kennedy, K., Tseng, C.-W.: Practical dependence testing. In: Proceedings of the SIGPLAN ’91 Conference on Programming Language Design and Implementation, ACM, New York (1991)
Chan, T.F., Gallopoulos, E., Simoncini, V., Szeto, T., Tong, C.H.: A Quasi-Minimal Residual Variant Of The Bi-Cgstab Algorithm For Nonsymmetric Systems. SIAM Journal on Scientific Computing (1994)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Zhang, Y., Li, G., Yang, X. (2007). Recognition and Optimization of Loop-Carried Stream Reusing of Scientific Computing Applications on the Stream Processor. In: Shi, Y., van Albada, G.D., Dongarra, J., Sloot, P.M.A. (eds) Computational Science – ICCS 2007. ICCS 2007. Lecture Notes in Computer Science, vol 4487. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-72584-8_63
Download citation
DOI: https://doi.org/10.1007/978-3-540-72584-8_63
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-72583-1
Online ISBN: 978-3-540-72584-8
eBook Packages: Computer ScienceComputer Science (R0)