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

rANS entropy coding stage (GPU, via vendored dietGPU kernel templates). More...

#include "stage/stage.h"
#include "fzm_format.h"
#include <cuda_runtime.h>
#include <cstdint>
#include <cstring>
#include <stdexcept>
#include <string>
#include <unordered_map>
#include <vector>

Go to the source code of this file.

Namespaces

namespace  fz
 

Detailed Description

rANS entropy coding stage (GPU, via vendored dietGPU kernel templates).

Forward: uint8_t[] → ANS compressed bitstream (ANSCoalescedHeader + rANS data). Inverse: ANS bitstream → uint8_t[].

D2H copies occur in both directions, so isGraphCompatible() returns false.

Only prob_bits=10 is supported in this build (baked into GpuANS.cu template instantiations). setProbBits() is reserved for future use; calling execute() after setProbBits(n != 10) throws std::runtime_error.

Note
GPU rANS kernels adapted from dietGPU (Meta Platforms, Inc., MIT License). See THIRD_PARTY.md for the full license text and attribution.

Serialized FZM header layout (12 bytes): [0] prob_bits (uint8_t) [1..3] reserved (3 bytes, zero) [4..11] original_bytes_ (uint64_t LE, uncompressed byte count)