EvoKe: Progressive Hierarchical Evolution for Structural Exploration in Ascend C Kernel Synthesis
Abstract
Platform-native kernels are central to accelerator performance, yet developing them for an emerging programming stack remains heavily dependent on expert knowledge. LLM-based systems broaden source-level search, but typically treat an entire kernel project as the unit of generation and optimization. On a stack sparsely represented in pretraining data, this forces the model to coordinate platform knowledge with tiling, memory movement, pipelining, computation, aggregation, and host–device integration in a single context. It also entangles optimization decisions: when an assembled candidate regresses, several potentially useful changes may be discarded together, even when a structural redesign would become effective only after further refinement. We present EVOKE, a framework for structured construction and structured search of Ascend C kernels. It builds a task-conditioned knowledge workspace and progressively generates dependency-ordered semantic genes, each pairing a component design with executable code. During search, every action declares its intent, target genes, and required adaptations, so redesign, component refinement, recombination, and parameter tuning can be evaluated and retained separately. A non-stationary contextual bandit selects the next action from the current search state and experience accumulated across tasks, and assigns delayed credit to actions whose benefits emerge only after later refinement. Across 13 representative Ascend C operators on Ascend 910B, EVOKE produces correct implementations for all 13 tasks versus 9 for the whole-project baseline and achieves a 1.34× geometric-mean performance ratio on the nine tasks solved by both.
Then back it, or bet against it.
Related papers
Open the market on this paper to see 7 more related papers.