AZP: Automatic Specialization for Zero Values in Gaming Applications

11/20/2020
by   Mark W. Stephenson, et al.
0

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 probabilities as input and it then uses classical techniques such as constant folding and dead-code elimination to determine the most profitable versioning variables and their versioning scopes. This information is then used to affect the final transform in a straightforward manner. We demonstrate that AZP is able to achieve an average speedup of 16.4 amounting to an average frame-rate speedup of 3.5 modern gaming applications on an NVIDIA GeForce RTX 2080 GPU GPU.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/11/2021

A Deep Learning Based Cost Model for Automatic Code Optimization

Enabling compilers to automatically optimize code has been a longstandin...
research
10/05/2020

Sampling Optimized Code for Type Feedback

To efficiently execute dynamically typed languages, many language implem...
research
12/24/2021

Profile Guided Optimization without Profiles: A Machine Learning Approach

Profile guided optimization is an effective technique for improving the ...
research
11/23/2021

Generating GPU Compiler Heuristics using Reinforcement Learning

GPU compilers are complex software programs with many optimizations spec...
research
08/29/2023

Compiler Discovered Dynamic Scheduling of Irregular Code in High-Level Synthesis

Dynamically scheduled high-level synthesis (HLS) achieves higher through...
research
06/08/2022

Progress Report: A Deep Learning Guided Exploration of Affine Unimodular Loop Transformations

In this paper, we present a work in progress about a deep learning based...
research
07/22/2022

Fast, feature-rich weakly-compressible SPH on GPU: coding strategies and compiler choices

GPUSPH was the first implementation of the weakly-compressible Smoothed ...

Please sign up or login with your details

Forgot password? Click here to reset