five

SimdBench

收藏
arXiv2025-07-21 更新2025-07-23 收录
下载链接:
https://anonymous.4open.science/r/SimdBench-1B3F/
下载链接
链接失效反馈
官方服务:
资源简介:
SimdBench 是一个专门为 SIMD 内置代码生成而设计的代码基准测试集,包含 136 个精心设计的任务,针对五种代表性的 SIMD 内置函数:SSE、AVX、Neon、SVE 和 RVV。SimdBench 旨在解决现有代码生成基准在 SIMD 内置代码生成评估方面的局限性,并提供一个全面的评估框架,包括正确性和性能测试。

SimdBench is a code benchmark suite specifically tailored for SIMD intrinsic code generation. It includes 136 meticulously designed tasks targeting five representative SIMD intrinsic functions: SSE, AVX, Neon, SVE, and RVV. SimdBench aims to address the limitations of existing code generation benchmarks in evaluating SIMD intrinsic code generation, and provides a comprehensive evaluation framework covering both correctness and performance testing.
提供机构:
北京大学
创建时间:
2025-07-21
原始信息汇总

SimdBench数据集概述

数据集基本信息

  • 数据集名称: SimdBench
  • 最后更新时间: 2025年7月8日
  • 数据集组成:
    • benchmark
    • data
    • example-simd-implementation
    • example-task
    • raw-data
    • results
    • scripts
    • simdbench
    • 配置文件(.gitignore, .gitmodules, README.md, requirements.txt, run.sh)

安装与配置

获取仓库与环境设置

bash $ git clone TBD $ pip install -e SimdBench $ export PYTHONPATH=$SIMDBENCH_PATH

前置条件

  • Python模块: tqdm, fire, numpy, psutil, futures, tabulate
  • Cmake (用于安装Google Benchmark)

启用Google Benchmark

bash $ git submodule update --init --recursive $ cd benchmark $ cmake -E make_directory "build" $ cmake -E chdir "build" cmake -DBENCHMARK_DOWNLOAD_DEPENDENCIES=on -DCMAKE_BUILD_TYPE=Release ../ $ cmake --build "build" --config Release

使用说明

设置C++编译器

  • 支持的SIMD指令集: SSE, AVX, SVE, Neon, RVV
  • 编译器配置: 在simdbench/global_var.py中设置cpp_compilers
  • 模拟器配置: 在simdbench/global_var.py中设置emulators (如需要)

获取LLM补全

  • 样本格式: 与HumanEval相同 ({"task_id": "XXX", "completion":"XXX"})
  • 样本来源: results/model-output 或使用simdbench/request_llm.py生成

复现结果

  • 正确性评估: 约3-6小时 (256 CPU核心) bash nohup python3 ./scripts/correctness_eval.py --correctness_output=[/your/output/path] > pass_at_k.out 2>&1 &

  • 性能评估: 每种指令集约2-4小时 bash nohup python3 ./scripts/performance_eval.py --intrinsic=[your_intrinsic] --performance_output=[/your/output/path] > intrinsic.out 2>&1 &

评估方法

正确性评估

bash $ python3 simdbench/evaluate_functional_correctness.py example-task/example_samples.jsonl --intrinsic=AVX --problem_file=example-task/example_problem.jsonl

性能评估

bash $ python3 simdbench/evaluate_performance.py example-task/example_samples.jsonl --intrinsic=AVX

搜集汇总
数据集介绍
main_image_url
构建方式
SimdBench数据集的构建基于两个主要来源:一是从SIMD内部函数文档中提炼的六种基本操作类型手工构建任务,二是从广泛使用的代码生成基准HumanEval中筛选并修改适合向量化的任务。通过这四个步骤:实现可向量化的代码片段、编写功能描述、创建正确性和性能测试用例,并分析覆盖的基本操作和数据类型频率,最终形成了包含136个高质量任务的数据集。
使用方法
SimdBench数据集的使用方法包括三个主要步骤:首先,通过预处理提示模板生成特定架构的SIMD内部函数代码;其次,使用正确性测试用例通过差分测试验证生成代码的语义正确性;最后,通过性能测试用例评估生成代码的效率,比较其与标量代码实现的加速比。数据集支持对18种代表性大型语言模型在SIMD内部函数代码生成方面的能力和性能进行系统评估。
背景与挑战
背景概述
SimdBench是由北京大学高可信软件技术教育部重点实验室(PKU)与阿里巴巴达摩院等机构的研究团队于2025年推出的首个专注于SIMD(单指令多数据)内联函数代码生成的基准测试数据集。该数据集包含136个精心设计的任务,覆盖SSE、AVX、Neon、SVE和RVV五种主流SIMD指令集架构,旨在评估大语言模型在生成显式向量化代码方面的能力。作为计算机体系结构与编译器优化领域的创新性评估工具,SimdBench填补了现有代码生成基准测试在底层硬件特性支持方面的空白,为高性能计算与系统级编程的研究提供了重要基准。
当前挑战
SimdBench面临的核心挑战体现在两个维度:领域问题层面,现有基准测试普遍缺乏对SIMD指令级并行性的评估能力,难以衡量模型在平衡编码效率与高性能优化方面的表现;构建过程层面,需解决多架构指令集兼容性(如x86/ARM/RISC-V)、向量长度不可知(VLA)编程模型的适配,以及性能与正确性双重评估框架的设计难题。具体挑战包括:1)跨平台SIMD指令语义统一化;2)逻辑正确性与汇编级性能的协同验证;3)处理低可读性内联函数接口与复杂数据流控制的建模。
常用场景
经典使用场景
SimdBench数据集在评估大型语言模型(LLM)生成SIMD(单指令多数据)内联代码的能力方面具有经典应用场景。SIMD内联编程在现代处理器中被广泛用于加速性能关键型任务,而SimdBench通过136个精心设计的任务,针对五种代表性的SIMD内联(SSE、AVX、Neon、SVE和RVV),为研究者提供了一个系统化的评估平台。该数据集的使用场景主要集中在代码生成领域,尤其是在需要显式向量化的高性能计算和系统级编程中。
解决学术问题
SimdBench解决了当前代码生成基准测试中缺乏对SIMD内联代码生成能力评估的问题。现有的基准测试(如HumanEval)主要关注标量代码生成,而SimdBench填补了这一空白,提供了针对SIMD内联代码生成的专门评估工具。通过这一数据集,研究者可以系统地评估LLM在生成高效且正确的向量化代码方面的表现,从而推动LLM在低级别代码优化领域的发展。
实际应用
SimdBench的实际应用场景包括高性能计算库的开发(如OpenCV、TensorFlow/XNNPACK等)、算法优化以及跨平台代码移植。通过利用LLM生成SIMD内联代码,开发者可以显著提升代码的执行效率,尤其是在需要处理大规模数据的场景中。此外,SimdBench还可用于编译器优化研究,帮助开发者理解如何更好地利用硬件特性来提升程序性能。
数据集最近研究
最新研究方向
随着单指令多数据(SIMD)指令集在现代处理器中的广泛应用,SimdBench数据集的提出填补了大型语言模型(LLM)在SIMD内联代码生成领域评估的空白。该数据集针对SSE、AVX、Neon、SVE和RVV五种代表性SIMD内联指令集,精心设计了136个任务,为研究者提供了系统评估LLM生成向量化代码能力的基准平台。近期研究聚焦于三个前沿方向:首先,探索LLM在跨架构SIMD代码生成中的性能表现,特别是针对ARM和RISC-V等新兴架构的可扩展向量扩展(SVE/RVV)支持;其次,研究如何通过检索增强生成(RAG)等技术提升LLM对复杂SIMD内联语法的理解准确度;最后,开发结合标量代码生成与自动向量化转换的两阶段优化方法,以平衡代码正确性与性能优化。这些研究对高性能计算、编译器优化及跨平台代码移植等领域的创新发展具有重要推动作用。
相关研究论文
  • 1
    SimdBench: Benchmarking Large Language Models for SIMD-Intrinsic Code Generation北京大学 · 2025年
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作