快科技 11 月 28 日消息,摩尔线程正式发布了 PyTorch 深度学习框架的最新版 MUSA 扩展库—— Torch-MUSA v2.7.0,在功能集成、性能优化、硬件支持上都实现了进一步突破。
值得一提的是,在短短一个月内,Torch-MUSA 就连续完成了 v2.5.0、v2.7.0 两次版本更新。
另外一个变化就是,v2.5.0 版本起,Torch-MUSA 版本号与 PyTorch 主版本号保持同步,便于开发者进行版本识别与管理。
v2.7.0 版本进一步集成了 muSolver、muFFT 等计算加速库,显著提升复杂计算任务的执行效率;
新增支持统一内存设备(Unified Memory)的 UMM,有效优化内存使用效率。
继续保持与最新 MUSA SDK 的兼容性,支持使用 MUSA SDK 4.2.0 至 4.3.0 及更高版本进行编译。
目前,Torch-MUSA 专属支持的算子总数已超过 1050 个,系统在性能与稳定性方面均实现进一步提升,为大模型训练与推理提供了更高效、更可靠的底层支持。
下一次版本升级将是 v2.9.0,进一步优化性能与功能,持续构建和完善基于 MUSA 架构国产全功能 GPU 的深度学习生态。
▼ Torch-MUSA 开源地址:
https://github.com/MooreThreads/torch_musa

v2.7.0 版本主要更新内容
新增特性
▼ 动态双精度转换(Dynamic Double Cast)
用户可通过设置环境变量 export TORCH_USE_MUSA_DOUBLE_CAST=1,开启 Float64 数据类型算子的动态转换功能,torch_musa 将使用 float32 作为计算数据类型。
▼ 分布式检查点(Distributed Checkpoint)
支持从多个 rank 并行加载和保存模型,显著加速检查点的保存与加载过程。目前已支持分布式检查点的异步保存功能。
功能增强
▼ 新增 Poisson、binomial、_standard_gamma、_sample_dirichlet、vdot、upsample(1d、2d、3d、with aa)、flash_attention、transformer_encoder_layer 等多个实用算子,MUSA 专属支持的算子总数突破 1050 个。
▼ 通过升级 PyTorch 底层支持,torch.compile 与 AOTInductor 功能进一步增强;
▼ 默认启用 TF32 计算模式,提升浮点运算效率;
▼ 优化性能分析工具 Kineto 的稳定性,并将其适配版本升级至 2.7.0;
▼ 继续优化 FSDP2 流水线并行策略,进一步降低内存占用。
v2.5.0 版本主要更新内容
▼ 新增 muFFT 与 muSolver 库集成,大幅扩展计算能力;
▼ 在面向边缘计算的 SoC 设备中支持统一内存管理,基于 Arm 架构的 UMA(统一内存寻址)设计,实现 GPU 与 CPU 共享同一物理内存空间,显著降低模型运行过程中的内存开销,具体包括:
消除 GPU 端重复内存分配;
减少主机与设备间的内存拷贝;
GPU 可直接访问由 CPU 分配器申请的内存空间。
算子扩展与性能优化
▼ 新增支持包括 ilshift、irshift、replication_pad1d_bwd、angle、ctcLossTensor、ctcLossTensorBwd、logit、amin/amax/prod.dim_int、glu_bwd 等多个算子;
▼ 新增基础 Sparse ( CSR ) 操作支持;
▼ 扩充量化算子支持范围;
▼ 修复 torch.norm 形状错误问题;
▼ 支持 reduce_sum 的 uint8 输入与 int64 输出;
▼ C++ 扩展新增支持 tensor.is_musa ( ) 方法;
▼ 修复空输入下 argmax/argmin 的异常行为;
▼ 优化 var/std、pad、convolution3d、layer_norm 等操作的执行效率。
系统功能增强
▼ 开放 torch.musa.mccl.version ( ) 接口;
▼ 支持 getCurrentMUSABlasHandle 与 getCurrentMUSABlasLtHandle;
▼ 优化 FSDP2 流水线并行策略,降低训练内存占用。


登录后才可以发布评论哦
打开小程序可以发布评论哦