|
FZGPUModules 2.0
GPU-accelerated modular compression pipelines
|
SZx — ultrafast error-bounded lossy 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::SZxConfig |
| class | fz::SZxStage< T > |
Namespaces | |
| namespace | fz |
Enumerations | |
| enum class | fz::SZxErrorMode : uint8_t |
SZx — ultrafast error-bounded lossy compressor, as a fused stage.
Reference: "SZx: an Ultra-fast Error-bounded Lossy Compressor for Scientific Datasets" (Yu, Di, et al.). This is a from-the-paper reimplementation of the SZx forward/inverse pipeline as a single fused FZGPUModules stage; no SZx source is vendored. Third-party attribution belongs in THIRD_PARTY.md.
SZx is a whole compressor: it consumes raw floats and emits a self-describing byte archive. Unlike the cuSZ-style chain (Lorenzo → Quantizer → coder), SZx has no Lorenzo prediction and no entropy coder — that is what makes it fast. Its one distinguishing move is per-block constant/non-constant classification, which is why it lives here as a fused stage rather than being composed from existing stages.
Forward: float[]/double[] → uint8[] archive Inverse: uint8[] archive → float[]/double[] (error-bounded approximation)