MUSA SDK v4.3.0 发布版本信息
下载链接
发布说明
MUSA SDK v4.3.0 版本支持Intel + Ubuntu 平台
产品说明
摩尔线程 MUSA SDK 是一套完整的 GPU 并行计算开发环境,专为利用摩尔线程 GPU 加速程序而设计。通过 MUSA SDK,您能够轻松地利用 GPU 加速各种应用,涵盖企业数据中心、桌面、工作站以及云平台和超级计算机等多个领域。该套件包括了 GPU 加速库、调试和优化工具、C/C++编译器以及用于应用程序部署的运行时库等功能。作为一套完整的开发工具,MUSA SDK 包含了以下主要组件:
- MUSA Toolkits,包含底层编译器、MUSA 运行时库、Musify 工具以及MUSA-X 基础数学计算加速库
- muDNN,MT GPU 深度学习加速库
- MCCL,MT GPU 通信加速库
- MUSA SDK 依赖于摩尔线程 GPU 和摩尔线程 GPU 通用驱动程序,需要运行在带有摩尔线程 GPU的服务器/工作站/PC 中,并安装了通用 Linux 驱动程序的环境中运行
- MT GPU:MTT S5000, MTT S4000,MTT S3000,MTT S80, MTT X300 等
- 通用驱动软件
另外 MUSA SDK 可配合摩尔线程提供的其他工具和软件提供更完整的 MUSA 计算功能
- GMI&MTML 工具,可提供显卡的管理监控功能并带有 C 函数接口
- 摩尔线程云原生套件,提供基于容器环境的 MUSA 计算并兼容 K8s 生态以及基于 RDMA 的GPU通信功能
功能描述
- 支持 SIMT(Single Instruction Multiple Thread,SIMT)架构并行编程模型
- 提供 MUSA 编程语言配套的编译器工具链 mcc,用于将 MUSA 应用程序源码编译为可以被 GPU识别的可执行文件
- MUSA 驱动与运行时库,提供完整的基于 MT GPU 的MUSA 运行环境
- 摩尔线程 MUSA 数学库提供了在 MT GPU 上优化过的数学函数库,包括
- 基础线性代数算子库 muBLAS(MUSA Basic Linear Algebra Subprograms)
- 快速傅里叶变换库 muFFT(MUSA Fast Fourier Transform)
- 基础性能元库 muPP (MUSA Performance Primitives)
- 随机数生成库 muRAND
- MCCL 通信,针对摩尔线程 GPU 和网络进行性能优化的多 GPU 和多节点通信基元。 MCCL 提供了 all-gather、all-reduce、broadcast、reduce、reduce-scatter、point-to-point send 和 receive等原语,这些原语均经过优化,可通过节点内的 PCIe 和 MTLink 高速互联以及节点间的InfiniBand 网络实现高带宽和低延迟
- muDNN 库,针对深度学习领域和人工智能模型算法优化的函数库,提供高度优化的数学和数据处理任务的函数,包括张量运算,神经网络层计算,损失函数计算等
主要更新
mcc
- 支持 LS/HS stage1~4 特性
- 加强组合选项
Od3的性能与通用性 - CUDA 12.8 API 兼容率达 71%
- 支持生成 DWARF 调试信息
MUSA Driver & Runtime
- 相比上一个版本,musa benchmark 表现提升 16%
- Kernel launch latency 优化至 5 µs
- Stream dependency resolve latency 优化至 1.5 µs
- 加固 MUSA graph 功能并优化 launch latency
- 缩减 H2D/D2H/C2C launch latency 至 5 µs
- 提升多 stream 并行度至 3.2
- CUDA 12.8 API 兼容率达 75%
- 优化 D2D/memset 延迟
- 新增支持 GPU Coredump 功能
- 新增导入第三方设备 IO memory 功能
Math-X
muBLAS
- matmul 新增 11 种后处理融合模式:
MUBLASLT_EPILOGUE_DEFAULTMUBLASLT_EPILOGUE_RELUMUBLASLT_EPILOGUE_RELU_AUXMUBLASLT_EPILOGUE_BIASMUBLASLT_EPILOGUE_RELU_BIASMUBLASLT_EPILOGUE_DRELUMUBLASLT_EPILOGUE_GELUMUBLASLT_EPILOGUE_GELU_BIASMUBLASLT_EPILOGUE_DGELUMUBLASLT_EPILOGUE_BGRADAMUBLASLT_EPILOGUE_BGRADB
muSOLVER
- 新增
musolverDnCreate、musolverDnDestroy、musolverDnSetStream、musolverDnGetStream - 修改状态码以及命名风格
muSPARSE
- no update
muFFT
- no update
muPP
- no update
muRAND
- no update
MCCL
- 同步发布 mccl-tests
- 增加用户使用手册
- 增强安全编译选项
- 支持自适应网卡 gid
- 优化 bond 网口跨节点性能
- 修复找不到 mtml 的 segfault
muDNN
- Permute 优化性能
- LayerNorm 优化小 n case 性能,反向支持不同的 dg/db 数据类型
- Softmax 和 Concat 性能优化
- FlashAttention:
- 支持 ph1 head dim 160 的前向与反向
- 反向支持 stable 模式(开启会导致性能下降)
- ph1 支持 varlen 的前向与反向
- Logsumexp 对齐 torch 行为
- Matmul:
- 修复 splitk 的 bug
- 修复小分块对 TF32 的支持
- 增加 int8 per-channel 和 bf16 scale 的支持
- Lt 接口支持 ReLU/GELU 的 fuse
- 优化分块选择逻辑
- 增加 deterministic 标签
- GroupMatmul 支持 int8 和 mask 模式
- Conv3d 支持 bias/addz/act 的 fuse
- ReduceNorm:
- 修复 target dim size = 1
- 支持 std 模式
- 修复 dim 压缩的 bug
- Sort 修复 QY2 的 bug
- Binary 与 Transpose 优化 layout 不连续场景
- Scatter 支持乘法模式
- Interpolate 支持抗锯齿模式与三线性插值
- Dropout 支持 seed 和 offset
- Pad 支持更多数据类型与模式
- 编译:
- 支持 gcov 编译选项
- 支持
MCC_EXTRA_ARGS环境变量以适配 Kylin 编译环境 - 默认开启安全编译选项
- 其他:修复若干 bug 与问题
triton
- 提供更完善的 1.4.0 版本(开源版本 3.1.0),
flaggems算子通过率 95% - 支持 LSU + SQMMA 特性
- 支持
torch.compile - 支持配置
num_stages - 支持
triton-opt
兼容环境
CPU 和OS 组合
- x86 架构:Intel CPU,OS:Ubuntu 22.04.x LTS x86_64
GPU
- MTT S4000,MTT S3000,MTT S80
依赖驱动版本
- Intel CPU + Linux OS (Ubuntu)依赖驱动:musa_2.7.0-rc3-0822_Ubuntu_amd64.deb
产品组件说明
MUSA SDK组件
| 包名称 | 版本号 | 备注 |
|---|---|---|
| 79e98a02a_mtml_2.2.0-linux-R_amd64.deb | 2.2.0 | |
| mccl_rc2.1.0.PH1.tar.gz | 2.1.0.PH1 | MCCL for S5000 |
| mccl_rc2.1.0.QY2.tar.gz | 2.1.0.QY2 | MCCL for S4000 |
| mudnn_rc3.1.0.PH1.tar.gz | 3.1.0.PH1 | muDNN for S5000 |
| mudnn_rc3.1.0.QY1.tar.gz | 3.1.0.QY1 | muDNN for S80,X300,S3000 |
| mudnn_rc3.1.0.QY2.tar.gz | 3.1.0.QY2 | muDNN for S90,S4000 |
| musa_3.3.0-server_amd64.deb | 3.3.0 | Linux Driver |
| musa_toolkits_rc4.3.0.tar.gz | 4.3.0 | MUSA Toolkit安装包 |
| triton_rc1.4.0_py310.tar.gz | 1.4.0 | Triton for python3.10 |
| triton_rc1.4.0_py311.tar.gz | 1.4.0 | Triton for python3.11 |

