pub fn register_default_fused_kernels(r: &mut FusedKernelRegistry)Expand description
Phase 7.6 step 6 — register the always-built fused-op kernels into
the crate::fused::FusedKernelRegistry. Called by
crate::fused::default_kernel_registry; kept here so the
crate-private CPU dispatch wrappers stay co-located with their
registration.
Today’s coverage. Three audited: true FKC contracts are IMPORTED at the top
(contract-sourced, replacing the deleted hand-written register_fused!
entries); the attention family + deferred NF4 stay hand-written:
- linear-quant (
register_cpu_linear_quant_fused_from_contract) — 13 impls:FUSED_LINEAR(4) +QMATMUL(1) +INPLACE_AFFINE(4) +FUSED_SOFTMAX_CROSS_ENTROPY(4). The 5th sectionNF4_MATMULisregistrable: false(AFFINE_BLOCK consumer-ahead) → stays hand-written. - norm-softmax (
register_cpu_norm_softmax_fused_from_contract) — 32 impls:SOFTMAX_LAST_DIM/RMS_NORM_LAST_DIM/LAYER_NORM_LAST_DIM(+ their_BACKWARD) +REDUCE_MAX_TO_BACKWARD+POWI_BACKWARD(8 sections × 4 dtypes). - conv-rope (
register_cpu_conv_rope_fused_from_contract) — 32 impls:ROPE(4) +CONV2D(8, no-bias|with-bias) +CONV_TRANSPOSE2D(8, no-bias|with-bias — bias operand WIDENED into the contract) +CAUSAL_CONV1D(4) +SELECTIVE_SCAN(4, bundle) +SSD_CHUNK_SCAN(4, bundle). - hand-written below:
FLASH_ATTN(8) +FLASH_ATTN_BACKWARD_{Q,K,V}(24) +PAGED_ATTN(8) +NF4_MATMUL(3).
Total: 120 CPU BackendImpls registered across all 24 registered
fused ops. The architecture v1.0 §05 bit-stable coverage
commitment is now compiler-enforced for the full fused-op set
(no KNOWN_GAPS allowlist in the step-7 lint).
Backend crates (fuel-cuda-backend, fuel-vulkan-backend) extend by composing against the registry from their own startup paths or via the step-9 binding-table refactor.