Proceedings. 13th International Conference on Parallel Architecture and Compilation Techniques, 2004. PACT 2004. (2004)
Antibes Juan-les-Pins, France
Sept. 29, 2004 to Oct. 3, 2004
Francois Labonte , Stanford University
Peter Mattson , Reservoir Labs
William Thies , MIT
Ian Buck , Stanford University
Christos Kozyrakis , Stanford University
Mark Horowitz , Stanford University
Stream programming is currently being pushed as a way to expose concurrency and separate communication from computation. Since there are many stream languages and potential stream execution engines, this paper proposes an abstract machine model that captures the essential characteristics of stream architectures, the Stream Virtual Machine (SVM). The goal of the SVM is to improve interoperability, allow developpment of common compilation tools and reason about stream program performance. The SVM contains control processors, slave kernel processors, and slave DMA units. Is is presented along with the compilation process that takes a stream program down to the SVM and finally down to machine binary. To extract the parameters for our SVM model, we use micro-kernels to characterize two graphics processors and a stream engine, Imagine. The results are encouraging; the model estimates the performance of the target machines with high accuracy.
I. Buck, C. Kozyrakis, W. Thies, P. Mattson, F. Labonte and M. Horowitz, "The Stream Virtual Machine," Proceedings. 13th International Conference on Parallel Architecture and Compilation Techniques, 2004. PACT 2004.(PACT), Antibes Juan-les-Pins, France, 2004, pp. 267-277.