Table of Contents
Fetching ...

Stability Analysis of Inline ZFP Compression for Floating-Point Data in Iterative Methods

Alyson Fox, James Diffenderfer, Jeffrey Hittinger, Geoffrey Sanders, Peter Lindstrom

TL;DR

The paper addresses the stability of inline lossy ZFP compression for floating-point data in iterative and time-stepping methods. By extending single-use error bounds to repeated application of an advancement operator, it derives forward and backward error analyses for Lipschitz and Kreiss bounded operators and shows how to select the fixed-precision parameter $\\beta$ to keep ZFP-induced errors below traditional floating-point errors. Theoretical bounds are validated through 1D, 2D, and 3D diffusion, advection, and Poisson tests, demonstrating that compression can reduce bandwidth without destabilizing solvers when parameters are chosen appropriately. This work offers a principled framework for using ZFP inline in HPC simulations, with practical criteria for balancing compression, accuracy, and convergence in iterative schemes.

Abstract

Currently, the dominating constraint in many high performance computing applications is data capacity and bandwidth, in both inter-node communications and even more-so in on-node data motion. A new approach to address this limitation is to make use of data compression in the form of a compressed data array. Storing data in a compressed data array and converting to standard IEEE-754 types as needed during a computation can reduce the pressure on bandwidth and storage. However, repeated conversions (lossy compression and decompression) introduce additional approximation errors, which need to be shown to not significantly affect the simulation results. We extend recent work [J. Diffenderfer, et al., Error Analysis of ZFP Compression for Floating-Point Data, SIAM Journal on Scientific Computing, 2019] that analyzed the error of a single use of compression and decompression of the ZFP compressed data array representation [P. Lindstrom, Fixed-rate compressed floating-point arrays, IEEE Transactions on Visualization and Computer Graphics, 2014] to the case of time-stepping and iterative schemes, where an advancement operator is repeatedly applied in addition to the conversions. We show that the accumulated error for iterative methods involving fixed-point and time evolving iterations is bounded under standard constraints. An upper bound is established on the number of additional iterations required for the convergence of stationary fixed-point iterations. An additional analysis of traditional forward and backward error of stationary iterative methods using ZFP compressed arrays is also presented. The results of several 1D, 2D, and 3D test problems are provided to demonstrate the correctness of the theoretical bounds.

Stability Analysis of Inline ZFP Compression for Floating-Point Data in Iterative Methods

TL;DR

The paper addresses the stability of inline lossy ZFP compression for floating-point data in iterative and time-stepping methods. By extending single-use error bounds to repeated application of an advancement operator, it derives forward and backward error analyses for Lipschitz and Kreiss bounded operators and shows how to select the fixed-precision parameter to keep ZFP-induced errors below traditional floating-point errors. Theoretical bounds are validated through 1D, 2D, and 3D diffusion, advection, and Poisson tests, demonstrating that compression can reduce bandwidth without destabilizing solvers when parameters are chosen appropriately. This work offers a principled framework for using ZFP inline in HPC simulations, with practical criteria for balancing compression, accuracy, and convergence in iterative schemes.

Abstract

Currently, the dominating constraint in many high performance computing applications is data capacity and bandwidth, in both inter-node communications and even more-so in on-node data motion. A new approach to address this limitation is to make use of data compression in the form of a compressed data array. Storing data in a compressed data array and converting to standard IEEE-754 types as needed during a computation can reduce the pressure on bandwidth and storage. However, repeated conversions (lossy compression and decompression) introduce additional approximation errors, which need to be shown to not significantly affect the simulation results. We extend recent work [J. Diffenderfer, et al., Error Analysis of ZFP Compression for Floating-Point Data, SIAM Journal on Scientific Computing, 2019] that analyzed the error of a single use of compression and decompression of the ZFP compressed data array representation [P. Lindstrom, Fixed-rate compressed floating-point arrays, IEEE Transactions on Visualization and Computer Graphics, 2014] to the case of time-stepping and iterative schemes, where an advancement operator is repeatedly applied in addition to the conversions. We show that the accumulated error for iterative methods involving fixed-point and time evolving iterations is bounded under standard constraints. An upper bound is established on the number of additional iterations required for the convergence of stationary fixed-point iterations. An additional analysis of traditional forward and backward error of stationary iterative methods using ZFP compressed arrays is also presented. The results of several 1D, 2D, and 3D test problems are provided to demonstrate the correctness of the theoretical bounds.

Paper Structure

This paper contains 14 sections, 12 theorems, 88 equations, 9 figures.

Key Result

Lemma 2.1

\newlabellemma:boundT0 Suppose ${\bm x} \in \mathbb{Z}^{4^d}$, such that $e_{max, \mathcal{B}}({\bm x}) = q \in \mathbb{N}$ and ${\bm x} \neq {\bm 0}$. Then where $k_\mathcal{T} = \frac{7}{4} \left( 2^d - 1 \right)$ and $\epsilon_q = 2^{1-q}$.

Figures (9)

  • Figure 1: Total sequency ordering for a 2-dimensional array, which groups the diagonal elements together.
  • Figure 1: Contour plot of $\tilde{\beta}$, the number of bit-planes for ZFP, from Lemma \ref{['lemma:forwarderrorbeta']} as a function of $\tilde{c}_{n_1}$, the conditioning of the linear operator, and the spectral radius of either $G$ or $H$, respectively, as determined by the forward error or backwards analysis in double precision ($k = 53$). (a) Contour plot of $\tilde{\beta}$, as a function of $\tilde{c}_{n_1}$ and $\sigma$, the spectral radius of $G$. (b) Contour plot of $\tilde{\beta}$, as a function of $\tilde{c}_{n_1}$ and $\omega$, the spectral radius of $H$.
  • Figure 1: 2D Diffusion Example: The blue line represents the compression error caused by ZFP, the green line represents the truncation-dominated total error, the red line represents the theoretical bound, and the black line represents the IEEE double precision floating-point round-off error.
  • Figure 1: Poisson Equation Example: (a) The blue line represents ZFP error, the green line represents the total numerical error, and the red line represents the theoretical bound. (b) The error between the true solution, i.e., $\hat{u}(x,y) = 1+x^2+y^2$, calculated in double precision and the ZFP solution for varying $\beta$ values. (c) The compression ratio for varying $\beta = \{64,32,29,16\}$ is displayed over time. (d) For a user-defined error tolerance, $\epsilon = \{ 0.1,0.01,0.001\}$, the ratio of the number of extra iterations ($\rho_{\mathit{actual}}$ and $\rho_{\mathit{predicted}}$) provided by Theorem \ref{['thm:extraits']} is displayed as a function of the fixed precision parameter. From the assumptions of Theorem \ref{['thm:extraits']}, $\beta$ must be greater than 28.
  • Figure 2: A 2-dimensional array represented with a 32-bit negabinary integer representation ordered by bit-plane, from most to least significant bit. Typically, the bits containing the information are concentrated in the higher transform coefficients as illustrated by the dark blue coloring (referred to as the energy compaction property Rao1990), where the light blue represents 0 and the dark blue represents either 1 or 0.
  • ...and 4 more figures

Theorems & Definitions (23)

  • Lemma 2.1: Lemma 4.4 errorzfp
  • Theorem 2.2: Theorem 5.2 errorzfp
  • Definition 3.1
  • Definition 3.2
  • Theorem 3.3: Lipschitz Continuous Advancement Operator
  • Proof 1
  • Lemma 3.4
  • Proof 2
  • Theorem 3.5
  • Proof 3
  • ...and 13 more