作者:Intel PyTorch 团队

PyTorch® 2.5 现已支持 Intel GPU,为 Intel GPU 提供改进的功能和性能,包括 Intel® Arc™ 独立显卡、带有内置 Intel® Arc™ 显卡的 Intel® Core™ Ultra 处理器以及 Intel® 数据中心 GPU Max 系列。此集成将 Intel GPU 和 SYCL* 软件堆栈纳入官方 PyTorch 堆栈,确保一致的用户体验,并支持更广泛的 AI 应用场景,尤其是在 AI PC 领域。

为 Intel GPU 构建和使用它们的开发者及客户将通过直接从原生 PyTorch 获得持续的软件支持、统一的软件分发和一致的产品发布时间,从而获得更好的用户体验。

此外,Intel GPU 支持为用户提供了更多选择。现在,PyTorch 在前端和后端都提供了统一的 GPU 编程范例。开发者现在只需少量代码即可在 Intel GPU 上运行和部署工作负载。

Intel GPU 支持概述

PyTorch 中的 Intel GPU 支持在 PyTorch 内置前端提供了急切模式(eager mode)和图模式(graph mode)支持。急切模式现已使用 SYCL 编程语言实现了常用的 Aten 运算符。图模式(torch.compile)现已启用 Intel GPU 后端,以实现针对 Intel GPU 的优化并集成 Triton。 

Intel GPU 支持的关键组件已添加到 PyTorch,包括运行时、Aten 运算符、oneDNN、TorchInductor、Triton 和 Intel GPU 工具链集成。同时,量化和分布式正在积极开发中,为 PyTorch 2.6 版本做准备。

特性

除了为 Intel® 客户端 GPU 和 Intel® 数据中心 GPU Max 系列提供推理和训练的关键特性外,PyTorch 还保持了与 PyTorch 支持的其他硬件相同的用户体验。如果您从 CUDA* 迁移代码,只需少量更改设备名称(从 cuda 改为 xpu),即可在 Intel GPU 上运行现有应用程序代码。例如:

# CUDA 代码
tensor = torch.tensor([1.0, 2.0]).to(“cuda”)

# 适用于 Intel GPU 的代码
tensor = torch.tensor([1.0, 2.0]).to(“xpu”)

PyTorch 2.5 支持 Intel GPU 的特性包括: 

  • 推理和训练工作流程。
  • 增强 torch.compile 和急切模式功能(更多操作),同时提高性能,并完全运行急切模式和编译模式下的三个 Dynamo Hugging Face*、TIMM* 和 TorchBench* 基准测试。 
  • 数据类型,如 FP32、BF16、FP16 和自动混合精度 (AMP)。
  • 在 Intel® 客户端 GPU 和 Intel® 数据中心 GPU Max 系列上运行。
  • 支持 Linux(Ubuntu、SUSE Linux 和 Red Hat Linux)以及 Windows 10/11。

入门

入门指南了解环境设置、PIP wheels 安装以及在 Intel® 客户端 GPU 和 Intel® 数据中心 GPU Max 系列上的示例。您可以通过 PyTorch PIP wheels 安装的每夜版(nightly)和预览版(preview)二进制版本体验对 Intel GPU 的支持。

  • 通过 Intel® Arc™ 显卡系列(代号 DG2)、带有 Intel® 显卡的 Intel® Core™ Ultra 处理器系列(代号 Meteor Lake)以及带有 Intel® 显卡的 Intel® Core™ Ultra 移动处理器系列(代号 Lunar Lake)试用 Intel® 客户端 GPU。

  • 通过Intel® Tiber™ AI Cloud试用 Intel 数据中心 GPU Max 系列。

    1. 要了解如何创建免费标准账户,请参阅入门。然后执行以下操作:

性能

PyTorch 上 Intel GPU 的性能持续优化,在急切模式和编译模式下的三个 Dynamo Hugging Face、TIMM 和 TorchBench 基准测试中取得了不错的结果。

在 PyTorch Dynamo 基准测试套件之上使用单张 Intel® 数据中心 GPU Max 系列 1100 测量的最新性能数据显示,图 1 中 FP16/BF16 在急切模式下相对于 FP32 有显著的加速比,图 2 中 Torch.compile 模式相对于急切模式有加速比。推理和训练都达到了类似的显著改进。

Figure 2: FP16/BF16 Performance Gains Over FP32 Eager

图 2:FP16/BF16 相对于 FP32 急切模式的性能提升

Figure 3: Torch.compile Performance Gains Over Eager Mode

图 3:Torch.compile 相对于急切模式的性能提升

总结

PyTorch 2.5 中的 Intel GPU 将 Intel® 客户端 GPU(带有内置 Intel® Arc™ 显卡的 Intel® Core™ Ultra 处理器和用于 dGPU 部件的 Intel® Arc™ 显卡)和 Intel® 数据中心 GPU Max 系列引入 PyTorch 生态系统,以加速 AI 工作负载。特别是,客户端 GPU 被添加到 Windows 和 Linux 环境下 AI PC 使用场景的 GPU 支持列表。

我们热忱欢迎社区评估并就 PyTorch 对 Intel GPU 的支持这些增强功能提供反馈。 

资源

致谢

我们感谢 PyTorch 开源社区提供的技术讨论和见解:Andrey TalmanAlban DesmaisonNikita ShulgaEli UriegasJason AnselBin Bao

我们也感谢 PyTorch 合作者提供的专业支持和指导。

性能配置

表中的配置使用 svr-info 收集。Intel 于 2024 年 9 月 12 日测试。

表 1

组件 详细信息
名称 Intel® Tiber™ Developer Cloud 中的 Intel® Max Series GPU 1100
时间 Thu Sep 12 08:21:27 UTC 2024
系统 Supermicro SYS-521GE-TNRT
主板 Supermicro X13DEG-OA
机箱 Supermicro 其他
CPU 型号 Intel(R) Xeon(R) Platinum 8468V
微架构 SPR_XCC
插槽 2
每插槽核心数 48
超线程 已启用
CPU 数量 192
Intel 睿频加速技术 已启用
基本频率 2.4GHz
全核最大频率 2.4GHz
最大频率 2.9GHz
NUMA 节点 2
预取器 L2 HW: 已启用, L2 Adj.: 已启用, DCU HW: 已启用, DCU IP: 已启用, AMP: 已禁用, Homeless: 已禁用, LLC: 已禁用
PPINs 5e3f862ef7ba9d50, 6c85812edfcc84b1
加速器 DLB 2, DSA 2, IAA 2, QAT (on CPU) 2, QAT (on chipset) 0
安装内存 1024GB (16x64GB DDR5 4800 MT/s [4800 MT/s])
大页面大小 2048 kB
透明大页面 madvise
自动 NUMA 平衡 已启用
网卡 2 x Ethernet Controller X710 for 10GBASE-T, 4 x MT2892 Family [ConnectX-6 Dx]
磁盘 1 x 894.3G Micron_7450_MTFDKBG960TFR
BIOS 1.4a
微码 0x2b0004b1
操作系统 Ubuntu 22.04.2 LTS
内核 5.15.0-73-generic
TDP 330W
功耗与性能策略 正常 (6)
频率调控器 performance
频率驱动程序 acpi-cpufreq
最大 C 状态 9

表 2

组件 详细信息
单卡 Intel Tiber Developer Cloud 中采用第 4 代 Intel® Xeon® 处理器 的 Intel® Max Series GPU 1100 系列
工作负载与版本 Timm ac34701, TorchBench 03cde49, Torchvision d23a6e1, Torchaudio b3f6f51, Transformers 243e186
软件堆栈 intel-for-pytorch-gpu-dev 0.5.3, intel-pti-dev 0.9.0, Intel xpu backend for Triton cc981fe
框架 Pytorch 4a3dabd67f8ce63f2fc45f278421cca3cc532cfe
GPU 驱动程序 agama-ci-devel-803.61
GFX FW 版本 PVC2_1.23374

通知与免责声明

性能会因使用、配置及其他因素而异。请访问性能指数网站了解更多信息。性能结果基于配置中显示的日期进行测试,可能无法反映所有公开发布的更新。 详细配置信息请参见备份部分。 任何产品或组件都无法实现绝对安全。您的成本和结果可能会有所不同。Intel 技术可能需要启用硬件、软件或服务激活。

Intel Corporation。Intel、Intel 标志和其他 Intel 标志是 Intel Corporation 或其子公司的商标。其他名称和品牌可能属于其他方财产。

AI 免责声明
AI 特性可能需要通过软件购买、订阅或由软件或平台提供商启用,或者可能有特定的配置或兼容性要求。详情请见  www.intel.com/AIPC。结果可能有所不同。