2. 简介
后摩大道® M50 软件平台是为 后摩漫界® M50系列产品自主研发的AI软件开发平台,能够帮助用户高效开发、调试并部署应用到后摩智能存算一体架构硬件平台,从而降低客户开发及迁移成本,使能客户的差异化设计。软件平台主要由深度学习算子库、开发工具、系统软件等组件构成。
2.1. 重点功能
主要功能包括:
提供模型编译、调试、量化、优化等基础工具。
针对人工智能网络应用场景,提供高度优化的常用深度学习算子。
提供端到端的模型优化及推理业务部署能力。
2.2. 软件平台架构
后摩大道® M50 软件平台架构图如下所示:
图 2.1 软件平台架构图
后摩大道® M50 软件平台包括以下组件:
2.2.1. 系统软件
系统软件包括Firmware和Driver。Firmware(固件)是指SoC底层“驱动程序”,承担着系统最底层工作的软件。Driver(驱动)用于SoC和上层应用之间的通信。
2.2.2. TCIM
TCIM(Tensor Compiler In Memory,后摩神经网络模型编译器)是面向后摩硬件设备的推理加速引擎。基于开源MLIR(Multi-Level Intermediate Representation,多层次中间表示)框架,TCIM能够自动适配不同的后摩设备硬件平台,并通过多层次优化提升推理性能和资源利用率。
详细说明请参看《后摩大道® M50 TCIM用户手册》和《后摩大道® M50 TCIM开发者手册》。
2.2.3. HMQuantool
后摩大道® M50 HMQuantool量化工具用于将需要部署在后摩硬件设备上的模型进行解析、图优化和后训练量化(PTQ, Post‑ Training Quantization)。
详细说明请参看《后摩大道® M50 HMQuantool量化工具用户手册》。
2.2.4. HmUpdateTool
后摩大道® M50 HmUpdateTool 镜像升级工具用于烧写和升级后摩硬件的固件镜像。该工具根据SoC当前系统状态,动态选择镜像升级模式,将镜像写到固件特定分区上。
详细说明请参看《后摩大道® M50 HmUpdateTool工具使用指南》。
2.2.5. SMI
后摩大道® M50 SMI(System Management Interface,系统管理接口)工具用于管理和监控后摩硬件设备。用户可以通过命令行方式获取硬件的功耗、结温、系统软件版本等信息。
详细说明请参看《后摩大道® M50 SMI工具使用指南》。
2.2.6. HMDML
后摩大道® M50 HMDML(Houmo Device Management Library,后摩设备管理库)是专为后摩M50系列产品设计的C语言编程接口库,为开发者提供标准化的设备管理能力。
详细说明请参看《后摩大道® M50 HMDML用户手册》。
2.2.7. Tool Suite
后摩大道® M50 工具套件为用户提供一了套全面、深入的性能分析和基准测试工具集,用于准确评估和优化目标 AI 芯片的运行效率。
包含的工具如下:
模型信息获取工具: 用于提取和展示编译后的模型信息,帮助用户全面了解模型结构、输入输出tensor属性、量化配置,以及模型在后摩设备加载后的内存和计算资源占用情况。
芯片算力基准测试工具: 用于评估 M50 芯片的 AI 加速器在计算密集型负载下的实际峰值推理算力。
PCIe性能评测工具: 用于评估主机与M50设备之间数据传输通道的读写通信带宽。
模型推理性能评测工具: 用于评测网络模型在 M50 后摩设备上的推理性能,帮助用户系统性地分析模型在实际运行环境中的延迟和吞吐量。
芯片DDR带宽基准测试工具: 用于评估 M50 芯片 DDR 内存的最大有效带宽。
Profiler性能调试工具: 在模型推理过程中收集后摩硬件 IPU 内核指令执行的性能数据,和后摩硬件设备的 DDR 平均带宽和峰值带宽,支持分析瓶颈并优化计算性能。
模型转换与评估工具: 为 ModelZoo 模型库中的网络模型提供量化、编译、推理及性能和精度评测功能,实现一键化全流程评测和分析。
LLM推理性能评测工具: 用于评测 LLM 模型在 M50 后摩设备上的实际推理性能,帮助用户系统性地分析模型在真实运行环境中的延迟、吞吐量与生成速度。
LLM精度评测工具: 用于对部署在M50后摩设备上的LLM模型和vLM模型进行高精度、自动化的精度评测。
部署环境检测工具: 用于在实际后摩硬件设备上,对后摩设备部署环境的关键软件版本、硬件参数及核心性能指标进行自动化检测与校验,帮助用户快速评估部署环境的可用性与性能状态。
模型权重共享工具: 用于对多个已编译模型执行权重共享与恢复处理,通过剥离模型间的重复权重以降低存储和内存占用,并在需要时可还原为完整可执行模型。
Windows 环境部署工具: 用于在后摩设备的 Windows 系统上,一键完成运行后摩大道软件平台提供的应用开发示例所需的环境配置,包括关键环境变量的设置与必要的环境初始化,帮助用户快速具备样例运行条件。
详情参看《后摩大道® M50 工具套件用户指南》。
2.3. 算子列表
2.3.1. 整体约束
输入 tensor 的形状必须是固定形状,不支持动态维度。
2.3.2. 支持的ONNX算子列表
后摩大道® M50 软件平台当前支持的ONNX算子(v1.18.0)如下表所示:
ONNX算子 |
后摩软件平台约束 |
ONNX Opset版本 |
|---|---|---|
Abs |
支持输入输出tensor为2至6维。 |
13 |
Add |
|
14 |
ArgMax |
|
13 |
AveragePool |
|
22 |
BatchNormalization |
|
15 |
Clip |
支持输入输出tensor为2至6维。 |
13 |
Concat |
|
13 |
Conv |
|
22 |
ConvTranspose |
|
22 |
Cosh |
支持输入输出tensor为2至6维。 |
22 |
Flatten |
|
21 |
GlobalAveragePool |
|
22 |
HardSigmoid |
|
22 |
HardSwish |
支持输入输出tensor为2至6维。 |
22 |
LeakyRelu |
支持输入输出tensor为2至6维。 |
16 |
Log |
|
13 |
MatMul |
输入tensor维度必须大于2维。 |
13 |
MaxPool |
|
22 |
Mul |
支持输入输出tensor为2至6维。 |
14 |
Neg |
|
13 |
ReduceMean |
|
18 |
ReduceSum |
|
13 |
Reshape |
|
21 |
Sigmoid |
支持输入输出tensor为2至6维。 |
13 |
Slice |
支持输入输出tensor为2至6维。 |
13 |
Softmax |
|
13 |
Split |
|
18 |
Sqrt |
|
13 |
Squeeze |
|
21 |
Sub |
支持输入输出tensor为2至6维。 |
14 |
Tanh |
支持输入输出tensor为2至6维。 |
13 |
Tile |
支持输入输出tensor为2至6维。 |
13 |
Transpose |
支持输入输出tensor为2至6维。 |
21 |
Unsqueeze |
|
21 |