首页 >> 综合 > 快讯 >

英特尔与 AMD 依托 oneDNN 实现 PyTorch x86 CPU 优化方案统一

2026-10-23 14:37:35 来源:网易 编辑:萧欣纨 

英特尔与 AMD 正式达成技术协作,把两家各自独立开发的 PyTorch x86 CPU 优化内核全部整合到 oneDNN 开源库当中,将 oneDNN 确立为 PyTorch 框架下 x86 平台默认的 CPU 加速组件,实现一套代码同时适配英特尔至强系列与 AMD Zen 系列处理器,彻底解决以往 x86 平台 PyTorch 优化版本不统一、代码需要分平台维护的生态碎片化问题,开发者不用再针对两家 CPU 分别编译、分别调试算子,一套优化链路就能覆盖全系列 x86 硬件,大幅降低跨平台部署的开发成本与运维工作量。在本次合作落地之前,英特尔基于 oneDNN 做 PyTorch CPU 优化,AMD 则独立维护 ZenDNN 分支,两套优化库接口一致但底层内核相互独立,开发者部署 PyTorch 模型时,必须区分英特尔 CPU 与 AMD CPU,分别加载对应优化包,多服务器集群环境下还要做硬件识别与分支切换,项目维护成本居高不下;在 x86 生态咨询小组推动下,双方选定由 UXL 基金会管理的 oneDNN 作为统一底座,AMD 把 ZenDNN 的算子优化代码合并进 oneDNN 主干代码库,同时正式加入 UXL 基金会指导委员会,和英特尔共同主导后续版本迭代,让 oneDNN 同时兼容 AVX512、AMX 与 Zen 架构指令集,做到原生适配两代 x86 处理器。想要在 PyTorch 中启用这套统一优化方案,整套操作可以分为环境部署、开启 oneDNN 加速、算子性能验证、多硬件集群部署四个环节,全程不需要修改模型业务代码,仅通过环境变量与依赖包配置就能完成全平台适配。随着 oneDNN 完成双厂商内核合并,PyTorch 在 x86 服务器、AI PC、边缘工作站上都会拥有统一的 CPU 加速能力,后续 x86 新一代 ACE 指令集的矩阵运算优化,也会持续通过 oneDNN 同步接入 PyTorch 框架,长期保持跨硬件性能一致性。

一、合作前后 x86 平台 PyTorch 优化架构对比

表格

项目合作之前合作之后
优化底层库英特尔 oneDNN、AMD ZenDNN 两套独立分支统一合并为 oneDNN 主干版本
PyTorch 加速后端需要分别安装 IPEX、ZenDNN 扩展包PyTorch 原生内置 oneDNN 后端,无需额外插件
硬件适配分硬件加载不同内核,需要做硬件判断自动识别英特尔 / AMD CPU,自动调度对应优化算子
代码维护两套优化代码并行开发,重复投入研发资源双厂商共同维护同一套代码,减少重复开发
集群部署需要区分服务器 CPU 品牌做环境配置统一一套运行环境,全 x86 集群通用

二、oneDNN 统一优化包含的核心技术模块

1. 多架构算子内核统一封装

oneDNN 底层完成算子分层封装,上层保持统一 API,下层内置两套优化内核:面向英特尔 CPU 的 AMX、AVX512 内核,以及面向 AMD Zen 架构的 AVX2、AVX512 优化内核;程序运行时自动读取 CPU 指令集标识,自动匹配最优内核,不需要人为切换配置。

2. PyTorch oneDNN Graph 图融合能力

在 PyTorch 2.0 及以上版本启用 oneDNN Graph,自动完成卷积 + BN、矩阵乘 + 激活等算子融合,减少内存读写开销,同时对英特尔与 AMD 处理器做均衡调优,保证同一份模型在两类 CPU 上的推理速度差距控制在合理范围之内。

3. 混合精度统一加速方案

oneDNN 原生支持 BF16、INT8 量化运算,同时兼容英特尔 AMX-BF16 与 AMD Zen 架构 BF16 指令集,PyTorch 开启自动混合精度后,两类 CPU 可以获得对齐的加速倍率,量化模型跨平台迁移不再出现性能波动。

4. 并行计算调度统一优化

整合两家的 OpenMP 线程调度策略,统一 CPU 多核负载分配逻辑,避免出现英特尔平台与 AMD 平台多线程并行效率差异过大的问题,单机多核心训练任务运行更稳定。

三、PyTorch 启用 oneDNN 统一优化的完整操作步骤

步骤 1:安装对应版本 PyTorch

安装 PyTorch 2.7 及以上稳定版本,新版本已经内置整合双厂商优化的 oneDNN 后端,不需要单独编译第三方扩展包。

步骤 2:开启 oneDNN 加速开关

设置全局环境变量,启用 CPU 端 oneDNN 算子:

export ONEDNN_ENABLE=1

export ONEDNN_GRAPH=1

框架会自动识别 CPU 品牌,自动加载对应架构内核。

步骤 3:单机性能一致性验证

分别在英特尔至强 CPU 与 AMD Zen CPU 上运行同一套推理脚本,核对推理延迟、算力利用率,确认两套硬件下模型运行速度保持稳定,没有出现算子降级运行的情况。

步骤 4:多机集群批量部署

制作统一的 Docker 镜像,镜像内只预装一套 PyTorch+oneDNN 环境,集群中无论英特尔还是 AMD 服务器,直接启动容器即可运行,无需区分硬件做差异化配置。

步骤 5:开启 torch.compile 联动优化

启用 PyTorch 编译功能,让 Inductor CPU 后端与 oneDNN Graph 协同工作,进一步提升大模型在 x86 CPU 上的推理吞吐。

四、本次合作带来的产业价值

  1. 消除 x86 软件生态碎片化:结束两套优化库并行维护的局面,所有 x86 硬件共用同一套 PyTorch 加速方案。
  2. 降低云厂商运维成本:混合英特尔、AMD 服务器的算力集群,只需要维护一套 AI 运行环境,大幅减少环境适配工作量。
  3. 同步迭代下一代指令集:双方共同推进 x86 ACE 矩阵运算指令集,新指令的优化代码统一提交到 oneDNN,一键同步到 PyTorch。
  4. 提升开发者交付效率:模型在 x86 硬件之间迁移时,不用改写算子调用逻辑,一次开发就能全平台部署。

五、后续技术迭代规划

  1. 持续完善 oneDNN 内核均衡调优,持续缩小英特尔与 AMD CPU 运行同一 PyTorch 模型的性能差距。
  2. 把 ZenDNN 全部算子完整并入 oneDNN 主干,逐步淘汰独立 ZenDNN 分支。
  3. 将 ACE 新一代指令集的矩阵乘法优化集成到 oneDNN,同步上线到 PyTorch CPU 后端。
  4. 完善 oneDNN 在 PyTorch Inductor 编译后端的适配,进一步提升 CPU 端大模型运行效率。

【相关 FAQ】

问题 1:英特尔与 AMD 借助 oneDNN 统一 PyTorch x86 CPU 优化,能解决哪些生态痛点?

回答 1:英特尔与 AMD 借助 oneDNN 统一 PyTorch x86 CPU 优化,能够解决 x86 平台长期存在的软件碎片化痛点;此前英特尔 oneDNN 与 AMD ZenDNN 两套优化分支相互独立,PyTorch 模型部署必须区分 CPU 品牌,分环境配置优化包;统一之后 oneDNN 内置双架构内核,自动识别硬件,一套环境就能适配两类处理器,消除分平台维护代码的成本,让 PyTorch 在 x86 服务器集群里实现无差别部署。

问题 2:开发者使用 PyTorch 时,如何开启 oneDNN 这套统一的 x86 CPU 优化?

回答 2:开发者使用 PyTorch 时,只需要安装 2.7 及以上版本的 PyTorch,在系统中开启 ONEDNN_ENABLE 环境变量,框架就会自动调用整合了英特尔与 AMD 优化内核的 oneDNN 后端;无需额外安装 IPEX 或者 ZenDNN 插件,程序会自动读取 CPU 指令集信息,匹配对应优化算子,同时还可以开启 oneDNN Graph 实现算子融合加速。

问题 3:oneDNN 完成 PyTorch x86 CPU 优化统一之后,AMD Zen 系列 CPU 运行 PyTorch 模型的性能会不会得到提升?

回答 3:oneDNN 完成 PyTorch x86 CPU 优化统一之后,AMD Zen 系列 CPU 运行 PyTorch 模型的性能会稳步提升;AMD 已经把原有 ZenDNN 的全部算子优化代码合并进 oneDNN 主干,oneDNN 原生适配 Zen 架构 AVX 指令集,同时双方联合做均衡调优,保证 AMD 平台算子性能不低于原 ZenDNN 分支,同时实现和英特尔 CPU 之间的性能对齐,跨硬件运行更加稳定。

【数据来源】

[2026-10-22](英特尔携手 AMD,简化 x86 CPU AI 开发)21ic

[2026-10-21](AMD 与 Intel 把 x86 的 PyTorch 优化合并进 oneDNN)电子产品世界

[2026-10-21](AMD 与英特尔罕见联手:x86 阵营抱团统一 AI 开发路径)电子工程世界

[2026-10-20](AMD and Intel Collaborate to Simplify AI Development on x86 CPUs)Intel 官方新闻稿

免责声明:本文所有技术方案、功能特性、版本规划均来自英特尔、AMD 以及 UXL 基金会对外公开的合作公告与 oneDNN 开源项目文档,仅作为 PyTorch CPU 端开发学习参考;不同 CPU 型号、PyTorch 版本会带来实际运行性能差异,开发者需要结合自身硬件环境完成实测调优,本文不构成项目软硬件选型的唯一依据。

 
 
最新文章
站长推荐