Title :
Stream programming on general-purpose processors
Author :
Gummaraju, Jayanth ; Rosenblum, Mendel
Author_Institution :
Comput. Syst. Lab., Stanford Univ., CA, USA
Abstract :
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 multithreading, and fast inter-thread communication support, resulting in an executable that efficiently uses CPU resources. We present an evaluation of our mapping on a hyper-threaded 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 microbenchmarks 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.
Keywords :
cache storage; microprocessor chips; multi-threading; program compilers; Intel Pentium 4; asynchronous bulk memory loads; compilation system; computation kernels; general-purpose processors; hyperthreading; inter-thread communication support; mapping stream programs; prefetching; processor caches; simultaneous multithreading; stream programming; streaming architectures; Computer architecture; Graphics; Kernel; Laboratories; Parallel processing; Parallel programming; Prefetching; Program processors; Signal processing; Streaming media; hyper-threading.; prefetching; stream architectures/programming;
Conference_Titel :
Microarchitecture, 2005. MICRO-38. Proceedings. 38th Annual IEEE/ACM International Symposium on
Print_ISBN :
0-7695-2440-0
DOI :
10.1109/MICRO.2005.32