PyTorch® 2.5 现已支持英特尔 GPU,为英特尔® Arc™独立显卡、内置英特尔® Arc™图形的英特尔® Core™ Ultra 处理器以及英特尔® 数据中心 GPU Max 系列提供了改进的功能和性能。此次集成将英特尔 GPU 和 SYCL*软件栈纳入官方 PyTorch 堆栈,确保用户体验的一致性,并支持更广泛的 AI 应用场景,尤其是在 AI PC 领域。
为英特尔 GPU 构建和使用的开发人员和客户将获得更好的用户体验,因为他们可以直接从本机 PyTorch 获得持续软件支持、统一的软件分发和一致的产品发布时间。
此外,英特尔 GPU 支持为用户提供了更多选择。现在 PyTorch 在前后端都提供了统一的 GPU 编程范式。开发者现在可以以最小的编码工作量在英特尔 GPU 上运行和部署工作负载。
英特尔 GPU 支持概述
PyTorch 中的英特尔 GPU 支持提供了急切模式和图模式支持,在 PyTorch 内置前端中。急切模式现在已使用 SYCL 编程语言实现了常用 Aten 运算符。图模式(torch.compile)现在已启用英特尔 GPU 后端以实现英特尔 GPU 的优化并集成 Triton。
已将英特尔 GPU 支持的必要组件添加到 PyTorch 中,包括运行时、Aten 运算符、oneDNN、TorchInductor、Triton 以及英特尔 GPU 工具链集成。同时,为了准备 PyTorch 2.6 版本的发布,量化功能和分布式功能正在积极开发中。
功能
除了为英特尔®客户端 GPU 和英特尔®数据中心 GPU Max 系列提供推理和训练的关键功能外,PyTorch 保持了与其他硬件相同的用户体验。如果您从 CUDA*迁移代码,可以在进行最小代码更改(将设备名称从 cuda 更改为 xpu)的情况下,在英特尔 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 和 eager 模式的功能(更多操作),以及性能提升,并完全运行三个 Dynamo Hugging Face*、TIMM*和 TorchBench*基准测试,用于 eager 和 compile 模式。
- 数据类型如 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 安装的夜间和预览二进制发布版可以体验 Intel GPU 的支持。
-
尝试通过 Intel® Arc™图形家族(代号 DG2)、Intel® Core™ Ultra 处理器家族带 Intel®图形(代号 Meteor Lake)以及 Intel® Core™ Ultra 移动处理器家族带 Intel®图形(代号 Lunar Lake)的 Intel®客户端 GPU。
-
尝试通过英特尔® Tiber™ AI 云体验英特尔数据中心 GPU Max 系列。
-
想要了解如何创建免费标准账户,请参阅“开始使用”。然后执行以下操作:
-
登录云控制台。
-
在“训练”部分,打开基于英特尔® GPU 的 PyTorch 笔记本,并点击“启动 Jupyter Notebook”。
-
确保为笔记本选择 PyTorch 2.5 内核。
-
-
性能
持续优化 Intel GPU 在 PyTorch 上的性能,以在三个 Dynamo Hugging Face、TIMM 和 TorchBench 基准测试中实现 eager 和 compile 模式的良好结果。
使用 Intel® 数据中心 GPU Max 系列 1100 单卡在 PyTorch Dynamo 基准测试套件上测量的最新性能数据,如图 1 所示,FP16/BF16 在 eager 模式下相对于 FP32 具有显著的加速比,如图 2 所示,Torch.compile 模式相对于 eager 模式的加速比。推理和训练都达到了类似的显著改进。
图 2:FP16/BF16 相对于 FP32 eager 模式的性能提升
图 3:Torch.compile 相对于 eager 模式的性能提升
摘要
英特尔 GPU 在 PyTorch 2.5 中引入了英特尔®客户端 GPU(内置英特尔® Arc™图形的英特尔® Core™ Ultra 处理器和用于 dGPU 部分的英特尔® Arc™图形)以及英特尔®数据中心 GPU Max 系列进入 PyTorch 生态系统,以加速 AI 工作负载。特别是,客户端 GPU 被添加到支持 GPU 的列表中,用于 Windows 和 Linux 环境下的 AI PC 使用场景。
我们热烈欢迎社区评估并提供反馈,以改进对 PyTorch 的英特尔 GPU 支持。
资源
致谢
我们想感谢 PyTorch 开源社区在技术讨论和见解方面的贡献:Andrey Talman、Alban Desmaison、Nikita Shulga、Eli Uriegas、Jason Ansel 和 Bin Bao。
我们也感谢 PyTorch 的合作伙伴们给予的专业支持和指导。
性能配置
表格中的配置是通过 svr-info 收集的。2024 年 9 月 12 日由英特尔进行测试。
表 1
组件 | 详情 |
---|---|
名称 | 英特尔® 酷睿™ 系列 GPU 1100 在英特尔® 泰博™ 开发者云中 |
时间 | 2024 年 9 月 12 日星期四 08:21:27 UTC |
系统 | 超微 SYS-521GE-TNRT |
主板 | 超微 X13DEG-OA |
机箱 | 超微其他 |
CPU 型号 | 英特尔®至强®铂金 8468V |
微架构 | SPR_XCC |
插槽 | 2 |
每插槽核心数 | 48 |
超线程技术 | 启用 |
处理器 | 192 |
英特尔睿频加速技术 | 启用 |
基础频率 | 2.4GHz |
全核最大频率 | 2.4GHz |
最大频率 | 2.9GHz |
NUMA 节点 | 2 |
预取器 | L2 硬件:启用,L2 适配器:启用,DCU 硬件:启用,DCU IP:启用,AMP:禁用,无家可归者:禁用,LLC:禁用 |
PPINs | 5e3f862ef7ba9d50, 6c85812edfcc84b1 |
加速器 | DLB 2, DSA 2, IAA 2, CPU 上的 QAT 2, 芯片组上的 QAT 0 |
已安装内存 | 1024GB (16x64GB DDR5 4800 MT/s [4800 MT/s]) |
大页面大小 | 2048 千字节 |
透明大页面 | madvise |
自动 NUMA 平衡 | 启用 |
NIC | 2 个 X710 以太网控制器,支持 10GBASE-T,4 个 MT2892 系列[ConnectX-6 Dx] |
磁盘 | 1 x 894.3G Micron_7450_MTFDKBG960TFR |
BIOS | 1.4a |
微代码 | 721421489 |
OS | Ubuntu 22.04.2 LTS |
内核 | 5.15.0-73-generic |
TDP | 330W |
功耗与性能策略 | 正常(6) |
频率控制器 | 性能 |
频率驱动器 | acpi-cpufreq |
最大 C 状态 | 9 |
表 2
组件 | 详细信息 |
---|---|
单张卡 | 英特尔® 酷睿™ 显卡 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 后端 for Triton cc981fe |
框架 | Pytorch 4a3dabd67f8ce63f2fc45f278421cca3cc532cfe |
显卡驱动程序 | agama-ci-devel-803.61 |
GFX 固件版本 | PVC2_1.23374 |
通知与免责声明
性能因使用、配置和其他因素而异。请在性能指数网站上了解更多信息。性能结果基于所示配置的测试日期,可能无法反映所有公开可用的更新。请参阅备份以获取配置详细信息。没有产品或组件可以绝对安全。您的成本和结果可能会有所不同。英特尔技术可能需要启用硬件、软件或服务激活。
英特尔公司。英特尔、英特尔标志以及其他英特尔商标均为英特尔公司或其子公司的商标。其他名称和品牌可能属于他人所有。
AI 免责声明:
AI 功能可能需要购买软件、订阅或由软件或平台提供商启用,或可能具有特定的配置或兼容性要求。详细信息请访问 www.intel.com/AIPC。结果可能有所不同。