Stream Scheduling

Ujval Kapasi, Peter Mattson, William J. Dally, John D. Owens, and Brian Towles
Stanford University
Computer Systems Laboratory

Concurrent VLSI Architecture Technical Report 122, March 2002.

Also appears in Proceedings of the 3rd Workshop on Media and Streaming Processors, Dec. 2, 2001, Austin, TX, pp. 101-106.

Note: Please reference the CVA Group technical report since it is easier to track down than the workshop proceedings.


Media applications can be cast as a set of computation kernels operating on sequential data streams. This representation exposes the structure of an application to the hardware as well as to the compiler tools. Stream scheduling is a compiler technology that applies knowledge of the high-level structure of a program in order to target stream hardware as well as to perform high-level optimizations on the application. The basic methods used by stream scheduling are discussed in this paper. In addition, results on the Imagine stream processor are presented. These show that stream programs executed using an automated stream scheduler require on average 98% of the execution time that hand-optimized assembly versions of the same programs require.


BibTeX Entry

  author = 	 {Ujval J. Kapasi and Peter Mattson and William J. Dally
                  and John D. Owens and Brian Towles},
  title = 	 {Stream Scheduling},
  institution =  {Stanford University},
  year = 	 {2002},
  type = 	 {Concurrent VLSI Architecture Tech Report},
  number = 	 {122},
  address = 	 {Computer Systems Laboratory},
  month = 	 {March}

Ujval Kapasi