跳到主要内容

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.gzrc3.1.0MUSA Toolkits安装软件,适⽤于MTT S4000,MTT S3000,MTT S80
mudnn_rc2.7.0.tar.gzrc2.7.0深度学习计算加速库, 适⽤于MTT S4000,MTT S3000,MTT S80
mccl_rc1.7.0.tar.gzrc1.7.0GPU 通信加速库,适⽤于MTT S4000,MTT S3000,MTT S80
mt-peermem_1.2_amd64.deb1.2.0SmartIO 1.2.0

依赖组件

组件名称组件版本组件说明
musa_2.7.0-rc3-0822_Ubuntu_amd64.deb2.7.0显卡驱动程序及MUSA计算软件基础设施,随MUSASDK一起打包下载
mthreads-gmiv1.14.0显卡管理监控命令行工具,随显卡驱动程序附带

其他相关组件

组件名称组件版本组件说明
MTMLv1.14.0管理监控函数库
摩尔线程云原生套件 v1.9.0v1.9.0MT GPU容器运行时套件,支持以容器的方式使用GPU 兼容K8s生态的GPU对接组件 请访问https://developer.mthreads.com获取相关资源