Efficient Conditional Operations for Data-parallel Architectures

Ujval Kapasi, William J. Dally, Scott Rixner, Peter R. Mattson, John D. Owens, and Brucek Khailany
Stanford University
Computer Systems Laboratory

Appears in the Proceedings of the 33rd Annual International Symposium on Microarchitecture, Dec. 10-13, 2000, Monterey, CA, pp. 159-170.


Many data-parallel applications, including emerging media applications, have regular structures that can easily be expressed as a series of arithmetic kernels operating on data streams. Data-parallel architectures are designed to exploit this regularity by performing the same operation on many data elements concurrently. However, applications containing data-dependent control constructs perform poorly on these architectures. Conditional streams convert these constructs into data-dependent data movement. This allows data-parallel architectures to efficiently execute applications with data-dependent control flow. Essentially, conditional streams extend the range of applications that a data-parallel architecture can execute efficiently. For example, polygon rendering speeds up by a factor of 1.8 with the use of conditional streams.


Ujval Kapasi