TY - GEN
T1 - Stream compaction for deferred shading
AU - Hoberock, Jared
AU - Lu, Victor
AU - Jia, Yuntao
AU - Hart, John C.
PY - 2009
Y1 - 2009
N2 - The GPU leverages SIMD efficiency when shading because it rasterizes a triangle at a time, running the same shader on all of its fragments. Ray tracing sacrifices this shader coherence, and the result is that SIMD units often must run different shaders simultaneously resulting in serialization. We study this problem and define a new measure called heterogeneous efficiency to measure SIMD divergence among multiple shaders of different complexities in a ray tracing application. We devise seven different algorithms for scheduling shaders onto SIMD processors to avoid divergence. In all but simply shaded scenes, we show the expense of sorting shaders pays off with better overall shading performance.
AB - The GPU leverages SIMD efficiency when shading because it rasterizes a triangle at a time, running the same shader on all of its fragments. Ray tracing sacrifices this shader coherence, and the result is that SIMD units often must run different shaders simultaneously resulting in serialization. We study this problem and define a new measure called heterogeneous efficiency to measure SIMD divergence among multiple shaders of different complexities in a ray tracing application. We devise seven different algorithms for scheduling shaders onto SIMD processors to avoid divergence. In all but simply shaded scenes, we show the expense of sorting shaders pays off with better overall shading performance.
UR - http://www.scopus.com/inward/record.url?scp=70450189090&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=70450189090&partnerID=8YFLogxK
U2 - 10.1145/1572769.1572797
DO - 10.1145/1572769.1572797
M3 - Conference contribution
AN - SCOPUS:70450189090
SN - 9781605586038
T3 - Proceedings of the HPG 2009: Conference on High-Performance Graphics 2009
SP - 173
EP - 180
BT - Proceedings of the HPG 2009
T2 - HPG 2009: Conference on High-Performance Graphics 2009
Y2 - 1 August 2009 through 3 August 2009
ER -