# SIMD Lossy Compression for Scientific Data

arXiv: https://arxiv.org/abs/2201.04614 · HTML: https://mlsanity.com/paper/2201.04614/

## Key facts

- No citing papers in the map yet (data through 14 Oct 2026).
- Builds on 4 of its 32 references that are in the map.
- First posted on arXiv 12 Jan 2022.

## Builds on (most cited first, 4 of 4)

- [cuSZ: An Efficient GPU-Based Error-Bounded Lossy Compression Framework for Scientific Data](https://mlsanity.com/paper/2007.09625/) (2020)
- [SDRBench: Scientific Data Reduction Benchmark for Lossy Compressors](https://mlsanity.com/paper/2101.03201/) (2021)
- [Fixed-PSNR Lossy Compression for Scientific Data](https://mlsanity.com/paper/1805.07384/) (2018)
- [FRaZ: A Generic High-Fidelity Fixed-Ratio Lossy Compression Framework for Scientific Floating-point Data](https://mlsanity.com/paper/2001.06139/) (2020)

## Abstract (arXiv)

Modern HPC applications produce increasingly large amounts of data, which limits the performance of current extreme-scale systems. Data reduction techniques, such as lossy compression, help to mitigate this issue by decreasing the size of data generated by these applications. SZ, a current state-of-the-art lossy compressor, is able to achieve high compression ratios, but the prediction/quantization methods used introduce dependencies which prevent parallelizing this step of the compression. Recent work proposes a parallel dual prediction/quantization algorithm for GPUs which removes these dependencies. However, some HPC systems and applications do not use GPUs, and could still benefit from the fine-grained parallelism of this method. Using the dual-quantization technique, we implement and optimize a SIMD vectorized CPU version of SZ, and create a heuristic for selecting the optimal block size and vector length. We also investigate the effect of non-zero block padding values to decrease the number of unpredictable values along compression block borders. We measure performance of vecSZ against an O3 optimized CPU version of SZ using dual-quantization, pSZ, as well as SZ-1.4. We evaluate our vectorized version, vecSZ, on the Intel Skylake and AMD Rome architectures using real-world scientific datasets. We find that applying alternative padding reduces the number of outliers by 100% for some configurations. Our implementation also results in up to 32% improvement in rate-distortion and up to 15× speedup over SZ-1.4, achieving a prediction and quantization bandwidth in excess of 3.4 GB/s.
