|
FZGPUModules 2.0
GPU-accelerated modular compression pipelines
|
SZp (a.k.a. fZ-light) — extreme-fast error-bounded compressor, as a fused stage. More...
#include "stage/stage.h"#include "fzm_format.h"#include "backend/types.h"#include <cstdint>#include <cstring>#include <stdexcept>#include <string>#include <type_traits>#include <unordered_map>#include <vector>Go to the source code of this file.
Classes | |
| struct | fz::SZpConfig |
| class | fz::SZpStage< T > |
Namespaces | |
| namespace | fz |
SZp (a.k.a. fZ-light) — extreme-fast error-bounded compressor, as a fused stage.
Reference: SZp / fZ-light (Huang, Di, et al., SC'24). The upstream CPU/OpenMP reference at https://github.com/szcompressor/SZp is MIT-licensed; this stage independently reimplements its forward/inverse and copies no upstream source. The homomorphic-collectives variant is hZCCL. See THIRD_PARTY.md.
SZp's inner loop is a whole compressor that decomposes almost exactly into the FZGM chain Quantizer(linear,ABS) → 1-D Lorenzo/diff → AdaptiveBitpack (its per-block fixed-length residual packing IS AdaptiveBitpack's plain mode). This stage exists for (a) SZp byte-format parity and (b) single-launch throughput. For a pure-composition equivalent that needs NO new code, see examples/presets/szp_composed.toml.
Forward: float[]/double[] → uint8[] archive Inverse: uint8[] archive → float[]/double[] (error-bounded approximation)
NOTE: this stage does NOT implement hZCCL's compressed-domain arithmetic (add/reduce on compressed buffers for collectives). That is a separate capability — a HomomorphicOp interface, not a stage — and is out of scope here. See notes in the wire-in checklist in the .cu.