SOL-ExecBench 235 题拆解:无问芯穹 71 个单题第一

一句话结论:SOL-ExecBench 用硬件光速给 GPU 算子打分,NVIDIA Research 于 2026 年 3 月推出这套执行式评测,235 道题全部来自 124 个真实与前沿模型的计算子图;截至 10 月 30 日实测,国产团队无问芯穹在榜单账号 Infinigence AI 名下拿下 235 题中的 71 个单题第一,Quant 集合总分登顶,L1、L2、FlashInfer-Bench 三个集合排在第二。

算子优化这件事在过去两年被反复讨论,但衡量它的尺子一直没换。KernelBench、BackendBench 这类基准给的是相对加速比,参赛者只要比 PyTorch 官方实现快就算赢,赢的幅度还取决于对手基线有多慢。NVIDIA Research 推出的 SOL-ExecBench 换了一把尺子。SOL 是 Speed of Light 的缩写,指由算力吞吐与显存带宽共同推导出的硬件理论上限;榜单不看你的代码比别人的代码快多少,只看它离硬件天花板还有多远。

235 道题从哪里来

这套评测的题目全部来自真实模型的计算子图,没有一道是人工编写的算子谜题。NVIDIA Research 的抽取管线先用 LLM 辅助的方式,从 HuggingFace、Artificial Analysis 与 arXiv 上收集的 124 个模型里,前后向传播一共切出 7400 个计算子图,再按算子类型、模型领域、精度格式、计算强度与前后向比例做分层采样,最后经过人工与 LLM 辅助的审核以及基于执行结果的正确性验证,留下 235 道通过验证的题目。

124 个模型覆盖六个领域。语言模型最多,65 个,包含 Llama-3.x、Gemma-3、Phi-4 这类稠密 Transformer,DeepSeek-V3/R1、Qwen3-Coder-480B、GLM-4.7 这类 MoE 模型,Mamba-2、RWKV 这类状态空间与线性注意力模型,以及 Kimi-K2 这类新注意力变体。文本与图像扩散模型 17 个,视觉 8 个,语音与音频 8 个,视频 3 个,多模态与混合架构 25 个。题目因此覆盖了 GQA、SwiGLU MoE 派发、多 token 预测、自适应层归一化、双流联合注意力、VAE 编解码块、Conformer 编码器、3D RoPE 空间注意力这些真实存在的算子。

从算子类型看,注意力类占 81 题,35%,是最大头;MoE 36 题,15%;归一化 27 题,12%;嵌入与位置编码 20 题,9%;投影与线性运算 16 题,7%;卷积 6 题;SSM 与 Mamba 类 5 题。精度分布上 BF16 占 107 题,46%,FP32 占 79 题,34%,FP8 占 19 题,NVFP4 占 15 题,FP16 占 12 题。前后向比例是 189 比 46,量化与 FlashInfer-Bench 两个集合全部是前向。

集合 题数 提交数 精度 题目性质
L1 单算子 94 16427 BF16 / FP32 神经网络计算的基本积木,如 GQA、RMSNorm、SwiGLU、RoPE
L2 融合算子 82 10522 BF16 / FP32 多操作融合,复杂度通常是 L1 的 3 到 10 倍,如解码层、MoE 派发
Quant 量化 33 8101 FP8 / NVFP4 量化模型里的低精度计算,18 题 FP8 块缩放加 15 题 NVFP4 十六元素块缩放
FlashInfer-Bench 26 7347 BF16 / FP8 取自 Llama-3.1-8B、Qwen3-30B-A3B、DeepSeek-V3/R1 三个生产模型的推理原语
合计 235 42397 以 BF16 为主 全部在 NVIDIA B200 上实测

每道题都带完整的输入输出张量规格、可变轴定义、一份 PyTorch 参考实现,以及最多 16 组动态形状的 workload(FlashInfer-Bench 是 7 到 48 组)。目标硬件明确写成 B200,因为 SOL 上限跟具体架构绑定。

SOL Score 是怎么算出来的

SOL 上限由一个叫 SOLAR 的工具推导,它分三步走。第一步做图提取,把 PyTorch 模型 trace 成算子图,拿到数据流、算子类型和中间张量形状。第二步做 Einsum 转换,由 LLM 智能体把每个算子翻译成扩展的爱因斯坦求和表达式,把迭代空间和计算模式显式暴露出来。第三步做 SOL 分析,用基于硬件峰值算力与 HBM 带宽的 roofline 模型算出理论最短运行时间,同时考虑图级融合与预取优化,还能按片上缓冲容量对片外数据搬运建模来收紧上限。

有了基准延迟 tb 与 SOL 延迟 tsol,单个 workload 的分数是一个闭式公式:

S(t) = (tb − tsol) / ((t − tsol) + (tb − tsol))

这个公式的设计让基线正好落在 0.5 分。S 等于 0 表示结果错误或执行失败;S 大于 0.5 表示你的算子跑得比基准快;S 趋近 1 表示已经贴上硬件光速。因为 tsol 是一个绝对的物理锚点,两个不同算子拿到相同的 SOL Score,意味着它们达到了等效的硬件利用效率,哪怕绝对延迟相差几个数量级。单题分数取各 workload 的算术平均,失败项按 0 计;整套基准的总分同样取算术平均。

正确性校验在每个 workload 上做一次,核对输出形状、dtype、数值容差与张量合理性,密集张量的容差按 atol、rtol 与匹配比例三元组逐 workload 指定。不匹配参考值的 inf、NaN 与退化的全零输出会被直接拒掉。

防作弊是这套基准的另一半工程

Agent 写算子有一个天然风险:评测器本身会被优化。SOL-ExecBench 的沙箱在几个点上做了硬约束。GPU 时钟用 nvidia-smi 锁在 B200 的 1500 MHz,牺牲峰值性能换可复现性。每次计时迭代前用一个 256 MB 的设备缓冲区清零来冲掉 L2 缓存,同时克隆张量参数,保证每次运行都从干净输入开始。每个 workload 先跑 10 次热身,再跑 50 次计时迭代,整个流程重复 3 轮,取跨轮均值。每个提交方案在独立子进程中编译执行,评测器状态被隔离,一个提交影响不到后面的提交,外层还套了容器超时。

这套机制指向一个现实判断。榜单排名的意义取决于两件事:参考实现本身有多慢,以及评测器能不能被钻空子。Cursor 团队在 2026 年 4 月公开过他们的多智能体系统,在 3 周内自动优化了全部 235 道 CUDA 算子,对基准实现取得 38% 的几何平均加速。这条路线与本站此前记录的 AI 写算子登顶双榜 属于同一条脉络。这个结果的参照价值在于它把智能体当优化器用了整整三周,全程没有靠人手反复微调 kernel 参数。

实时榜单:无问芯穹的位置

榜单是会动的。提交量已经很大,截至 10 月 30 日,官方接口记录的总提交数为 42397 次,参与开发者 674 人,平均每分钟就有一次公开提交进入评测。以下数据是本轮实测抓取,评测栈版本为 v1.1。

集合 无问芯穹排名 无问芯穹 SOL Score 该集合榜首 榜首 SOL Score 榜首平均加速比
L1 单算子 第 2 0.811459 Qian & Hubert @ CI 0.812342 3.7905
L2 融合算子 第 2 0.810764 Amir M. Mir | SF Tensor 0.811534 3.2179
Quant 量化 第 1 0.908503 Infinigence AI(无问芯穹) 0.908503 8.955
FlashInfer-Bench 第 2 0.808181 ForgeKernel 0.815204 5.5403

单题第一的分布更能说明差距。235 道题各有且仅有一个第一名,按当前榜单快照统计,Infinigence AI 拿下 71 个,Qian & Hubert @ CI 拿下 55 个,LoongSage @ baidu-baige 22 个,Geometric 21 个,Amir M. Mir | SF Tensor 16 个,ForgeKernel 11 个。分集合看,Infinigence AI 在 L2 融合算子拿到 39 个第一,占该集合 82 道题的近一半,这是它最强势的一段;在 Quant 拿到 15 个;在 L1 是 14 个;在 FlashInfer-Bench 是 3 个。

这里有一个容易被忽略的细节。无问芯穹在 L1 与 L2 的提交时间戳是 10 月 19 日与 10 月 26 日前后,而 L1 集合的第一名 Qian & Hubert @ CI 的提交时间是 10 月 27 日。也就是说,仅仅一天之差,集合总榜第一的位置就换了人。任何一个关于这个榜单的结论都带着时间戳才有意义。

无问芯穹本身的算力底座是另一条线。这家公司不训练通用大模型,做的是把不同厂商、不同架构的 AI 芯片整合进同一套调度系统(23 亿元 C 轮融资与 16 芯片调度),已部署并触达 37000P 算力、覆盖 16 种主流芯片,累计融资 43 亿元。榜单上跑的是算子,落地时拼的是跨芯片调度,这两件事能不能接上,决定了这次排名的长期价值。

和同类基准比,这把尺子特别在哪

基准 题数 题目来源 指标 精度 目标硬件 含训练
KernelBench 270 精选加模型 fast_p FP32/FP16/BF16 任意 否
BackendBench 271 PyTorch OpInfo Speedup FP32/FP16/BF16 任意 部分
TritonBench 184 GitHub 仓库 正确性加加速 FP32/FP16/BF16 任意 否
ComputeEval 232 合成 pass@1 FP32/FP16 任意 否
CUDABench 500 开源项目 Roofline FP32/FP16/BF16 任意 否
SOL-ExecBench 235 模型计算子图 SOL% BF16/FP8/NVFP4 Blackwell 及更新 是

差异集中在三处。题目取自真实模型的计算图,测的正是模型跑起来时真正会执行的算子;指标锚在硬件上限上,摆脱了可移动的软件基线,社区把参考实现优化得越好,标尺也不会跟着漂;包含反向传播与训练侧负载,FlashInfer-Bench 里还包含了量化算子,这一点对做训练框架的团队比做单卡推理的团队更要紧。

给算子团队的三条实操建议

第一,先把题目读对。每道题都附带参考实现和 workload 规格,提交前用规格里的动态形状自测一遍,正确性不过关就是 0 分,前面跑得再快也没有意义。第二,看清自己吃的是哪段精度。Quant 集合里 15 道 NVFP4 题用的是十六元素块缩放,参数布局和标度因子写错,收益会被整块抵消。第三,别拿相对加速比当目标。参考实现在 L1 上的 SOL Score 只有 0.237027,平均加速比 0.2492,它比基线还慢一半,这意味着榜单上的 0.81 分对应的真实硬件利用率远高于「比 PyTorch 快 3.79 倍」这句话的分量。同理,国内推理框架已经把 GPU 占用与成本压到另一档(DeepInfer 显存降 35%),算子层省下来的时间要能传导到服务成本上才算数。

常见问题

SOL-ExecBench 和 KernelBench 到底差在哪

KernelBench 报告的是相对某个软件基线的加速比,SOL-ExecBench 报告的是距离硬件理论上限还有多远。前者的分数会随社区优化基线而漂移,后者由 SOLAR 分析出的绝对物理上限锚定,含义稳定。要看你的代码在真实硬件上占用了多少带宽与算力,第二个尺子更准。

无问芯穹的 71 个单题第一说明什么

说明它构建的算子优化智能体在真实 CUDA 算子上有稳定的产出能力,尤其在 L2 融合算子这类复杂题目上接近半数的题目拿到第一。榜单每分钟都在变,一个具体名次只是时间戳快照,能被复现的产出流程才是可迁移的能力。

这套评测适合谁做

适合做编译器智能体、算子自动优化工具、推理引擎团队,以及任何需要在 Blackwell 及更新架构上抠性能的人。它不适合拿来看通用大模型的能力强弱,那类问题得看代码生成与终端操作基准,评测口径完全不同。

相关阅读