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

A stage's fusion contract. Stages that can participate in a fused kernel override Stage::getFusionSpec() to return a non-Unfusable spec; the default is Unfusable (a barrier), so a stage is only ever fused if it opts in. More...

#include <fusion.h>

Public Attributes

FusionAccess access = FusionAccess::Unfusable
 Access pattern class.
 
uint32_t block_size = 0
 
uint32_t coder_unit_size = 0
 

Detailed Description

A stage's fusion contract. Stages that can participate in a fused kernel override Stage::getFusionSpec() to return a non-Unfusable spec; the default is Unfusable (a barrier), so a stage is only ever fused if it opts in.

Member Data Documentation

◆ block_size

uint32_t fz::FusionSpec::block_size = 0

Reset/tile period in elements for BlockLocal/Cooperative; 0 = N/A. Block-local and cooperative members of one fused group must agree on this. For TileAdaptive this is the selector tile size.

◆ coder_unit_size

uint32_t fz::FusionSpec::coder_unit_size = 0

TileAdaptive only: immediate downstream coder unit in elements. Must divide block_size. Zero for every other access class.