FZGPUModules 2.0
GPU-accelerated modular compression pipelines
Loading...
Searching...
No Matches
fz::FusedRunContext Struct Reference

Everything a fused runner needs to compress one group in place. More...

#include <fusion_registry.h>

Public Attributes

const std::vector< Stage * > * stages
 group stages, producer→consumer
 
const void * d_input
 the group's input buffer
 
size_t input_bytes
 bytes of d_input
 
void * d_output
 the group's MAIN output buffer (tail port 0, >= worst case)
 
size_t output_capacity = 0
 allocated bytes available at d_output
 
MemoryPoolpool
 pool for the runner's scratch
 
fz::stream_t stream
 
std::vector< FusedSideOutput > * side_outputs = nullptr
 
const std::vector< FusedSideInput > * side_inputs = nullptr
 
std::string * execution_path = nullptr
 

Detailed Description

Everything a fused runner needs to compress one group in place.

Member Data Documentation

◆ stream

fz::stream_t fz::FusedRunContext::stream

stream (runner may synchronise)

◆ side_outputs

std::vector<FusedSideOutput>* fz::FusedRunContext::side_outputs = nullptr

Escaping side outputs of group members (e.g. outlier lists), in member/port order. nullptr or empty for single-output pipelines. The runner writes each d_ptr and fills each size; a runner that produces none leaves them alone.

◆ side_inputs

const std::vector<FusedSideInput>* fz::FusedRunContext::side_inputs = nullptr

Non-main inputs entering any member from outside the fused chain. Used by inverse fusion for side archives; empty for ordinary linear compression.

◆ execution_path

std::string* fz::FusedRunContext::execution_path = nullptr

Optional per-group diagnostic populated by runners whose implementation selects among materially different internal execution paths at runtime.