跳到主要内容
返回时间线
arXiv来源发表:

用变异分析给GPU内核基准的判分器打分:官方检查漏掉六分之一可证伪故障,精度类故障漏检达78.6%

核心概要

该工作把软件工程中的变异分析改造成面向分级数值判分器的充分性度量,向188个KernelBench问题的已验证CUDA实现注入10,303个可编译故障(其中7,384个有独立击杀见证),测得官方检查确定性漏检16.9%的见证故障,且漏检按故障族严重偏斜(算术8.7%、精度78.6%),并据此解释机制、审计已有补丁、用集合覆盖合成出两个输入即达98.0%检出率的测试套件。

AI-generated editorial illustration: Measuring the Checker: Mutation Analysis for GPU-Kernel Benchmark Oracles

深度剖析

提出并落地了首个面向GPU内核基准判分器的大规模强度度量:124条确定性变异规则在188个已验证CUDA基底上生成10,303个可编译故障,7,384个带有独立击杀见证,任何测试协议都按其检出比例打分。 此前工作(KernelBench-Verified、The Correctness Illusion、robust-kbench)都是手工打补丁或手工植入少量bug,无法回答“补丁是否够用、还漏什么”;该工作把“判分器好不好”从意见变成可比较的数字,并用见证机制保证分母只包含可证伪的故障。 表1给出流水线计数:10,303个生成故障、1,594个不可编译被NVRTC剔除、279个编译镜像重复、177个等价,最终8,253个不同故障、7,384个有见证;超过120,000次故障–输入评估构建击杀矩阵;对问题的bootstrap重采样显示16.9%是总体性质而非抽样噪声。

官方检查确定性漏检六分之一可证伪故障,且漏检高度按故障族偏斜:算术故障仅8.7%逃逸,而精度故障78.6%逃逸,同步故障27.8%、边界故障22.9%。 以往“检查器很弱”的判断来自个案或手工植入的bug;这里给出的是按族分解的漏检率,并指出被手工算术bug验证过的检查器会显得优秀却在真正出问题的地方失明。 表2按六个族列出见证数与漏检率(算术3,349个见证、8.7%漏检;精度271个见证、78.6%漏检);附录A的表6进一步给出算子级明细,如store-fp16漏检169/183(92%)、sync-remove漏检58/198(29%)。

量化了该领域两个支配性机制:容差真空带随归约规模增长(softmax问题中全零输出可通过官方检查),以及由合法浮点方差设定的输入激进度上限(越过上限的输入会拒绝正确内核)。 这解释了漏检为何存在,并把“用更狠的输入测试”这一直觉修正为需要有效性闸门的约束;文中指出此前工作没有这样的闸门。 文中给出具体量级:在最大不可检测相对误差为某值、在另一规模下为另一值(图2b);softmax贡献28个容差盲区幸存者而结构相同的log-softmax仅9个;重建的模糊测试基线在量级范围顶端107次错误拒绝正确内核。

度量可直接用于审计与合成:把KernelBench-Verified的增益分解为隐藏输入与更紧容差两部分,并通过对击杀矩阵做集合覆盖,用每个问题两个输入达到98.0%检出率(留出集94.8%),而官方五个随机输入为83.1%。 KernelBench-Verified的作者自述无法计算容差与分布失配各占多少失败,击杀矩阵给出了这一分解;同时证明测试套件设计可以变成优化问题,且增益来自“选得准”而非“测得多”。 表3给出预算曲线:预算2时全池98.0%、留出94.8%,官方五个随机输入83.1%/82.9%;按id哈希50/50划分dev/test以排除过拟合;知识阶梯实验(表4)显示给生成器故障分类学可把模糊基线从21.6%提升到61.0%,而给出具体故障源码反而只有57.3%。

启示与展望

该度量面向基准维护者、内核生成系统的评测者以及用判分器做奖励信号的强化学习研究者,适用于带分级数值容差的GPU内核基准场景。它支持比较性结论(套件A漏掉套件B能抓的故障)和存在性结论(某协议漏掉这些有见证的故障),并可直接用于设计更省输入的测试套件;作者明确表示它不能证明一个通过的内核是正确的,也从未这样使用。故障模型覆盖124条规则、六个族,基底为LLM撰写并经自动闸门验证的CUDA实现,结果来自单一H100代际;第3级架构研究覆盖48个架构,其见证搜索比算子级更浅,因此被当作单侧下界处理。

故障模型无法表达未生成结构中的故障(张量核路径、双缓冲流水线、部分warp级惯用法)以及多站点交互,因此漏检率是相对于该故障模型的充分性,而非绝对正确性。第3级见证搜索较浅,17.3%应视为下界;两个被判为不可裁决的问题(48_Mamba2ReturnY与45_UNetSoftmax)的结论依赖官方fp32前向与其fp64自身比较,读者可关注后续是否有不同容差或不同参考实现下的复核。真实感探针仅用60个问题、3个错误内核,样本小,作者也将其列为初步检查。此外,本次读取为全文,但图表数值以正文与表格所述为准,图中细节未逐一核对。

来源