摩尔线程发布Torch-MUSA v2.7.0,提升AI训练与推理性能。
11月28日,据消息,摩尔线程近日正式推出其针对PyTorch深度学习框架的MUSA扩展库——Torch-MUSAv2.7.0。该版本在功能整合、性能提升以及硬件兼容性方面取得进一步进展。Torch-MUSA在短短一个月内,相继发布了v2.5.0和v2.7.0两个版本。
据介绍,自v2.5.0版本起,Torch-MUSA的版本号与PyTorch主版本号实现同步,方便开发者进行版本识别和管理。新版本进一步集成了muSolver和muFFT等计算加速库,大幅提升复杂计算任务的执行效率;同时新增对统一内存设备(UnifiedMemory)的UMM支持,有效优化内存使用效率。
此外,新版本继续确保与最新MUSASDK的兼容性,支持使用MUSASDK4.2.0至4.3.0及更高版本进行编译。目前,Torch-MUSA所支持的专属算子数量已超过1050个,系统在性能和稳定性方面均实现了进一步优化。
新增特性
新增 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 流水线并行策略,降低训练内存占用。
从官方获悉,Torch-MUSA将持续跟进PyTorch的版本更新,计划在下个版本中支持PyTorch 2.9.0,并继续提升性能和功能。
Torch-MUSA 开源地址:https://github.com/MooreThreads/torch_musa