两个 Kernel 达到评分上限
ASCEND-OK
让搜索理解约束,
让测量决定进化。
Adaptive Search with Constraint-Aware Evolution and NPU Diagnostics for Optimization of Triton Kernel
一个面向 Triton-Ascend 与昇腾 A2/A3 平台的自动算子优化系统。大模型负责提出程序变异,编译、全量正确性测试和真实 NPU 测量负责选择下一代。
不是一次性的提示词工程。
而是一套由硬约束、硬测量与搜索记忆共同驱动的程序进化系统。
SEARCH PIPELINE
每个候选,都要穿过同一组闸门。
模型只能提出假设,不能宣布胜利。系统按照确定顺序过滤不可编译、不正确或缺乏测量依据的候选,并把失败原因反馈给下一轮搜索。
读取待优化 Kernel、测试入口和时间预算,建立不可变的任务边界。
MEASURED RESULTS
把优化收益拆到每一个 Kernel。
以下数据来自统一评测门户的 70 分稳健收口轮次。条形长度按单 Kernel 得分归一化,保留最强算子与长尾算子的真实差异。
204 / 225 评测任务通过
覆盖 21 个提交算子中的 20 个
TOP SIGNALS
- 01Chunk Cumsum200.0
- 02Unpack Sequence200.0
- 03EP Gather162.9
- 04Activation Quant162.0
SYSTEM METHOD
让搜索既敢于探索,也知道何时收敛。
ASCEND-OK 将程序进化、约束验证、NPU 诊断和可恢复执行组合成一个闭环。每一层只承担它能被验证的职责。
约束感知变异
组合大模型程序变异、参数变异、保守 AST 变换、双父代交叉与定向错误修复;在生成阶段就显式携带 Triton 与 NPU 约束。
正确性优先评价
静态检查、编译、全量 Case 与边界变体逐级淘汰风险候选。只有完全正确的版本才进入性能档案。
NPU 反馈闭环
从源码结构、运行错误和 profiler 中提取访存、规约、尾块与量化路径信号,将诊断转成下一代可执行的优化假设。
可追溯候选谱系
源码指纹与 lineage 记录父代、模型、变换和评价结论;重复候选与原始候选在消耗 NPU 时间前即被过滤。
REPRODUCTION
从干净环境,到可提交的确定性 ZIP。
控制面使用 Python 与 uv;NPU 环境需要 CANN、torch-npu 和 Triton-Ascend。凭据只在运行时通过环境变量注入。
$ uv sync --frozen
$ export ASCEND_OK_MODEL_ENDPOINT=<base-url>
$ export ASCEND_OK_MODEL_API_KEY=<secret>
$ uv run python -m ascend_ok.submission.runner \
--input-dir /path/to/datasets \
--output-dir /tmp/ascend-ok/output \
--archive /tmp/ascend-ok/submission.zip \
--receipt /tmp/ascend-ok/receipt.json