MUSA SDK v3.1.0 RC 发布版本信息
下载链接
https://developer.mthreads.com/musa/musa-sdk
发布说明
MUSA SDK v3.1.0 RC 版本支持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 S4000,MTT S3000,MTT S80 等
- 通用驱动软件
另外 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 库,针对深度学习领域和人工智能模型算法优化的函数库,提供高度优化的数学和数据处理任务的函数,包括张量运算,神经网络层计算,损失函数计算等
主要更新
-
Math-X
-
muBLAS
- 功能扩展:
- 在S4000上添加gemmEx支持,目前支持FP16、TF32两种输入格式
- 性能提升:
- 提升下一代构架中部分BLAS API的性能: Dgemm/Zgemm/Dsymm/Zsymm/Dtrmm/Ztrmm
- 错误修复:
- 修复strsm多线程场景的偶发错误
- 功能扩展:
-
muSOLVER
- 主要功能:
- LU分解;覆盖全数据类型
- 基于LU分解的矩阵求解;覆盖全数据类型
- 最小二乘;覆盖单精度复数类型
- 详细API:
musolverSgetrf musolverDgetrf musolverCgetrf musolverZgetrf musolverSgetrf_buffersize musolverDgetrf_buffersize musolverCgetrf_buffersize musolverZgetrf_buffersize musolverSgetrs musolverDgetrs musolverCgetrs musolverZgetrs musolverSgetrs_buffersize musolverDgetrs_buffersize musolverCgetrs_buffersize musolverZgetrs_buffersize musolverCgelsBatched musolverCgelsBatched_bufferSize - 主要功能:
-
-
muDNN
- 支持 Logsumexp
- 支持 RMSNorm Backward
- Matmul 添加新接口,支持 outplace 的 addmm
- Elementwise 能传入不同数据类型的输入 tensor 和 alpha/bete 参数
- Binary 支持传入 broadcast 后的 tensor
- Binary 新增 floor_div_by_alpha,unary 新增 sub_by_alpha 和 div_by_alpha
- FlashAttention 支持超长 seq_len(128K) 的attention mask
- 修复一些bug和问题
-
muTriton
Triton是一种并行编程语言同时也是Triton语言的编译器。Triton语言旨在提供一种基于Python的编程环境,使用户能够高效地开发定制化的DNN计算核心,并且能够在现代GPU硬件上实现吞吐最大化。Triton MUSA实现了摩尔线程GPU对Triton语言编译器的完整支持,使用户开发的Triton计算核心能够高 效地运行在摩尔线程GPU上。
- 主要特性:
- Python 3.10.x安装命令 pip install triton-2.1.0-cp310-cp310-linux_x86_64.whl
- 完整支持triton 2.1.0,适配部分2.2.0特性,支持MUSA作为默认设备
- 支持mp_22架构S4000系列GPU
- 依赖torch_musa-1.2.0和musa_toolkits_dev3.1.0
- 支持mp_22架构S4000系列GPU
- 支持大部分FlagGems算子,支持float16/float32/bfloat16数据类型
- 主要特性:
-
MCCL
- 增加DMA-BUF支持,仅限linux kernel >= 5.15
兼容环境
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组件
| 组件名称 | 组件版本 | 组件说明 |
|---|---|---|
| musa_toolkits_rc3.1.0.tar.gz | rc3.1.0 | MUSA Toolkits安装软件,适⽤于MTT S4000,MTT S3000,MTT S80 |
| mudnn_rc2.7.0.tar.gz | rc2.7.0 | 深度学习计算加 速库, 适⽤于MTT S4000,MTT S3000,MTT S80 |
| mccl_rc1.7.0.tar.gz | rc1.7.0 | GPU 通信加速库,适⽤于MTT S4000,MTT S3000,MTT S80 |
| mt-peermem_1.2_amd64.deb | 1.2.0 | SmartIO 1.2.0 |
依赖组件
| 组件名称 | 组件版本 | 组件说明 |
|---|---|---|
| musa_2.7.0-rc3-0822_Ubuntu_amd64.deb | 2.7.0 | 显卡驱动程序及MUSA计算软件基础设施,随MUSASDK一起打包下载 |
| mthreads-gmi | v1.14.0 | 显卡管理监控命令行工具,随显卡驱动程序附带 |
其他相关组件
| 组件名称 | 组件版本 | 组件说明 |
|---|---|---|
| MTML | v1.14.0 | 管理监控函数库 |
| 摩尔线程云原生套件 v1.9.0 | v1.9.0 | MT GPU容器运行时套件,支持以容器的方式使用GPU 兼容K8s生态的GPU对接组件 请访问https://developer.mthreads.com获取相关资源 |

