Date: |
January 19th, 2005 |
Location: |
DC 2303 |
Time: |
2:30 PM |
|
|
Date: |
January 26th |
February 2nd |
February 9th |
February 16th |
Location: |
DC1304 |
DC1304 |
DC1304 |
DC1304 |
Chair: |
|
|
|
|
Technical |
|
|
|
|
Michael McCool
Title: Compilation of Control Flow to GPUs Using Predicated Passes
Abstract: A general-purpose language for programming GPUs should support true data-dependent control flow even if the underlying shader execution model does not support it. Such control flow should be implemented in such a way that computation is actually avoided. At the same time, execution should efficiently use SIMD parallel computational units even if different conditional branches are taken for different elements of a stream or array. Modern GPUs support occlusion culling, in which an early depth test is used under certain conditions to avoid wasted fragment shader computations. True predicated execution of fragment shaders can be supported by exploiting this property. We demonstrate how to map iteration and conditional execution onto a schedule of passes using predicated execution of nodes in a control flow graph.