1. 概述

本文档包含了此次发布的AI应用软件包的特性,已知问题和使用限制等。

此次发布是MXC500 GPU的AI应用交付, MXMACA-C500-SDK-2.32.0.6MXMACA-C500-Driver-2.32.0.6MXMACA-C500-Pytorch-2.32.0.3 版本适用于曦云® C500、C500-P、C500X、C550 OAM1.5、C550 OAM2.0和曦思® N260。

下表列出了系统测试覆盖率和通过率。

表 1.1 系统测试覆盖率及通过率

系统

测试覆盖率/通过率

mxc500-ppl.llm.serving-2.32.0.7

Full regression with release quality

mxc500-modelzoo.llm.ppl-2.32.0.8

Full regression with release quality

mxc500-paddle-2.32.0.5

Full regression with release quality

mxc500-deepspeed-2.32.0.5

Full regression with release quality

mxc500-internlm-2.32.0.5

Full regression with release quality

mxc500-bitsandbytes-2.32.0.5

Full regression with release quality

mxc500-tensorflow-2.32.0.5

Full regression with release quality

mxc500-modelzoo.cnn.training-2.32.0.5

Full regression with release quality

mxc500-mmcv-2.32.0.5

Full regression with release quality

mxc500-megatron-lm-2.32.0.5

Full regression with release quality

mxc500-colossalai-2.32.0.5

Full regression with release quality

mxc500-triton-inference-server-2.32.0.5

Full regression with release quality

mxc500-modelzoo.llm.transformers-2.32.0.5

Full regression with release quality

mxc500-diffusers.training-2.32.0.5

Full regression with release quality

mxc500-xtuner-2.32.0.7

Full regression with release quality

mxc500-cv-cuda-2.32.0.5

Full regression with release quality

mxc500-ray-2.32.0.7

First regression with release quality

mxc500-vllm-2.32.0.11

Full regression with release quality

mxc500-modelzoo.llm.vllm-2.32.0.11

Full regression with release quality

mxc500-modelzoo.llm.diffusers-2.32.0.6

Full regression with release quality

mxc500-onnxruntime-2.32.0.6

Full regression with release quality

mxc500-modelzoo.cnn.inference-2.32.0.6

Full regression with release quality

mxc500-sglang-2.32.0.10

First regression with release quality

1.1. 交付内容

此次发布包含以下内容:

  • 二进制文件,动态库和容器镜像文件

  • vLLM大模型推理框架

  • PPLLLM大模型推理引擎

  • DeepSpeed大模型训练框架

  • PaddlePaddle深度学习框架

  • Colossal-AI大模型训练框架

  • Megatron-LM-AI大模型训练框架

  • InternLM大模型训练框架

  • TritonInferenceServer推理框架

  • BitsAndBytes量化工具

  • MacaPrecision模型精度分析工具

  • MacaQuantizier量化工具

  • MacaConverter模型转换工具

  • Onnxruntime-maca推理引擎

  • TensorFlow机器学习框架

  • mmcv computer visios library

  • CV-CUDA计算机视觉加速库

  • XTuner大模型微调工具库

  • Ray开源的统一计算框架,旨在简化 Python 和 AI 应用的分布式计算

  • SGLang大模型推理框架

  • 《曦云® 系列通用计算GPU AI推理用户手册》

2. 新增特性及变更

本章列出历次发布的新增特性及变更。

2.1. 配套MXMACA-C500-SDK-2.32.0.6,MXMACA-C500-Driver-2.32.0.6,MXMACA-C500-Pytorch-2.32.0.3

2.1.1. mxc500-megatron-lm-2.32.0.5

模块

特性说明

megatron-lm

计算通信并行支持sdma

attention offload 支持TE

2.1.2. mxc500-paddle-2.32.0.5

模块

特性说明

paddle

修复op paddle.eye

修复bug

2.1.3. mxc500-bitsandbytes-2.32.0.5

模块

特性说明

bitsandbytes

社区版本升级到0.45.2

2.1.4. mxc500-ray-2.32.0.7

模块

特性说明

Ray

首次发布,支持ray.dag

2.1.5. mxc500-vllm-2.32.0.11

模块

特性说明

vllm

切换版本至0.8.2

支持V1 engine, 默认export VLLM_USE_V1=0 使用V0 engine测试

2.1.6. mxc500-modelzoo.llm.vllm-2.32.0.11

模块

特性说明

modelzoo.llm.vllm

支持vllm 0.8.2

2.1.7. mxc500-modelzoo.llm.diffusers-2.32.0.6

模块

特性说明

modelzoo.llm.diffusers

需配套MXMACA-C500-SDK-2.32.0.7使用

如需获取二进制安装包,请联系沐曦技术支持工程师

2.1.8. mxc500-onnxruntime-2.32.0.6

模块

特性说明

mxc500-onnxruntime

需配套MXMACA-C500-SDK-2.32.0.7使用

如需获取二进制安装包,请联系沐曦技术支持工程师

2.1.9. mxc500-modelzoo.cnn.inference-2.32.0.6

模块

特性说明

modelzoo.cnn.inference

需配套MXMACA-C500-SDK-2.32.0.7使用

如需获取二进制安装包,请联系沐曦技术支持工程师

2.1.10. mxc500-sglang-2.32.0.10

模块

特性说明

sglang

v0.4.3版本适配

支持DeepSeek-BF16模型及DeepSeek-R1-Qwen、DeepSeek-R1-Llama系列蒸馏模型

支持W8A8_INT8量化

2.2. 配套MXMACA-C500-SDK-2.31.0.6,MXMACA-C500-Driver-2.31.0.6,MXMACA-C500-Pytorch-2.31.0.4

2.2.1. mxc500-deepspeed-2.31.0.3

模块

特性说明

deepspeed

增加liger_kernel融合算子

Pytorch版本升级到2.4

2.2.2. mxc500-colossalai-2.31.0.4

模块

特性说明

colossalai

Colossal-AI从0.3.4升级到0.3.6

2.2.3. mxc500-megatron-lm-2.31.0.3

模块

特性说明

megatron-lm

auto search

冷热专家

DeepSeek系列基础结构,aux loss free

更新Readme和特性介绍

2.2.4. mxc500-triton-inference-server-2.31.0.3

模块

特性说明

triton-inference-server

Pytorch版本升级到2.4

2.3. 配套MXMACA-C500-SDK-2.29.0.19,MXMACA-C500-Driver-2.29.0.13,MXMACA-C500-Pytorch-2.29.0.4

2.3.1. mxc500-cv-cuda-2.29.0.6

模块

特性说明

cv-cuda

初版适配

2.3.2. mxc500-xtuner-2.29.0.7

模块

特性说明

xtuner

初版适配

2.3.3. mxc500-vllm-2.29.0.6

模块

特性说明

vllm

版本升级为0.6.6(仅适用py310)

支持GGUF

支持W8A8量化方式

支持分离式推理

2.3.4. mxc500-modelzoo.llm.vllm-2.29.0.8

模块

特性说明

modelzoo.llm.vllm

兼容0.6.6特性(仅适用py310)

新增支持模型

2.3.5. mxc500-modelzoo.llm.diffusers-2.29.0.6

模块

特性说明

modelzoo.llm.diffusers

支持Flux性能测试

2.3.6. mxc500-megatron-lm-2.29.0.7

模块

特性说明

megatron-lm

适配megatron-lm core0.8,新增模型,优化性能

2.3.7. mxc500-modelzoo.llm.transformers-2.29.0.7

模块

特性说明

modelzoo.llm.transformers

新增transformers框架功能/性能/精度测试模块

2.4. 配套MXMACA-C500-SDK-2.27.0.11,MXMACA-C500-Driver-2.27.0.11,MXMACA-C500-Pytorch-2.27.0.8

2.4.1. mxc500-vllm-2.27.0.9

模块

特性说明

vllm

切换0.6.2版本

优化gptq & awq性能

性能默认开启graph模式

flash attn依赖包调整为依赖flash_attn_vllm包,可在发布的vLLM安装包获取

支持num_schedule_steps

支持BF16

2.4.2. mxc500-modelzoo.llm.vllm-2.27.0.9

模块

特性说明

modelzoo.llm.vllm

优化gptq & awq性能

性能默认开启graph模式

flash attn依赖包调整为依赖flash_attn_vllm包,可在发布的vllm安装包获取

支持num_schedule_steps

支持BF16

2.4.3. mxc500-modelzoo.llm.diffusers-2.27.0.8

模块

特性说明

modelzoo.llm.diffusers

新增支持Flux

2.4.4. mxc500-deepspeed-2.27.0.10

模块

特性说明

deepspeed

发布15.1

2.4.5. mxc500-modelzoo.cnn.inference-2.27.0.10

模块

特性说明

modelzoo.cnn.inference

支持modelzoo3.0模型

2.4.6. mxc500-onnxruntime-2.27.0.8

模块

特性说明

onnxruntime

新增支持mha算子attn_mask_broadcast规则

修复fasterRcnn的NMS、topk算子问题

bert、字节模型优化

2.4.7. mxc500-modelzoo.cnn.training-2.27.0.7

模块

特性说明

modelzoo.cnn.training

mmcv升级到2.2

2.5. 配套MXMACA-C500-SDK-2.25.2.9,MXMACA-C500-Driver-2.25.2.8,MXMACA-C500-Pytorch-2.25.2.8

2.5.1. mxc500-ppl.llm.serving-2.25.2.10

模块

特性说明

ppl.llm.serving

新增Qwen1.5模型,Yi1.5模型

2.5.2. mxc500-modelzoo.llm.ppl-2.25.2.10

模块

特性说明

modelzoo.llm.ppl

新增Qwen1.5模型,Yi1.5模型

2.5.3. mxc500-vllm-2.25.2.12

模块

特性说明

vllm

优化gptq、awq功能

支持MXMACA graph

优化MOE模型性能

支持PP流水线并行

2.5.4. mxc500-modelzoo.llm.vllm-2.25.2.12

模块

特性说明

modelzoo.llm.vllm

支持MXMACA graph测试功能

2.5.5. mxc500-triton-inference-server-2.25.2.10

模块

特性说明

triton-inference-server

新增onnxruntime backend

2.5.6. mxc500-mmcv-2.25.2.10

模块

特性说明

mmcv

新增适配

2.5.7. mxc500-modelzoo.llm.diffusers-2.25.2.11

模块

特性说明

modelzoo.llm.diffuser

支持静态模型推理

2.5.8. mxc500-modelzoo.cnn.inference-2.25.2.12

模块

特性说明

modelzoo.cnn.inference

新增I3D/Speech-Transformer/yolov5s_tag5模型

2.5.9. mxc500-onnxruntime-2.25.2.11

模块

特性说明

onnxruntime

增加支持了若干模型

支持max_pool global_ave_poll reducemean 5d算子

进一步优化了conv、bridge算子性能,支持了conv 3d

支持了QuickGelu算子融合

优化了bert性能

2.5.10. mxc500-modelzoo.cnn.training-2.25.2.10

模块

特性说明

modelzoo.cnn.training

优化了部分模型配置参数

2.6. 配套MXMACA-C500-SDK-2.25.0.7,MXMACA-C500-Driver-2.25.0.3,MXMACA-C500-Pytorch-2.25.0.0

2.6.1. mxc500-ppl.llm.serving-2.25.0.5

模块

特性说明

ppl.llm.serving

修复了部分kernel地址越界问题

2.6.2. mxc500-modelzoo.llm.ppl-2.25.0.5

模块

特性说明

modelzoo.llm.ppl

修复了部分kernel地址越界问题

2.6.3. mxc500-vllm-2.25.0.6

模块

特性说明

vllm

优化了性能

解决部分多卡运行问题

2.6.4. mxc500-modelzoo.llm.vllm-2.25.0.6

模块

特性说明

modelzoo.llm.vllm

优化了性能

解决部分多卡运行问题

2.7. 配套MXMACA-C500-SDK-2.24.0.12,MXMACA-C500-Driver-2.24.0.10,MXMACA-C500-Pytorch-2.24.0.5

2.7.1. mxc500-megatron-lm-2.24.0.4

模块

特性说明

Megatron-LM

优化框架性能,新增chatglm3,qwen2,qwen1.5,baichuan2模型支持

2.7.2. mxc500-modelzoo.llm.ppl-2.24.0.4

模块

特性说明

modelzoo.llm.ppl

新增支持模型Baichun2-13B

2.7.3. mxc500-ppl.llm.serving-2.24.0.4

模块

特性说明

PPL-LLM

新增支持模型Baichun2-13B

2.7.4. mxc500-vllm-2.24.0.4

模块

特性说明

vLLM

版本适配切换到0.5.4

优化paged attn、fuse moe kernel实现

新增Llama3.1等模型适配

2.7.5. mxc500-modelzoo.llm.vllm-2.24.0.4

模块

特性说明

modelzoo.llm.vllm

新增兼容vllm 0.5.4脚本,新加若干个模型

提供 torch profile 方式

2.7.6. mxc500-alpaca-lora-2.24.0.4

模块

特性说明

alpaca-lora

支持alpaca-7b和alpaca-13b

2.7.7. mxc500-paddle-2.24.0.5

模块

特性说明

Paddle-maca

优化了部分算子性能

2.7.8. mxc500-internlm-2.24.0.4

模块

特性说明

internlm

增加对InternEvo的支持

mxc500-modelzoo.llm.diffusers-2.24.0.6

模块

特性说明

modelzoo.llm.diffusers

增加多卡运行代码

2.8. 配套MXMACA-C500-SDK-2.23.0.1018,MXMACA-C500-Driver-2.23.0.1014,MXMACA-C500-Pytorch-2.23.0.1011

2.8.1. mxc500-onnxruntime-2.23.0.3

模块

特性说明

Onnxruntime-maca

进一步优化了conv、resize、transpose、bridge等算子的性能

解决了部分模型无法运行的问题

2.8.2. mxc500-ppl.llm.serving-2.23.0.3

模块

特性说明

PPL-LLM

优化了部分算子性能

2.8.3. mxc500-modelzoo.llm.ppl-2.23.0.3

模块

特性说明

modelzoo.llm.ppl

提供了若干个ppl测试样例

2.8.4. mxc500-vllm-2.23.0.3

模块

特性说明

vLLM

bloom模型推理问题,修复qwen_moe和deepseek推理问题

优化paged attn

新增lora、multi-lora 支持和优化

新增gptq、awq功能支持,性能待优化

2.8.5. mxc500-modelzoo.llm.vllm-2.23.0.1

模块

特性说明

modelzoo.llm.vllm

提供了若干个vllm测试样例,测试dytpe改成float16

新增lora和gptq测试脚本

2.8.6. mxc500-internlm-2.23.0.1

模块

特性说明

internlm

添加了训练脚本和README文档

删除了不再起作用的环境变量

2.8.7. mxc500-modelzoo.llm.diffusers-2.23.0.1

模块

特性说明

modelzoo.llm.diffusers

提供了diffusers的onnx后端测试样例

新增Prati数据集测试方式

完善打印信息

2.8.8. mxc500-paddle-2.23.0.1

模块

特性说明

Paddle-maca

更新到2.6.0版本

2.8.9. mxc500-modelzoo.cnn.training-2.23.0.1

模块

特性说明

modelzoo.cnn.training

解决部分模型运行报错问题

2.9. 配套MXMACA-C500-2.22.0.9 amd64和MXMACA-C500-2.22.0.11 arm64

2.9.1. mxc500-onnxruntime-2.22.0.9.318/mxc500-onnxruntime-ft2000-2.22.0.11.159

模块

特性说明

Onnxruntime-maca

优化了部分算子的性能

2.9.2. mxc500-megatron-lm-2.22.0.9.306

模块

特性说明

Megatron-LM

优化框架性能,支持core0.6.0

2.9.3. mxc500-ppl.llm.serving-2.22.0.9.311/mxc500-ppl.llm.serving-ft2000-2.22.0.11.168

模块

特性说明

PPl-LLM

优化了部分算子性能

2.9.4. mxc500-modelzoo.llm.ppl-2.22.0.9.118

模块

特性说明

modelzoo.llm.ppl

提供了若干个ppl测试样例

2.9.5. mxc500-vllm-2.22.0.9.186

模块

特性说明

vLLM

优化gemm计算

修复长文本oom问题

2.9.6. mxc500-modelzoo.llm.vllm-2.22.0.9.122

模块

特性说明

modelzoo.llm.vllm

提供了若干个vLLM测试样例

2.9.7. mxc500-internlm-2.22.0.9.33

模块

特性说明

internlm

internlm大模型训练框架

2.9.8. mxc500-modelzoo.llm.diffusers-2.22.0.9.120

模块

特性说明

modelzoo.llm.diffusers

提供了diffusers的onnx后端测试样例

2.9.9. mxc500-modelzoo.llm.transformers-2.22.0.9.115

模块

特性说明

transformers

提供了transformers测试环境和测试代码

2.9.10. mxc500-modelzoo.cnn.training-2.22.0.9.61

模块

特性说明

modelzoo.cnn.training

提供了若干个cnn training测试样例

2.9.11. mxc500-modelzoo.cnn.inference-2.22.0.9.120

模块

特性说明

modelzoo.cnn.inference

提供了常见的CNN模型的ONNXRUNTIME推理测试样例

2.9.12. mxc500-bitsandbytes-2.22.0.9.150

模块

特性说明

bitsandbytes

支持了部分场景下bitsandbytes的API

2.10. 配套MXMACA-C500-2.20.2.19

2.10.1. mxc500-onnxruntime-2.20.2.18.238

模块

特性说明

Onnxruntime-maca

优化了部分算子性能

解决了部分模型无法运行的问题

2.10.2. mxc500-megatron-lm-2.20.2.2.141

模块

特性说明

Megatron-LM

新增对megatron-Core的支持

2.10.3. mxc500-ppl.llm.serving-2.20.2.18.236

模块

特性说明

PPl-LLM

新增支持了Qwen、Mixtral、Llama3模型

优化了部分模型性能

2.10.4. mxc500-colossalai-2.20.2.2.91

模块

特性说明

ColossalAI

首次发布,优化optimizer性能

2.10.5. mxc500-vllm-2.20.2.19.147

模块

特性说明

vLLM

首次发布,兼容官方0.4.0版本

存在以下局限性:

  • 当前暂不支持Lora,后续将完善支持

  • 支持GPTQ量化方式,暂不支持其他量化方式

  • 暂不支持enforce_eager=False方式,内部关闭

  • 暂不支持FP8类型的KV Cache

  • 当前仅包含Ubuntu 20系统版本,后续将完善支持其他系统

2.11. 配套MXMACA-C500-2.19.2.23

2.11.1. mxc500-onnxruntime-2.19.2.23.111

模块

特性说明

Onnxruntime-maca

优化部分模型计算性能

2.11.2. mxc500-ppl.llm.serving-2.19.2.23.111

模块

特性说明

PPL-LLM

优化部分模型计算性能

2.12. 配套MXMACA-C500-2.19.2.7

2.12.1. mxc500-onnxruntime-2.19.2.5.65

模块

特性说明

Onnxruntime-maca

新增profiling功能

优化部分模型计算性能

2.12.2. mxc500-ppl.llm.serving-2.19.2.7.66

模块

特性说明

PPL-LLM

优化部分模型计算性能

2.13. 配套MXMACA-C500-2.19.0.12

2.13.1. mxc500-onnxruntime-2.19.0.12.40

模块

特性说明

Onnxruntime-maca

优化部分模型计算性能

2.13.2. mxc500-ppl.llm.serving-2.19.0.12.43

模块

特性说明

PPL LLM

新增支持Llamav2,ChatGLM2,ChatGLM3模型

优化模型转换及服务化部署示例

2.14. 配套MXMACA-C500-2.18.0.4

无新增和变更特性,修复reported bug。

2.15. 配套MXMACA-C500-2.17.3.11

2.15.1. mxc500-onnxruntime-2.17.3-0

模块

特性说明

Onnxruntime-maca

优化部分模型计算性能

修复部分算子计算逻辑问题

2.15.2. mxc500-deepspeed-2.17.3.11.76

模块

特性说明

DeepSpeed

Alpha版本,支持大模型训练

2.15.3. mxc500-megatron-lm-2.17.3.11.35

模块

特性说明

Megatron-LM

Alpha版本,支持大模型训练

2.15.4. mxc500-paddle-2.17.3.9.111

模块

特性说明

Paddle-maca

Alpha版本,支持FP32精度下的单卡及多卡训练

2.15.5. mxc500-ppl.llm.serving-2.17.3.11.58

模块

特性说明

PPL LLM

Alpha版本,支持LLama v1,Baichuan,InternLM模型

2.16. MXC500-ONNXRUNTIME-2.16.1-3

模块

特性说明

Onnxruntime-maca

新增支持部分模型

优化部分算子性能

2.17. MXC500-ONNXRUNTIME-2.15.0-4

模块

特性说明

Onnxruntime-maca

支持C、C++和Python接口

支持多种模型数据类型,包括float32、float16、int8、uint8等

支持动态batch推理功能

支持多线程调用和多进程调用

支持单机多GPU卡

支持用户管理系统内存、锁页内存、显存

MacaConverter

支持Caffe、Tensorflow、Pytorch、PaddlePaddle、Darknet模型转为ONNX模型

支持ONNX简化

支持FP32模型转为FP16模型

支持子图提取、图优化

MacaQuantizer

支持多种量化算法

支持开启强制优化

支持量化损失阈值配置

支持自定义预处理

支持自动量化流程

支持Debug模式

MacaPrecision

支持MXC500与CPU精度对比

支持逐层精度对比

支持多种精度评估方法

支持量化模型精度分析

3. 已知问题和使用限制

模块

问题和限制说明

Paddle-maca

个别模型偶现训练报错

个别模型存在loss为NaN及loss不收敛问题

vLLM

个别模型性能测试不稳定

OpenAI测试问题请参考https://github.com/vllm-project/vllm/issues/7246

多卡如遇dmesg显存超出信息为正常输出

版本升级后个别模型性能需优化

modelzoo.llm.ppl

baichuan2-13B tps在八卡环境上需要加临时环境变量,四卡环境正常

modelzoo.llm.diffusers

部分模型配置多卡性能不达标

modelzoo.cnn.inference

OCR个别模型可能会出现性能不稳定的情况

ColossalAI

如果出现OOM:

  1. 在物理机上执行 sudo modprobe -r metax && sudo modprobe metax xcore_page_size=9

  2. 在运行命令前执行 export MALLOC_THRESHOLD=99

BitsAndBytes

个别大矩阵性能较低

部分矩阵性能不稳定

modelzoo.cnn.training

centernet_R18和Retinanet模型训练时,存在amp精度loss为NaN的情况

Pytorch训练多VF场景下偶发hang

Pytorch训练学习率策略,推荐使用 --auto-scale-lr 自适应学习率

GPU占用率低时受到其他硬件因素影响较大,在不同机器测试时易出现性能波动

个别模型对CPU资源敏感易出现性能波动现象

ssd模型多卡训练偶发loss为NaN

Deeplabv3模型FP32精度单卡训练时,需要设置新的环境变量以避免loss为NaN

TF32精度训练时,设置 MCDNN_NOT_CVT_TF32_ROUND=ON 可以提升性能

CenterNet模型FP32精度训练时,设置特定环境变量时可能导致精度问题

个别模型多卡对单卡性能提升的线性度不足

个别模型在torch2.1和torch2.0版本性能存在差异

TensorFlow2

keras部分模型训练性能、精度偏低

keras部分模型训练性能、精度不稳定

facenet模型训练性能偏低

facenet模型在Arm环境中训练存在依赖安装异常的情况

mmcv

部分算子报AssertionError错误

container中FFmpeg报错缺少libxcb-shape.so.0

Deepspeed

LLama-factory qwen2.5-72b/QvQ-72b-preview 多机训练失败

C550上部分模型训练需要加上 export CUBLAS_WORKSPACE_CONFIG=:4096:64 后再执行训练脚本

diffusers.training

在Arm平台下,性能数据有下降

modelzoo.llm.transformers

在Arm平台下,性能数据有下降

部分模型性能数据有下降

CV-CUDA

个别测试有报错

XTuner

部分模型偶现 dmesg libmccl.so segfault

Megatron-LM

多机模型运行遇到 Gloo connectFullMesh failed 时,需要增加以下2个环境变量:

export MCCL_SOCKET_IFNAME = 多机模型训练使用IP对应的ifname

export GLOO_SOCKET_IFNAME = 多机模型训练使用IP对应的ifname

说明:此问题属于PyTorch原生问题https://pytorch.org/docs/stable/distributed.html#common-environment-variables

LMDeploy

不支持LMDeploy的兼容适配