近日,PyTorch 正式发布了v2.9.1版本,这是一次专注于修复回归问题和隐性正确性错误的 Bug Fix Release。本次更新主要针对 PyTorch v2.9.0 中出现的一些性能回退、分布式计算问题、编译器错误等进行修复与优化。以下为详细更新内容。
一、回归问题修复
•F.conv3d 在 bfloat16 输入下的显著内存回退问题
在 v2.9.0 中,F.conv3d使用 bfloat16 输入时出现严重的内存占用回退。
本次版本提供了解决方案,如受影响建议从 PyPI 安装nvidia-cudnn包版本 9.15+。
• 修复 Inductor 在编译 Gemma 时的错误。
• 修复
InternalTorchDynamoError在字节码转换过程中的问题。• 修复
error_on_graph_break配置下发生的隐性正确性错误,该错误会导致在非空 checkpoint 情况下出现不必要的 graph break 恢复。• 提升性能:
• 使用
mark_static_address配合 cudagraphs 时避免重复编译。• 在
torch inductor中缓存get_free_symbol_uses以提升性能。
• 修复 Inductor 图分区在 vLLM 场景下的注册设计问题。
• 修复
torch.compile中出现的频繁警告信息。• 修复
tracer_output变量未初始化导致的异常。• 修复
torch.bmm与torch.compile在 v2.9.0 版本下的崩溃问题。
• 修复新 TF32 控制 API 下频繁产生的警告信息。
• 修复分布式计算中,
gather输入非 contiguous 引发的崩溃。• 修复对大张量进行索引时导致的无效配置参数问题。
• 修复
CUDNN_ATTENTION中的数值计算问题。• 修复在
fused_scaled_matmul_reduce_scatter中的对称内存问题。• 改进 libtorch 稳定 ABI 文档。
• 修复 PyPI 项目描述部分图片显示问题。
代码地址:github.com/pytorch/pytorch
PyTorch v2.9.1 是一次重要的修复版本,针对 v2.9.0 的性能回退与编译器错误进行了集中处理,并在分布式、内存管理、数值计算等方面做出了优化。如果你的项目正在使用 v2.9.0,并且出现了相关问题,推荐及时升级至v2.9.1,并确保相关依赖(如nvidia-cudnn)版本满足要求,以获得最佳的性能与稳定性。
我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。 欢迎关注“福大大架构师每日一题”,发消息可获得面试资料,让AI助力您的未来发展。
热门跟贴