PyTorch 2.5 发布带来一些新特性和改进
- 官网:https://github.com/pytorch/pytorch
- GitHub:https://github.com/pytorch/pytorch
- 原文:https://github.com/pytorch/pytorch/releases/tag/v2.5.0
主要亮点 (Highlights)]
- SDPA CuDNN 后端:为
torch.nn.functional.scaled_dot_product_attention提供了新的 CuDNN 后端,可以在 NVIDIA H100 或更新的 GPU 上提供高达 75% 的加速。 - torch.compile 区域编译:通过
torch._dynamo.config.inline_inbuilt_nn_modules允许编译重复的nn.Module(例如大型语言模型中的变换器层)而无需重新编译,从而减少编译延迟。 - TorchInductor CPU 后端优化:包括 C++ 后端代码生成和 FX 融合,支持向量化和所有 Inductor IR 操作,兼容 Linux 和 Windows 系统。

PyTorch 2.5.0版本的发布带来了一系列新特性、改进、性能优化以及bug修复,旨在提升用户体验、增强功能和提高执行效率。以下是对PyTorch 2.5.0版本的全面总结:
新特性和改进
-
SDPA CuDNN后端:引入了新的CuDNN后端,为使用H100或更新型号GPU的SDPA用户提供了默认的速度提升。
-
torch.compile的区域编译:允许用户编译重复的
nn.Module,而无需重新编译,减少了编译延迟并可能轻微降低性能。 -
TorchInductor CPU后端优化:包括CPP后端代码生成和FX融合,支持向量化操作和静态/符号形状,兼容Linux和Windows操作系统。
-
FlexAttention API:一个灵活的API,允许用少量代码实现多种注意力机制,如滑动窗口、因果掩码等,并自动生成反向传播。
-
编译自动微分:作为PT2技术栈的扩展,允许捕获完整的反向传播过程,提高了自动微分的灵活性。
-
飞行记录器:一个调试工具,用于捕获集体操作的信息,帮助快速识别和解决作业卡住的问题。
-
最大自动调优CPU支持:Inductor CPU后端在编译时配置多个操作实现,并选择最佳性能的一个。
-
TorchInductor在Windows上的支持:支持MSVC、clang和Intel编译器。
-
FP16在CPU路径上的支持:支持在CPU上使用FP16数据类型,有助于提升性能。
-
自动加载设备扩展:简化了设备扩展的集成过程,无需手动导入。
-
增强的Intel GPU支持:扩展了对Intel GPU的支持,包括数据中心和客户端GPU。
向后不兼容的变更
- 分布式处理:移除了一些旧的选项和方法,以反映代码结构的正确性。
- 导出功能:移除了
dynamic_dim()方法,改用Dims来指定动态形状。 - Inductor:更新了基准测试路径,从使用Triton的基准测试工具转移到内部Inductor工具。
性能优化
- CUDA:为深度卷积反向操作生成内核,调整了tile启发式规则以提高性能。
- 分布式:添加了CPU分析器的动态活动切换API。
- Dynamo:手动实现了
nn.Module.__getattr__和nn.Module._call_impl,优化了小型元组的guard。 - Inductor:添加了对BF16->FP32转换的NEON实现,支持了INT8数据类型的masked vectorization。
文档和开发者支持
- 提供了详细的文档更新,包括新特性的使用说明、API文档的改进和错误信息的优化。
安全性更新
- Inductor:放宽了对大小符号可以为0的统一检查。
其他改进
- Autograd前端:支持
GradientEdge作为torch.autograd.grad的输出。 - 分布式:引入了带有分析器的Flight Recorder,用于捕获集体操作的诊断信息。
- Dynamo:引入了
torch._dynamo.config.enable_compiler_collectives,用于跨等级同步编译。 - 导出功能:支持
export_for_training,自动动态形状。
相关文章:
PyTorch 2.5 发布带来一些新特性和改进
官网:https://github.com/pytorch/pytorchGitHub:https://github.com/pytorch/pytorch原文:https://github.com/pytorch/pytorch/releases/tag/v2.5.0 主要亮点 (Highlights)] SDPA CuDNN 后端:为 torch.nn.functional.scaled_d…...
算法:560.和为k的子数组
题目 链接:leetcode链接 思路分析(前缀和) 注意:我们前面讲过滑动窗口可以处理子数组、子串等问题, 但是在这道题目里面注意数据范围 -1000 < nums[i] < 1000 nums[i]可正可负,区间的和没有单调性,使…...
C++之list(2)
list(2) list的迭代器 const迭代器 根据我们之前学过的知识: const int*p1;//修饰的是指向的内容 int *const p2;//修饰的是迭代器本身我们写const迭代器,期望的是指向的内容不能修改。 所以更期望写上面p1的形式 const迭代器与普通迭代器的不同点在于…...
React Componet类组件详解(老项目)
React类组件是通过创建class继承React.Component来创建的,是React中用于构建用户界面的重要部分。以下是对React类组件的详细解释: 一、定义与基本结构 类组件使用ES6的class语法定义,并继承自React.Component。它们具有更复杂的功能&#…...
位运算题目-Java实现-LeetCode题解:判断字符是否唯一-丢失的数字-两整数之和-只出现一次的数字 II-消失的两个数字
这里是Themberfue 上一篇文章讲完了常见位运算的技巧以及总结 那么本章则通过五道题来运用这些技巧 判定字符是否唯一 题目解析 本题要求判断给定字符串中的字符是否唯一,也就是每个字符是否只出现一次 算法讲解 本题用哈希表遍历每一个字符也可以解决 如果这题使…...
复合泊松过程
复合泊松过程的均值、方差与特征函数 复合泊松过程的定义 复合泊松过程 ( Y(t) ) 是一种常见的随机过程,通常定义为: Y ( t ) ∑ k 1 N ( t ) X k Y(t) \sum_{k1}^{N(t)} X_k Y(t)k1∑N(t)Xk 其中: ( N(t) ) 是一个强度为 ( \lambd…...
[week1] newstar ctf ezAndroidStudy
本题主要考查对 APK 基本结构的掌握 查看 AndroidManifest.xml 可以发现 activity 只有 Homo 和 MainActivity 我们用 Jadx 打开 work.pangbai.ezandroidstudy.Homo 就可以获得 flag1 打开 resources.arsc/res/value/string.xml 搜索 flag2 即可 按描述到 /layout/activity_ma…...
TCP——Socket
应用进程只借助Socket API发和收但是不关心他是怎么进行传和收的 数据结构 图示Socket连接 捆绑属于隐式捆绑...
OpenStack服务Swift重启失效(已解决)
案例分析Swift重启失效 1. 报错详情 在重新启动 VMware 虚拟机后,我们发现 OpenStack 的 Swift 服务出现了 503 Service Unavailable 错误。经过排查,问题根源在于 Swift 服务所使用的存储挂载是临时挂载,而非永久挂载。 Swift 服务依赖于…...
System.Text.Json类库进行json转化时ValueKind:Object问题
当你的使用的Json库是System.Text.Json,而不是Newtonsoft.Json库的时候,你可能遇到以下问题及其解决办法。通常的解决办法是进行一些对应的配置。此外就需要根据情况使用自定义转换器实现你的需求。以下是通常遇到的使用自定义转换器解决的例子: Q1.当遇…...
免费Excel工作表同类数据合并工具
下载地址:https://pan.quark.cn/s/81b1aeb45e4c 在 Excel 表格里,当我们试图手动将多行同类数据合并为一行时,会遭遇诸多棘手的困难以及繁杂的操作流程。在确定哪些数据属于可合并的同类数据时,单纯依靠人工进行对比,极…...
如何在算家云搭建Video-Infinity(视频生成)
一、模型介绍 Video-Infinity是一个先进的视频生成模型,使用多个 GPU 快速生成长视频,无需额外训练。它能够基于用户提供的文本或图片提示,创造出高质量、多样化的视频内容。 二、模型搭建流程 1.大模型 Video-Infinity 一键使用 基础环境…...
LeetCode搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出: 2 …...
UE5学习笔记24-添加武器弹药
一、给角色的武器添加弹药 1.创建界面,根据笔记23的界面中添加 2.绑定界面控件 UPROPERTY(meta (Bindwidget))UTextBlock* WeaponAmmoAmount;UPROPERTY(meta (Bindwidget))UTextBlock* CarriedAmmoAmount; 3.添加武器类型枚举 3.1创建武器类型枚举头文件 3.2创建文…...
限制游客在wordpress某分类下阅读文章的数量
在WordPress中实现某个分类下的内容限制游客只能阅读前5篇文章,注册用户可以阅读更多文章的功能,可以通过以下步骤来完成: 1. 安装和激活插件 首先,你可以使用一个插件来简化这个过程。一个常用的插件是 “MemberPress” 或 “R…...
Oracle云主机申请和使用教程:从注册到SSH连接的全过程
今天我要和大家分享如何成功申请Oracle云主机,并进行基本的配置和使用。我知道很多同行的朋友在申请Oracle云主机时都遇到了困难(疑惑abc错误),可能试了很多次都没有成功。现总结一下这些年来的一些注册流程经验,或许你们也能成功申请到自己的…...
芯知识 | NVH-FLASH语音芯片支持平台做语音—打造音频IC技术革新
随着科技的飞速发展,人们对于电子产品的音频性能要求越来越高。在这种背景下,NVH-FLASH系列语音芯片应运而生,作为音频IC领域的一次重大技术革新,NVH-FLASH系列语音芯片凭借其卓越的性能与灵活的支持平台,正逐步引领着…...
机器学习——解释性AI与可解释性机器学习
解释性AI与可解释性机器学习: 理解机器学习模型背后的逻辑 随着人工智能技术的广泛应用,机器学习模型越来越多地被用于决策过程。然而,这些模型,尤其是深度学习模型,通常被视为“黑箱”,难以理解其背后的决策逻辑。解…...
中国全国省市区县汇总全国省市区json省市区数据2024最新
简介 包含全国省市区县数据,共3465个。 全国总共有23个省、5个自治区、4个直辖市、2个特别行政区。 ——更新于2024年10月16日,从2017年开始,已经更新坚持7年 从刚开始1000个左右的城市json,到现在全国省市区县3465个。 本人感觉应该是目前最完善的~ 每年都在更新中,…...
[Linux#67][IP] 报头详解 | 网络划分 | CIDR无类别 | DHCP动态分配 | NAT转发 | 路由器
目录 一. IP协议头格式 学习任何协议前的两个关键问题 IP 报头与有效载荷分离 分离方法 为什么需要16位总长度 如何交付 二. 网络通信 1.IP地址的划分理念 2. 子网管理 3.网络划分 CIDR(无类别域间路由) 目的IP & 当前路由器的子网掩码 …...
国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
