1. 简介
TopsRider v3.2.109 版本适用于 S60 系列设备。下述新增/修改特性和问题修复部分是相对于上一次发布Topsrider v3.1.8 的变更。
2. 功能优化
2.1 新增/修改基本特性
2.1.1 TopsPlatform
TopsRider 3.2.109 版本包含的TopsPlatform 版本为 1.2.0。TopsPlatform_v1.2.0 版本 KMD 提升了底层驱动的稳定性,Runtime 优化launch kernel 和多流下发的性能,提升模型效率。 编译器优化 dte api codesize,减少 icache miss;优化编译器产生的指令效率,提升算子性能。
TopsProfiler、TopsGDB、Efsmi 等工具也做了改进和优化,方便用户调试使用。
2.1.1.1 新增功能
- TopsGraph mode 支持 factor 算子和 topscc 算子混跑
- 新增 runtime 接口 topsExecutableGetBinaryPtr()
- 新增 runtime 接口 topsStreamCreateWithLaunchLimit API
- 默认使能 L2C/LLC,提升模型性能
- 新增查询函数,查询 buffer 是 L2 还是 L3,可通过 topsPointerGetAttribute 接口查询,
topsPointerGetAttributes 接口未支持 - 新增 FW 热更新
- 新增 efsmi 接口 efsmi -mcm single/dual -i x,用于配置卡的 hash 模式,该功能有如下
limitation: - 仅支持 Asic,Asic Passthrough 切换 hash mode,SRIOV 虚拟化环境下仅支持读取 hash
mode - 驱动重新安装或机器重启后,mcm 变回默认状态
- docker 里面切换 mcm,需要 docker 有 privileged 权限
- 不支持多个 docker 并行切换(即使 docker 内是不同的卡)
- TopsVisualProfiler 选择视图导出 csv 时支持平铺 list 导出
- TopsProfiler 支持显示 kernel 隐式参数信息
- TopsProfiler 支持使能 SIP 的部分 profiling 事件而非全部事件
2.1.1.2 功能变更
- efsmi reset 移除-F 参数
- libefdrv.so 和libefdrv_static.a 以及相关软连接文件从 topsruntime package 中移除,头文件不变,一些必要的符号从 libefdrv 中移动到libefrt。如果之前没有直接依赖 libefdrv,但是编译脚本中有类似-lefdrv 这样的链接语句,需要删除,对于已经编译好的,依赖 libefdrv 的动态库或者可执行文件,需要重新编译
- stream packet 默认使用单线程下发
- Hwsync 替换 gsync,需要使用 topsplatform 1.2.0.7 重新编译上层应用,否则会出现不兼容问题
2.1.2 Tensorflow_GCU
已对接支持 aten 算子的总数,达到了 100+
2.1.3 Torch_GCU
- 支持 torch 版本由 2.1 升级至 2.3
- Torch 2.1 版本改为维护状态
- 已对接支持 aot 算子的总数,达到了 320 个
- 支持用户自定义算子接入gcu,提供所需头文件和库符号
- 支持 runtime Graph 模式(对标 CUDAGraph)
- compile 模式持续完善:增加 permute 相关优化pass,增加保存 graph 调试功能。
- 支持lazy init 模式,用户可以在多进程场景使用 torch_gcu
- 支持基于stream 的setlimit 功能,用户可以按需限定 stream 可用的计算资源
- op debug 工具持续完善:支持python 调用堆栈打印,支持更多类型参数
- 依赖的 torch 版本由默认 torch 调整为 torch+cpu 版本,避免引入 nv 软件包依赖
- 移除 vllm 相关算子对接,torch.gcu.llm_ops 模块不再支持
以上内容,详见《Torch_GCU v2.3 用户使用手册》、《Torch_GCU v2.3 算子支持列表》
2.1.4 TopsAten
新增 opgraph 接口,可用于支持 aot 的 elementwise fusion,包括构图和执行接口。
2.1.5 VLLM
- 版本升级至 0.4.2
- 支持了量化 LLM 的推理
- 支持了下述模型:
- 多个新增 fp16、bf16 模型
- 多个量化 LLM 模型,包括w8a16、w4a16、w4a16c8、GPTQ、AWQ
- 多个多模态模型
- 支持了 chunked prefill、auto prefix caching、speculative decoding 等性能优化feature
- 支持了 multi lora 推理
- 支持了 serving mode 的性能测试
- 除 eager mode 外,新增支持类cuda graph 功能(runtime graph)
2.1.6 topscompressor
- 0.2 版本发布
- 支持 awq 量化
- 支持gptq 量化
- 支持w8a16 量化
- 支持int8 kvcache 量化
- 支持自定义数据集
2.1.7 diffusers
- 版本升级至 0.29.2
- 支持了多个视频生成模型
- 支持了超过 77token 的输入提示词
- 支持了 DiT 类模型的推理
2.1.8 xDiT(即 xfuser)
- 0.2 版本发布
- 支持图片生成模型的多卡推理
2.1.9 Topscloud
TopsCloud 3.2.18 单独发布,不再包含在TopsRider run 包中
2.1.10 TGI
- 移除TGI zip 包
2.2 新支持模型
2.2.1 LLM-W16A16
序号 | 模型名称 | 框架 | 数据类型 | 卡数 |
1 | Gemma-7B | vLLM | FP16 | 1 |
2 | deepseek-moe-16B-chat | vLLM | FP16 | 1 |
3 | deepseek-coder-6.7B-base | vLLM | FP16 | 1 |
4 | DeepSeek-V2-Lite-Chat(只支持 eager 模式) | vLLM | BF16 | 1 |
5 | GLM-4-9B-chat | vLLM | BF16, FP16 | 1 |
6 | GLM-4-9B-base | vLLM | FP16 | 1 |
7 | Mixtral-8x22B-v0.1 | vLLM | BF16 | 8 |
8 | Qwen1.5-4B | vLLM | BF16 | 1 |
9 | Qwen1.5-4B-chat | vLLM | BF16 | 1 |
10 | Qwen1.5-MoE-A2.7B | vLLM | BF16 | 1 |
11 | Qwen2-7B | vLLM | FP16 | 1 |
12 | Qwen2-7B-Instruct | vLLM | BF16 | 1 |
13 | Qwen2-57B-A14B (Qwen2-moe) | vLLM | BF16 | 4 |
14 | Qwen2-72B-Instruct | vLLM | FP16 | 8 |
15 | Llama3.1-8B-Instruct | vLLM | BF16 | 1 |
16 | Llama-3.1-70B-Instruct | vLLM | BF16 | 4 |
17 | DBRX-132B | vLLM | FP16 | 8 |
18 | codegemma-7B | vLLM | FP16 | 1 |
19 | Yi-34B-200k | vLLM | FP16 | 8 |
2.2.2 LLM-W8A16
序号 | 模型名称 | 框架 | 数据类型 | 卡数 |
1 | Qwen1.5-110B-Chat | vLLM | W8A16 | 8 |
2 | Qwen1.5-72B | vLLM | W8A16 | 8 |
3 | Qwen1.5-32B-chat | vLLM | W8A16 | 2 |
4 | Qwen2-72B | vLLM | W8A16 | 8 |
5 | Mixtral-8x22B-v0.1 | vLLM | W8A16 | 8 |
6 | GLM-4-9B-base | vLLM | W8A16 | 1 |
7 | Gemma-7B | vLLM | W8A16 | 1 |
8 | YI-34B-chat | vLLM | W8A16 | 2 |
9 | moose-34B | vLLM | W8A16 | 2 |
10 | sus-chat-34B | vLLM | W8A16 | 1 |
11 | Llama2-7B | vLLM | W8A16 | 1 |
12 | Llama2-70B | vLLM | W8A16 | 4 |
13 | starcoder2 15B | vLLM | W8A16 | 1 |
14 | codellama_70b_instruct | vLLM | W8A16 | 2 |
2.2.3 LLM-W4A16
序号 | 模型名称 | 框架 | 数据类型 | 卡数 |
1 | Qwen1.5-32B | vLLM | W4A16 | 1 |
2 | Qwen1.5-72B-Chat (只支持 eager 模式) | vLLM | W4A16 | 8 |
3 | Qwen2-72B-instruct | vLLM | W4A16 | 4 |
4 | LLama2-7B-chat-GPTQ | vLLM | W4A16 | 1 |
5 | Llama-2-13B-chat-GPTQ | vLLM | W4A16 | 1 |
6 | Llama2-70B | vLLM | W4A16 | 2 |
7 | Llama3-70B | vLLM | W4A16 | 2 |
8 | Yi-1.5-34B | vLLM | W4A16 | 2 |
2.2.4 LLM-W4A16C8
序号 | 模型名称 | 框架 | 数据类型 | 卡数 |
1 | Qwen1.5-32B | vLLM | W4A16C8 | 1 |
2 | Qwen1.5-32B-Chat | vLLM | W4A16C8 | 1 |
3 | Qwen2-72B-instruct | vLLM | W4A16C8 | 2 |
4 | Llama2-7B-chat | vLLM | W4A16C8 | 1 |
5 | Llama2-70B | vLLM | W4A16C8 | 4 |
2.2.5 多模态
序号 | 模型名称 | 框架 | 数据类型 | 卡数 |
1 | llava1.5-7b | vLLM | FP16 | 1 |
2 | GLM-4V-9B | vLLM | BF16 | 1 |
3 | Deepseek-vl-7B-chat | vLLM | BF16 | 1 |
4 | Clip | PyTorch2.3+TopsAten | FP16 | 1 |
2.2.6 图像生成
序号 | 模型名称 | 框架 | 数据类型 | 卡数 |
1 | SDXL+textual_inversion | PyTorch2.3+TopsAten | FP16 | 1 |
2 | stable-diffusion-3-medium | PyTorch2.3+TopsAten | FP16 | 1 |
3 | SDXL-Lightning | PyTorch2.3+TopsAten | FP16 | 1 |
4 | SDXL+DistriFusion | PyTorch2.3+TopsAten | FP16 | 2 or 4 |
5 | SDXL+DeepCache | PyTorch2.3+TopsAten | FP16 | 1 |
6 | SDXL、SD1.5 长输入支持 | PyTorch2.3+TopsAten | FP16 | 1 |
7 | SD2.0 | PyTorch2.3+TopsAten | FP16 | 1 |
8 | SD1.5+ControlNet_Plus_Plus | PyTorch2.3+TopsAten | FP16 | 1 |
9 | Real Esrgan | PyTorch2.3+TopsAten | FP16 | 1 |
10 | PixArt-Sigma | PyTorch2.3+TopsAten | FP16 | 1 |
11 | HunyuanDiT | PyTorch2.3+TopsAten | FP16 | 1 |
12 | HunYuanDiT1.2-diffusers | PyTorch2.3+TopsAten | FP16 | 1 |
13 | xDiT+HunYuanDiT1.2-diffusers | PyTorch2.3+TopsAten | FP16 | 4 |
2.2.7 视频生成
序号 | 模型名称 | 框架 | 数据类型 | 卡数 |
1 | ToonCrafter | PyTorch2.3+TopsAten | FP16 | 1 |
2 | SVD | PyTorch2.3+TopsAten | FP16 | 1 |
3 | Open-Sora-Plan 1.1 | PyTorch2.3+TopsAten | BF16 | 1 |
4 | Open-Sora 1.2 | PyTorch2.3+TopsAten | BF16 | 1 |
5 | Hallo | PyTorch2.3+TopsAten | FP16 | 1 |
6 | EasyAnimate | PyTorch2.3+TopsAten | BF16 | 1 |
7 | DynamiCrafter | PyTorch2.3+TopsAten | FP16 | 1 |
2.2.8 传统模型
序号 | 模型名称 | 框架 | 数据类型 | 卡数 |
1 | YOLO v9m(aot) | PyTorch2.3+TopsAten | FP16 | 1 |
2 | YOLO v8m(aot) | PyTorch2.3+TopsAten | FP16 | 1 |
3 | YOLO v5m(aot) | PyTorch2.3+TopsAten | FP16 | 1 |
4 | XTTS | PyTorch2.3+TopsAten | FP16 | 1 |
5 | whisper-large-v3 | PyTorch2.3+TopsAten | FP16 | 1 |
6 | Swin-Transformer | PyTorch2.3+TopsAten | FP16 | 1 |
7 | speech-transformer | PyTorch2.3+TopsAten | FP16 | 1 |
8 | Qwen-audio | PyTorch2.3+TopsAten | FP16 | 1 |
9 | Mask r-cnn | TopsInference | FP16 | 1 |
10 | Faster r-cnn | TopsInference | FP16 | 1 |
11 | ConvNeXt | PyTorch2.3+TopsAten | FP16 | 1 |
12 | conformer* | TopsInference | FP16 | 1 |
13 | ChatTTS | PyTorch2.3+TopsAten | FP16 | 1 |
14 | bge-reranker-v2-m3 | PyTorch2.3+TopsAten | FP16 | 1 |
15 | bge-reranker-base | PyTorch2.3+TopsAten | FP16 | 1 |
16 | 3d unet | PyTorch2.3+TopsAten | FP16 | 1 |
17 | ViT | PyTorch2.3+TopsAten | FP16 | 1 |
18 | SAM | PyTorch2.3+TopsAten | FP16 | 1 |
19 | dlrm-dcn | PyTorch2.3+TopsAten | FP16 | 1 |
3. FW 信息
FW | 版本号 |
S60 SSM FW | Boot FW 33.6.5,Runtime FW 33.6.5.25 |
AP | 1.1.4 |
SP | 2.10.1 |
VPU | 3.1.4 |
4. 组件
4.1 TopsRider run 包组件
No. | Component Type | Package Name | Package Type | File |
1 | Host | dockerfile | Folder | dockerfile |
2 | data_center_toolkit | Folder | data_center_toolkit | |
3 | topsplatform | Package | TopsPlatform_1.2.0.301- c9a090_deb_amd64.run | |
4 | Driver | topsplatform | Package | TopsPlatform_1.2.0.301- c9a090_deb_amd64.run |
5 | Container | topscompressor | Python3.8 | topscompressor-3.1.20241012-py3.8- none-any.whl |
6 | xformers | Python3.10 | xformers-3.1.20240904-cp310- cp310-linux_x86_64.whl | |
7 | tops-extension | Python3.8 | tops_extension-3.1.20240903-cp38- cp38-linux_x86_64.whl | |
8 | tops-extension | Python3.10 | tops_extension-3.1.20240903-cp310- cp310-linux_x86_64.whl | |
9 | sentence-transformers | Python3.x | sentence_transformers- 2.7.0+gcu.3.2.20240805-py3-none-any.whl | |
10 | vllm | Python3.8 | vllm-0.4.2+gcu.3.2.2-cp38-cp38- linux_x86_64.whl | |
11 | vllm | Python3.10 | vllm-0.4.2+gcu.3.2.2-cp310-cp310- linux_x86_64.whl | |
12 | topscompressor | Python3.10 | topscompressor-3.1.20241012- py3.10-none-any.whl | |
13 | fast-diffusers-utils | Python3.10 | fast_diffusers_utils- 0.29.2+gcu.3.1.20240926-py3.10-none-any.whl | |
14 | xfuser | Python3.10 | xfuser-0.2+gcu.3.1.20240913-py3.10- none-any.whl | |
15 | topsideas | Python3.8 | topsideas-3.1.20240723-cp38-cp38- linux_x86_64.whl | |
16 | topsideas | Python3.10 | topsideas-3.1.20240723-cp310- cp310-linux_x86_64.whl | |
17 | onnxruntime_gcu | Python3.8 | onnxruntime_gcu-1.9.1+3.1.0-cp38- cp38-linux_x86_64.whl | |
18 | onnxruntime_gcu | Python3.10 | onnxruntime_gcu-1.9.1+3.1.0-cp310- cp310-linux_x86_64.whl | |
19 | tensorflow_2.2 | Python3.8 | tensorflow_gcu-2.2.0+3.0.20240910- cp38-cp38-linux_x86_64.whl | |
20 | xformers | Python3.8 | xformers-3.1.20240904-cp38-cp38- linux_x86_64.whl | |
21 | fast-diffusers | Python3.10 | fast_diffusers- 0.29.2+gcu.3.1.20240926-py3.10-none-any.whl | |
22 | fast-diffusers-utils | Python3.8 | fast_diffusers_utils- 0.29.2+gcu.3.1.20240926-py3.8-none-any.whl | |
23 | fast-diffusers | Python3.8 | fast_diffusers- 0.29.2+gcu.3.1.20240926-py3.8- none-any.whl | |
24 | torch-gcu-2.1 | Python3.10 | torch_gcu-2.1.0+3.1.1.2-cp310- cp310-linux_x86_64.whl | |
25 | torch-gcu-2.1 | Python3.8 | torch_gcu-2.1.0+3.1.1.2-cp38-cp38- linux_x86_64.whl | |
26 | torch-gcu-2.3 | Python3.10 | torch_gcu-2.3.0+3.2.0-cp310-cp310- linux_x86_64.whl | |
27 | torch-gcu-2.3 | Python3.8 | torch_gcu-2.3.0+3.2.0-cp38-cp38- linux_x86_64.whl | |
28 | TopsInference | Python3.8 | TopsInference-3.2.109-py3.8-none- any.whl | |
29 | TopsInference | Python3.10 | TopsInference-3.2.109-py3.10-none- any.whl | |
30 | eccl-tests | Package | eccl-tests_3.1.20240910- 1_amd64.deb | |
31 | eccl | Package | eccl_3.1.20240910-1_amd64.deb | |
32 | tops-inference | Package | tops-inference_3.2.109-1_amd64.deb | |
33 | tops-sdk | Package | tops-sdk_3.2.109-1_amd64.deb | |
34 | topsaten | Package | topsaten_3.2.20240926-1_amd64.deb | |
35 | topsfactor | Package | topsfactor_3.2.109-1_amd64.deb | |
36 | topsplatform | Package | TopsPlatform_1.2.0.301- c9a090_deb_amd64.run | |
37 | ai_development_toolkit | Folder | ai_development_toolkit |
4.2 TopsRider run 包外的组件
No. | Package Name | File |
1 | ffmpeg-gcu | ffmpeg-gcu_1.2.0.5-20240913-n4.4-1_amd64.deb |
2 | ffmpeg-gcu-1.2.0.5-20240913-n4.4-1.x86_64.rpm | |
3 | TopsVisualProfiler | TopsVisualProfiler_1.2.0.300-776fcf_win64.zip |
5. 文档更新
5.1 增加文档
《Topscompressor 用户使用手册》
《xDiT-GCU 用户使用手册》
《TopsGDB 用户使用手册》
《OpenGPG 签名验证指南》
5.2 删除文档
TopsCloud 3.2.18 独立发布文档,以下文档不放入TopsRider 文档中
《TopsCloud 用户使用手册》
《K8S Plugin 用户使用手册》
《GCUShare 用户使用手册》
《Container Toolkit 用户使用手册》
《GCU Feature Discovery 用户使用手册》
《Node Feature Discovery 用户使用手册》
《GCU-Exporter 用户使用手册》
《GCU_Monitor_Examples 用户使用手册》
《GCU-Operator 用户使用手册》
《K8s-Installer 用户使用手册》
《GO-Eflib 用户使用手册》
6. 操作系统和 Python 支持
6.1 适配说明
- Host 环境:仅 Enflame Driver 对此 OS 环境做兼容适配,Docker 运行 Ubuntu
- Docker 环境:软件栈功能已做适配测试,需使用相同OS 的 Host
6.2 操作系统支持列表
操作系统名称 | 架构 | 内核版本 | GCC | GLIBC | 说明 |
Ubuntu 20.04.z(z<=5) | x86 | 5.4 & 5.11 & 5.13 & 5.15 | 9.3 | 2.31 | Host & Docker |
Ubuntu 22.04.z (z<=1) | x86 | 5.15 | 11.2 | 2.35 | Host & Docker |
Kylin v10 | x86 | 4.19.0 | 7.3 | 2.28 | 仅驱动在 Host 上已适配 |
UOS 20 Server | x86 | 4.19.0 | 7.3 | 2.28 | |
OpenEular | X86 | 5.10.0 | 10.3.1 | 2.34 | |
龙蜥 8.2 QU2 | X86 | 4.18.0 | 8.3.1 | 2.28 | |
龙蜥 8.6 | X86 | 4.19.90 | 7.3.0 | 2.28 |
6.3 Python 支持版本
Python 3.8,Python 3.10(支持大模型推理模型)