写点什么

PyTorch 2.5 发布,支持英特尔 GPU

  • 2024-11-19
    北京
  • 本文字数:1171 字

    阅读完需:约 4 分钟

大小:553.44K时长:03:08
PyTorch 2.5发布,支持英特尔GPU

最近,PyTorch 基金会发布了PyTorch 2.5版本,其中包含对英特尔 GPU 的支持。该版本还包含多项性能增强,如FlexAttentionAPI、TorchInductor CPU 后端优化,以及可缩短编译时间的区域编译功能。总体而言,该版本包含了自 PyTorch 2.4 以来的 4095 次提交。

 

最近举行的PyTorch大会演示了 PyTorch 对英特尔 GPU 的支持。英特尔工程师 Eikan Wang 和 Min Jean Cho 介绍了 PyTorch 为支持该硬件而做出的改变,包括泛化 PyTorch 运行时和设备层,使其更容易与新的硬件后端集成。此外,对于 torch.compile 和 torch.distributed,该版本实现了特定于英特尔 GPU 的后端。英特尔人工智能框架工程副总裁Kismat Singh表示


我们在 PyTorch 2.5 中添加了对英特尔客户端 GPU 的支持。基本上,这意味着你可以在使用最新英特尔处理器的英特尔笔记本电脑和台式机上运行 PyTorch。我们认为,这将在今年为 PyTorch 用户解锁 4000 万台笔记本电脑和台式机,预计到明年年底这一数值将达到 1 亿左右。


该版本新增了 FlexAttention API,它使 PyTorch 用户更容易在其模型中尝试不同的注意力机制。通常情况下,想要尝试新的注意力机制变体,研究人员需要直接在 PyTorch 算子中手动编码。然而,这可能会导致 “运行时缓慢和 CUDA OOM”。有了该 API,用户只需要编写 “几行惯用的 PyTorch 代码”就可以完成这项工作。然后,编译器会将这些代码转换为最优内核,“不会产生任何额外的内存开销,而性能可与手写内核相媲美”。

 

有多项性能改进尚处于 Beta 测试阶段。新增的后端 Fused Flash Attention 在英伟达 H100 GPU 上 “比 FlashAttentionV2 快 75%”。torch.compile 的区域编译功能不再需要编译完整的模型;取而代之的是编译重复模块 nn.Modules,如 Transformer 层。这可以减少编译延迟,同时只会造成百分之个位数的性能损失。TorchInductor CPU 后端也进行了多项优化。

 

Flight Recorder是一个新的调试工具,用于解决作业卡住的问题。分布式训练过程中可能会出现作业卡住的情况,其根本原因可能有很多,包括数据饥饿、网络问题或软件 Bug。Flight Recorder 使用内存循环缓冲区来捕获诊断信息。当检测到作业卡住时,它会将诊断信息转储到文件中;然后,可以使用启发式脚本对数据进行分析,找出根本原因。

 

在 Reddit 上关于该版本的讨论中,许多用户很高兴看到PyTorch对英特尔GPU的支持,称其为 “游戏规则的改变者”。另一位用户写道

很高兴看到 torch.compile 有了改进,尤其是重用重复模块以加快编译速度的功能。对于拥有大量类似组件的大型模型来说,这可能会改变游戏的规则。FlexAttention API 看起来也很有前景——只需几行代码就能实现各种注意力机制,并获得几乎可以媲美手写代码的性能,这实在是太棒了。感谢 PyTorch 团队和贡献者们又发布了一个出色的版本!


感兴趣的读者可以从 GitHub 上获取 PyTorch 2.5 的代码和发布说明。 

 

原文链接:

https://www.infoq.com/news/2024/10/pytorch-25-release/

2024-11-19 10:336397

评论

发布
暂无评论
发现更多内容

第二届中国Rust开发者大会来啦,完整议程大曝光!

Mike Tang

rust rust conf

C# Serialport的发送和接收

IC00

C# 7月月更

智能合约dapp系统开发流程技术

开发微hkkf5566

前端食堂技术周刊第 45 期:Vite3.0、第91次TC39会议、Figma背后的CSS、B 站事故复盘、图片优化工具

童欧巴

前端 deno vite TC39 figma

LeetCode-67. 二进制求和(java)

bug菌

Leet Code 7月月更

2B和2C

白粥

Okaleido生态核心权益OKA,尽在聚变Mining模式

西柚子

Kubernetes网络插件详解 - Calico篇 - 概述

巨子嘉

如何使用Docker内的kafka服务

程序员欣宸

Java kafka 7月月更

面试突击68:为什么 TCP 需要 3 次握手?

王磊

Java 面试题 网络

万字详解“用知识图谱驱动企业业绩增长”

博文视点Broadview

为啥谷歌的内部工具不适合你?

laofo

DevOps cicd 研发效能 工具链 谷歌

STM32+MFRC522完成IC卡号读取、密码修改、数据读写

DS小龙哥

7月月更

如何写一篇百万阅读量的文章

六月的雨在InfoQ

内容 个人提升 写作技巧

莫慌!Java 多商户外贸版系统这不就来了么

CRMEB

议程速递 | 7月27日分论坛议程一览

kk-OSC

开源 开放原子全球开源峰会

一文详解Nodejs中fs文件模块与path路径模块

timerring

node.js path FS 签约计划第三季

入门前端 -- CSS

bo

CSS 前端 7月月更

一种分布式深度学习编程新范式:Global Tensor

OneFlow

深度学习 编程 分布式

SAP ABAP 守护进程的实现方式

汪子熙

操作系统 守护进程 SAP abap 7月月更

java零基础入门-异常、线程(上)

喵手

Java 7月月更

语音聊天app源码——钠斯直播系统源码

开源直播系统源码

直播系统源码 语音聊天系统 语音聊天软件 一对一语音聊天系统

期待已久的 RocketMQ Summit 等待你的参与!

阿里巴巴云原生

Apache 阿里云 RocketMQ 云原生 消息队列

C#入门系列(三十一) -- 运算符重载

陈言必行

7月月更

算法题每日一练---第10天:时间显示

知心宝贝

算法 前端 后端 7月月更

服务器内存故障预测居然可以这样做!

vivo互联网技术

运维 内存监控 EDAC 内存预测

SAP ABAP Netweaver 容器化的一些前沿性研究工作分享

汪子熙

SAP abap Netweaver Docker 镜像 7月月更

Okaleido生态核心权益OKA,尽在聚变Mining模式

小哈区块

Linux 常用命令(二)

五分钟学大数据

Linux 7月月更

后端服务性能测试能力建设101

RingCentral铃盛

typescript 后端 ansible node,js SDET

Qt | 关于如何使用事件过滤器 eventFilter

YOLO.

qt 7月月更

PyTorch 2.5发布,支持英特尔GPU_编程语言_Anthony Alford_InfoQ精选文章