AZP: Automatic Specialization for Zero Values in Gaming Applications
Mark W. Stephenson, Ram Rangan

TL;DR
AZP is an automatic compiler technique that optimizes gaming shader programs by specializing code paths for zero operand values, resulting in significant speedups and improved frame rates.
Contribution
AZP introduces an automated approach to perform profile-guided code specialization for zero values in gaming shaders, replacing manual transformations.
Findings
Achieves an average of 16.4% speedup in shader programs.
Results in a 3.5% average frame-rate increase across gaming applications.
Demonstrates effectiveness on NVIDIA RTX 2080 GPU.
Abstract
Recent research has shown that dynamic zeros in shader programs of gaming applications can be effectively leveraged with a profile-guided, code-versioning transform. This transform duplicates code, specializes one path assuming certain key program operands, called versioning variables, are zero, and leaves the other path unspecialized. Dynamically, depending on the versioning variable's value, either the specialized fast path or the default slow path will execute. Prior work applied this transform manually and showed promising gains on gaming applications. In this paper, we present AZP, an automatic compiler approach to perform the above code-versioning transform. Our framework automatically determines which versioning variables or combinations of them are profitable, and determines the code region to duplicate and specialize (called the versioning scope). AZP takes operand zero value…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Artificial Intelligence in Games · Data Visualization and Analytics
