FZGPUModules 2.0
GPU-accelerated modular compression pipelines
Loading...
Searching...
No Matches
szp_stage.h File Reference

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
 

Detailed Description

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.