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

Public launcher for chunk-cooperative fused compress (see chunk_fusion.cuh). More...

#include "fused/chunk_fusion/chunk_geometry.h"
#include "backend/types.h"
#include <cstddef>
#include <cstdint>

Go to the source code of this file.

Namespaces

namespace  fz
 

Enumerations

enum class  fz::fused::ChunkCoderKind
 The variable-length coder that terminates a chunk-fused chain (the swappable sink).
 

Functions

size_t fz::fused::launchFusedChunkPfpl (ChunkCoderKind coder, const float *d_in, size_t n, float ebx2_r, uint32_t radius, float threshold, uint8_t *d_out, MemoryPool *pool, fz::stream_t stream)
 

Detailed Description

Public launcher for chunk-cooperative fused compress (see chunk_fusion.cuh).

Runs the composable CTA-per-chunk harness for a PFPL-shaped chain (Quantizer(inplace,zigzag) -> Difference(negabinary) -> Bitshuffle -> Coder) plus the cross-chunk scan+pack tail, producing a raw LC-coder archive that is byte-identical to the staged pipeline. The coder is selected at call time — the same harness composes RZE, RRE, etc. Not graph-capturable (reads back the archive length). See docs/codebase_notes.md CN-CHUNK-FUSE.

Function Documentation

◆ launchFusedChunkPfpl()

size_t fz::fused::launchFusedChunkPfpl ( ChunkCoderKind  coder,
const float *  d_in,
size_t  n,
float  ebx2_r,
uint32_t  radius,
float  threshold,
uint8_t *  d_out,
MemoryPool pool,
fz::stream_t  stream 
)

Run a PFPL-shaped chunk-cooperative fused compress into a raw coder archive.

Parameters
coderwhich LC coder terminates the chain (RZE or RRE)
d_indevice float field (n elements)
nelement count
ebx2_r1/(2*abs_eb) quant scale (abs_eb = eb*value_range for NOA)
radiusquant radius (out-of-radius -> inplace raw-float-bits outlier)
threshold|x| >= threshold forces an outlier (pass +inf to disable)
d_outdevice archive buffer (LC format: [orig][n_chunks][sizes][payloads])
poolscratch pool
streamCUDA stream (synchronised internally to read the archive length)
Returns
total archive length in bytes (4-byte rounded, matching the staged coder)