38 std::string quant_op =
"QuantInplaceZigzag";
39 std::vector<std::string> transforms = {
"DiffNegabinary",
"Bitshuffle32"};
40 std::string coder =
"RZECoder";
45 return (k == ChunkCoderKind::RRE) ?
"RRECoder" :
"RZECoder";
68 const ChunkFusionSpec& spec,
const float* d_in,
size_t n,
const uint8_t* d_params,
69 uint8_t* d_scratch, uint32_t* d_sizes,
unsigned nc, fz::stream_t stream,
70 uint32_t* d_side_idxs =
nullptr,
float* d_side_vals =
nullptr,
71 uint32_t* d_side_count =
nullptr, uint32_t side_max = 0);
90 const uint8_t* host_params,
size_t params_bytes,
91 uint8_t* d_out,
MemoryPool* pool, fz::stream_t stream,
92 uint32_t* d_side_idxs =
nullptr,
float* d_side_vals =
nullptr,
93 uint32_t side_max = 0, uint32_t* out_side_count =
nullptr);
Public launcher for chunk-cooperative fused compress (see chunk_fusion.cuh).
ChunkCoderKind
The variable-length coder that terminates a chunk-fused chain (the swappable sink).
Definition chunk_fusion.h:26
bool nvrtcChunkFusionAvailable()
std::string generateChunkFusionSource(const ChunkFusionSpec &spec)
The CUDA source the codegen emits for spec (exposed for tests/inspection).
const char * chunkCoderOpName(ChunkCoderKind k)
Map a coder enum to its device-op name (the swappable sink).
Definition nvrtc_chunk_fusion.h:44
void launchNvrtcChunkFusedEncode(const ChunkFusionSpec &spec, const float *d_in, size_t n, const uint8_t *d_params, uint8_t *d_scratch, uint32_t *d_sizes, unsigned nc, fz::stream_t stream, uint32_t *d_side_idxs=nullptr, float *d_side_vals=nullptr, uint32_t *d_side_count=nullptr, uint32_t side_max=0)
size_t launchGenericChunkFusion(const ChunkFusionSpec &spec, const float *d_in, size_t n, const uint8_t *host_params, size_t params_bytes, uint8_t *d_out, MemoryPool *pool, fz::stream_t stream, uint32_t *d_side_idxs=nullptr, float *d_side_vals=nullptr, uint32_t side_max=0, uint32_t *out_side_count=nullptr)
Definition nvrtc_chunk_fusion.h:37
Backend-neutral GPU type aliases.