What problem does it solve? Writing efficient MatMul kernels with fused elementwise post-processing (bias, ReLU, GELU, quantization) on Atlas A5 (Ascend950) hardware requires correct use of Cube/Vector affinity APIs, and mistakes in synchronization or buffer layout cause deadlocks, data corruption, or silent performance regressions. ## Core Features & Use Cases - Two-stage fused-cv scheduling: Provides a proven pattern of one cube scope loop plus one vector scope loop with a single shared UB buffer and paired sync_block_set/wait events. - Dataflow and indexing rules: Covers L0C-to-UB fixpipe with NZ2ND/ROW_SPLIT, sub_vec_id output offsets, and constexpr buffer allocation constraints. - Hard boundary rules: Explicitly forbids affinity APIs for pure MatMul or pure Vector kernels and supplies a recommended plain Triton GEMM template instead. - Use Case: When implementing a Linear + bias + ReLU operator in Triton-Ascend for A5, follow this guide to fuse the post-processing into the GEMM kernel without writing intermediate results back to global memory. ## Quick Start Ask the agent to write a fused MatMul plus ReLU Triton kernel for Ascend A5 following this guide's two-stage Cube/Vector scheduling pattern.