38th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'05) Stream Programming on General-Purpose Processors Barcelona, Spain November 12-November 16 ISBN: 0-7695-2440-0
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MICRO.2005.32
In this paper we investigate mapping stream programs (i.e., programs written in a streaming style for streaming architectures such as Imagine and Raw) onto a general-purpose CPU. We develop and explore a novel way of mapping these programs onto the CPU. We show how the salient features of stream programming such as computation kernels, local memories, and asynchronous bulk memory loads and stores can be easily mapped by a simple compilation system to CPU features such as the processor caches, simultaneous multi-threading, and fast inter-thread communication support, resulting in an executable that efficiently uses CPU resources. We present an evaluation of our mapping on a hyperthreaded Intel Pentium 4 CPU as a canonical example of a general-purpose processor. We compare the mapped stream program against the same program coded in a more conventional style for the general-purpose processor. Using both micro-benchmarks and scientific applications we show that programs written in a streaming style can run comparably to equivalent programs written in a traditional style. Our results show that coding programs in a streaming style can improve performance on today?s machines and smooth the way for significant performance improvements with the deployment of streaming architectures.
Index Terms:
stream architectures/programming, prefetching, hyper-threading.
Citation:
Jayanth Gummaraju, Mendel Rosenblum, "Stream Programming on General-Purpose Processors," micro, pp.343-354, 38th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'05), 2005 Usage of this product signifies your acceptance of the Terms of Use. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||