FZ GPU Module Library (FZMod): A GPU-accelerated Module Library for Prediction-based Error-bounded Lossy Compression
FZMod is a modular refactor of cuSZ/pSZ, a GPU implementation of the SZ algorithm. It aims to create a flexible and extensible framework for lossy GPU accelerated data-reduction modules.
(C) 2025 by Argonne National Laboratory, and Indiana University. See COPYRIGHT in top-level directory.
- Developers: (primary) Skyler Ruiter, Pushkal Mudhapaka, Jiannan Tian.
- Special thanks to Fengguang Song for advising this project.
Command Line Interface (CLI) Wiki Page
How do SZ, pSZ/cuSZ, and FZMod work?
Prediction-based SZ algorithm comprises four major parts,
- User specifies error-mode (e.g., absolute value (
abs
), or relative to data value magnitude (r2r
) and error-bound.) - Prediction errors are quantized in units of input error-bound (quant-code). Range-limited quant-codes are stored, whereas the out-of-range codes are otherwise gathered as outlier.
- The in-range quant-codes are fed into Huffman encoder. A Huffman symbol may be represented in multiple bytes.
- (CPU-only) additional lossless encoding pass can be applied to the Huffman-encoded data, e.g., DEFLATE, ZSTD, etc.
What datasets are used?
We tested using datasets from Scientific Data Reduction Benchmarks (SDRBench).
dataset | dim. | description |
---|---|---|
EXAALT | 1D | molecular dynamics simulation |
HACC | 1D | cosmology: particle simulation |
CESM-ATM | 2D | climate simulation |
EXAFEL | 2D | images from the LCLS instrument |
Hurricane ISABEL | 3D | weather simulation |
NYX | 3D | adaptive mesh hydrodynamics + N-body cosmological simulation |
To download more SDRBench datasets, please use scripts/download-sdrb-data.sh
.