neuralqx.experimental.operators.symbolic.compiler.passes.fusion module

Symbolic term-fusion planning compiler pass.

class SymbolicFusionPass

Bases: AbstractSymbolicPass

Groups IR terms into fusion-compatible clusters.

This post-cache pass (only runs on cache misses) plans which terms can be lowered inside a single vmapped loop rather than separate loops.

When enable_fusion is False in the compiler options, each term is placed in its own singleton group.

Analysis keys written:

"fusion_groups", list[list[str]], each inner list is a group of term names that can be lowered in a single fused kernel loop.

The lowerer reads "fusion_groups" to decide loop structure.