Lossless Compression of Variable-Precision Floating-Point Buffers on GPUs
University of North Carolina
ACM SIGGRAPH Symposium on Iterative 3D Graphics and Games (I3D’12), 2012
@article{pool2012lossless,
title={Lossless Compression of Variable-Precision Floating-Point Buffers on GPUs},
author={Pool, Jeff and Lastra, Anselmo and Singh, Montek},
year={2012}
}
In this work, we explore the lossless compression of 32-bit floating-point buffers on graphics hardware. We first adapt a state-of-the-art 16-bit floating-point color and depth buffer compression scheme for operation on 32-bit data and propose two specific enhancements: dynamic bucket selection and a Fibonacci encoder. Next, we describe a unified codec for any type of floating-point buffer: color, depth, geometry, and GPGPU data. We also propose a method to further compress variable-precision data. Finally, we test our techniques on color, depth, and geometry buffers from existing applications. Using our enhancements to an existing technique, we have improved bandwidth savings by an average of 1.26x. Our unified codec achieved average bandwidth savings of 1.5x, 7.9x, and 2.9x for color (including buffers incompressible by past work), depth, and geometry buffers. Even higher savings were achieved when combined with our variable-precision technique, though specific ratios will depend on the tolerance of the application to reducing its precision.
January 6, 2012 by hgpu