Using a Compressed Format for Floating-Point Data as a Data Type to Create Adaptive-Precision Compressed Arrays
Alyson Fox | 21-FS-028
The performance of many high performance computing (HPC) applications is now dictated by how data is handled for both movement and storage. Without changing the underlying data format, e.g., mixed-precision methods, applications can only reduce the latency costs by, for example, reducing the number of messages or changing the communication topology. Mixed-precision methods are an obvious way to reduce latency and bandwidth concerns; however, they are restricted to a finite set of precisions. On the other hand, ZFP, a compressed format for floating-point data, can be used as a data-type and offers a granularity of one-bit or less of precision control. ZFP compresses blocks of values independently using a fixed set of compression modes. An adaptive approach, called adaptive-rate compressed arrays (ARC), allowed further precision flexibility that can vary the storage size spatially to reduce data movement while satisfying user-specified precision requirements. In this project, we generalized ARC further by creating a rate-distortion optimization mode for ARC that optimizes the accuracy with a set bit budget to create a new compressed representation called adaptive-precision compressed (APC) arrays. These arrays optimized the precision in each region with the constraint of a fixed number of bits for the entire data field.
As a first attempt to build APC arrays, we first created a greedy heuristic that was then optimized by utilizing the smoothness within the data to generate a compressibility measure to predict the desired accuracy for ZFP's fixed-accuracy mode. The greedy heuristic assumes that the error is reduced every time a nonzero negabinary bit is encoded. However, as a consequence of our study, we determined that this assumption is not valid and instead developed a Gray-coded negabinary representation that reduces the compression error bias of the compressed data. We showcased the decrease in the error of APC arrays compared to ZFP's fixed-rate mode for two 3D physics-based data sets and as well as a decrease in error and a savings in the communication cost for a ZFP flexible-precision Multigrid method.
To further accelerate HPC applications, the way data is handled must be addressed. Our work advanced the fundamentals of floating-point handling by allowing additional flexibility in precision. The outcomes of our project showed that Lawrence Livermore National Laboratory (LLNL) projects could utilize APC arrays within HPC applications that could gain the benefits of reduced storage and communication costs. In the future, we expect APC arrays to be useful in not only HPC applications but to any application that is bandwidth and memory bound, e.g., on-edge computing with devices that have limited storage and high bandwidth concerns is continuing to grow.
Publications, Presentations, and Patents
Fox A., Lindstrom P., Osei-Kuffuor D. (2021) "Using ZFP Compression in Multigrid." SIAM LA. Minisymposium: Multiprecision Numerics in Scientific High Performance Computing. 2021.