ForgeStencil:面壁智能开源的Stencil模板计算AI全自动GPU算子优化系统

AI新闻 97ai
59

一、ForgeStencil是什么

ForgeStencil是面壁智能OpenBMB团队开源的双智能体驱动Stencil模板计算全链路自动化优化系统,面向高性能计算领域,依靠大模型智能体完成算子研究、CUDA代码生成、正确性校验、工程补丁集成整套流程,摆脱传统HPC调优对专家人工介入的强依赖,可直接对真实工业仿真软件做GPU性能优化,不是仅用于学术测试的代码生成玩具,能够输出可直接编译运行的生产级补丁与CUDA算子代码。

ForgeStencil采用双LLM智能体架构,实现从优化策略探索、高性能CUDA算子生成,到向工业软件打补丁集成、性能测速、数值正确性校验的完整闭环。无需人工深度干预,自动产出适配NVIDIA GPU的高性能算子,直接提升真实工业软件运行速度。开源协议为Apache‑2.0。

二、功能特色

  1. 双智能体自主优化:Kernel Agent专注底层CUDA算子研发;App Agent面向上层业务软件,定位热点、生成适配补丁,双模块协同完成全流程工作,不局限人工预设优化搜索空间。

  2. 真实工程软件集成能力:输出上游软件源码补丁,而非仅输出独立测试算子,可直接嵌入现有工业仿真项目,不篡改第三方源码,采用补丁分发模式。

  3. 完整可审计验证体系:内置Harness测试框架,同一二进制下切换原生代码与优化后代码,自动完成测速、数值正确性校验,性能数据可复现、可溯源。

  4. 多GPU硬件适配:原生支持A100、H100、B200等NVIDIA新一代GPU架构,算子库按硬件架构做分发适配。

  5. 大规模基准验证:项目基于100套真实工业级仿真软件开展验证,覆盖多类HPC业务场景,并非简单学术样例。

ForgeStencil(图1)

三、技术细节

  1. 整体架构
    系统由Kernel Agent、App Agent、算子知识库Kernel库、Harness测试框架四部分构成。

  • Kernel Agent:迭代执行方案规划、CUDA代码生成、硬件性能剖析,产出高性能Stencil算子存入算子知识库,算子带宽利用率可达到A100理论带宽74%‑85%。

  • App Agent:解析目标应用源码,定位性能热点,从算子知识库匹配或生成定制算子,校验数值误差,输出可直接打码的源码补丁。

  • Kernel算子库:存储经过验证的多架构CUDA算子,区分sm_80/sm_90/sm_100硬件架构。

  • Harness测试框架:统一封装编译、运行、校验、测速逻辑,原生代码和优化版本交替运行,输出加速比统计结果。

  1. 仓库目录结构

    目录 功能说明
    agents 双智能体调度与运行逻辑
    kernel 跨硬件CUDA算子库
    applications 工业软件拉取脚本、集成补丁、溯源文档
    baselines 主流对比工具基准拉取脚本
    harness 测速与正确性校验流程
    tools 算子快速测试、一键执行脚本
    results 审计后的性能测试数据集
    docs 实验文档、智能体运行日志
  2. 技术栈:CUDA为主,辅以Python、Shell;依赖CUDA12.x、C++17、Python3.9+,numpy、cupy,仅支持NVIDIA GPU环境。

  3. 运行逻辑
    Kernel Agent持续产出、验证算子沉淀知识库;App Agent对接目标工业软件,拉取上游源码,打补丁,调用Harness完成端到端验证;仓库本身不携带第三方软件源码,全部通过脚本拉取上游原始代码,保证开源合规。

性能表现:A100环境下100款软件中位数加速1.41×,几何平均加速2.05×;89%应用获得1.05倍以上加速,部分场景可达数十倍加速;已经高度人工调优的商业SDK软件性能基本持平无退化。算子层面对比Halide、Devito基准几何平均加速2.16×。

四、应用场景

  • 油气勘探、电磁仿真、医学成像、CFD流体计算;

  • 气候气象模拟、天体物理、材料科学仿真等科学计算工程;

  • HPC科研人员:快速对Stencil类仿真软件做GPU算子调优,降低专家人力投入;

  • 工业软件开发者:给自研仿真软件自动生成高性能GPU算子,缩短底层算力适配周期;

  • HPC算法研究:做Stencil代码生成、自动调优方向的对比实验与基准测试。

注意:项目仅针对GPU版本应用优化,纯CPU软件仅做对照,不作为正式验证对象。

五、使用方法

环境依赖

NVIDIA GPU,CUDA12.x,C++17,Python3.9+,numpy、cupy。

  1. 算子快速测试(无需完整工业软件)

python tools/run.py

执行后快速输出算子延迟、基线对比结果,适合快速验证算子能力。

  1. 端到端完整应用复现
    1)进入目标应用目录,执行vendor.sh脚本拉取上游原始源码;
    2)应用项目提供的补丁文件;
    3)调用harness/run_e2e.py自动构建、运行、测速、正确性比对,输出加速比报告。

六、竞品对比

选取Halide、Devito两款主流Stencil代码生成工具进行对比。

对比项 ForgeStencil Halide Devito
优化主体 双LLM智能体自主探索优化策略 人工编写调度策略,固定搜索空间 人工配置参数与调度规则
输出产物 CUDA算子+上游软件源码补丁 独立可调用代码 独立算子代码
工业软件集成 原生支持直接打补丁集成真实项目 需要开发者手动改写工程接入 需要手动修改业务代码接入
正确性&测速 内置Harness端到端校验测速框架 需要用户自行实现校验逻辑 需要用户自行实现校验逻辑
优化空间 智能体自主拓展,不局限预设规则 完全依赖人工定义调度空间 完全依赖人工配置参数
验证规模 100套真实工业软件 以学术测试用例为主 以学术测试用例为主

七、常见问题解答

ForgeStencil可以直接拿来跑普通CPU程序优化吗?

不可以,该项目目标是NVIDIA GPU上的Stencil模板计算优化。CPU版本软件仅用作对照,不支持CPU算子生成与优化。

智能体生成算子是否每次运行结果完全一致?

LLM智能体的生成过程存在非确定性,但最终输出的补丁文件、测速验证结果具备可复现性。

生成的优化代码数值正确性如何保证?

复用目标软件自带的原生校验逻辑完成数值校验。如果上游软件本身校验逻辑宽松,则正确性保障会随之下降。

仓库里面是否包含第三方工业软件源码?

仓库不存放第三方软件源码,只提供拉取脚本与补丁,运行时自动拉取上游原始代码,保证开源合规。

没有A100/H100/B200显卡还可以使用吗?

可以做算子编译测试,但项目完整验证数据集基于这三代GPU,其他硬件下性能表现没有经过大规模审计验证。

八、相关链接

GitHub项目地址:https://github.com/OpenBMB/ForgeStencil

九、总结

ForgeStencil是OpenBMB推出的面向Stencil模板计算场景的AI自动化GPU算子优化开源项目,依托双大模型智能体把算子策略探索、CUDA代码生成、补丁集成、测速校验串联成完整闭环,解决传统高性能计算调优高度依赖HPC专家的痛点,在大量真实工业仿真软件上完成验证,能够显著降低科学计算软件GPU适配的人力成本,为HPC领域提供了一套大模型驱动的算子自动化落地新方案。

打赏
THE END
作者头像
97ai
我不是在训练模型,而是在与未来的自己对话。