GAMES GATHERING 2018 KYIV

Compute shaders - optimize your engine using compute

Talk recording: Compute shaders - optimize your engine using compute

Lou Kramer

Hall:
Iron Hall (Mix Track)

What the talk is about

Lou Kramer explains how compute shaders differ from other shader types and how to use them efficiently in an engine. They sit outside the graphics pipeline, so they involve fewer hardware units on the GPU. She shows how work is split into thread groups and wavefronts and spread across compute units. From this come practical rules: keep communication between thread groups to a minimum, use local data share within a group, avoid using too many vector registers because it lowers the number of waves and hurts latency hiding, and avoid divergent control flow. In a texture downsampling example, a single-pass compute solution with a global atomic counter replaces separate pixel shader passes and roughly doubles performance. Useful for graphics programmers optimizing their engine.