MultiKernelBench: A Multi-Platform Benchmark for Kernel Generation

📄 arXiv: 2507.17773v2 📥 PDF

作者: Zhongzhen Wen, Yinghui Zhang, Zhong Li, Zhongxin Liu, Linna Xie, Tian Zhang

分类: cs.DC, cs.LG, cs.PF, cs.SE

发布日期: 2025-07-20 (更新: 2025-07-26)

🔗 代码/项目: GITHUB


💡 一句话要点

MultiKernelBench:首个面向多平台的大模型内核生成综合基准测试

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 内核生成 大型语言模型 基准测试 深度学习 异构计算平台

📋 核心要点

  1. 现有深度学习内核生成基准测试硬件支持有限,内核分类粗糙,任务覆盖不均衡。
  2. MultiKernelBench通过构建多平台、细粒度、任务均衡的基准测试来解决上述问题。
  3. 实验表明,现有LLM在不同硬件平台上的泛化能力差异显著,类别感知提示策略有效。

📝 摘要(中文)

本文提出了MultiKernelBench,这是一个全面的、多平台的基准测试,用于评估基于大型语言模型(LLMs)的深度学习(DL)内核生成。现有基准测试在硬件支持、内核分类粒度和任务覆盖方面存在局限性。MultiKernelBench涵盖了14个明确定义的内核类别中的285个任务,并支持Nvidia GPU、华为NPU和Google TPU三大硬件平台。为了便于扩展,设计了一个模块化的后端抽象层,将平台特定逻辑与核心基准测试基础设施分离,从而简化了新硬件平台的集成。此外,提出了一种简单有效的类别感知单样本提示方法,通过提供同类别示例来提高生成质量。通过对七个最先进的LLM的系统评估,揭示了任务难度差异、对训练较少的平台泛化能力差以及有针对性的提示策略的有效性。MultiKernelBench已在https://github.com/wzzll123/MultiKernelBench上公开。

🔬 方法详解

问题定义:论文旨在解决使用大型语言模型自动生成深度学习内核时,缺乏一个全面、多平台的评估基准的问题。现有基准测试存在硬件支持不足(通常只支持Nvidia GPU),内核分类过于宽泛,以及任务覆盖不均衡等痛点,难以全面评估LLM在不同硬件平台和不同类型内核生成任务上的能力。

核心思路:论文的核心思路是构建一个包含多种硬件平台、多种内核类型和多种任务的综合性基准测试集,并设计一个模块化的后端抽象层,以便于扩展到新的硬件平台。此外,论文还提出了一种类别感知的单样本提示方法,通过提供同类别示例来提高LLM生成内核的质量。

技术框架:MultiKernelBench的技术框架主要包括以下几个部分:1)一个包含285个任务的基准测试集,涵盖14个内核类别,并支持Nvidia GPU、华为NPU和Google TPU三大硬件平台;2)一个模块化的后端抽象层,用于解耦平台特定逻辑和核心基准测试基础设施;3)一个类别感知的单样本提示方法,用于提高LLM生成内核的质量;4)一套评估指标,用于评估LLM生成内核的性能和正确性。

关键创新:MultiKernelBench的关键创新在于:1)它是首个面向多平台的大模型内核生成综合基准测试;2)它提出了一个模块化的后端抽象层,便于扩展到新的硬件平台;3)它提出了一种类别感知的单样本提示方法,提高了LLM生成内核的质量。

关键设计:类别感知的单样本提示方法是关键设计之一。该方法根据当前任务的内核类别,从基准测试集中选择一个同类别的示例,并将该示例作为提示信息输入给LLM。这种方法可以帮助LLM更好地理解当前任务的要求,从而生成更高质量的内核代码。具体的示例选择策略和提示信息格式未知。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

通过对七个最先进的LLM的系统评估,MultiKernelBench揭示了任务难度差异、LLM对训练较少的平台泛化能力较差,以及类别感知提示策略的有效性。具体性能数据和提升幅度未知,但结果表明,针对特定平台和任务的提示策略可以显著提高LLM生成内核的质量。

🎯 应用场景

MultiKernelBench可用于评估和比较不同LLM在深度学习内核生成方面的能力,帮助研究人员选择合适的LLM来自动生成高性能的内核代码。此外,该基准测试还可以促进LLM在异构硬件平台上的应用,降低手动编写内核代码的成本,并加速深度学习应用的开发和部署。

📄 摘要(原文)

The automatic generation of deep learning (DL) kernels using large language models (LLMs) has emerged as a promising approach to reduce the manual effort and hardware-specific expertise required for writing high-performance operator implementations. However, existing benchmarks for evaluating LLMs in this domain suffer from limited hardware support, coarse-grained kernel categorization, and imbalanced task coverage. To address these limitations, we introduce MultiKernelBench, the first comprehensive, multi-platform benchmark for LLM-based DL kernel generation. MultiKernelBench spans 285 tasks across 14 well-defined kernel categories and supports three major hardware platforms: Nvidia GPUs, Huawei NPUs, and Google TPUs. To enable future extensibility, we design a modular backend abstraction layer that decouples platform-specific logic from the core benchmarking infrastructure, allowing easy integration of new hardware platforms. We further propose a simple yet effective category-aware one-shot prompting method that improves generation quality by providing in-category exemplars. Through systematic evaluations of seven state-of-the-art LLMs, we reveal significant variation in task difficulty, poor generalization to platforms with less training exposure, and the effectiveness of targeted prompting strategies. MultiKernelBench is publicly available at https://github.com/wzzll123/MultiKernelBench.