1. 简介

TopsRider v2.5发布说明,2.5.115 版本适用于i20、T20、T21设备。新增/修改特性和问题修复部分相对于v2.4.136 的变更。

2. 功能优化

2.1 新增修改特性

2.1.1 软件发布包
  1. 发布的包全部由abi=0 切换到abi=1
  2. 安装包中去除driver文件夹,新增topsplatform文件夹,相关组件合入topsplatform中的topsplatform.run包中
2.1.2  TopsPlatform
  1. TopsGDB支持多卡环境
  2. IDE提供configuration的TopsGDB选项,供用户选择使用:
  3. 移除TopsCC的elemwise、reduction、nn计算接口
  4. topscc包中的默认安装路径统一由 /opt/topscc 调整为 /opt/tops。例如 /opt/topscc/bin/clang 变为 /opt/tops/bin/clang
  5. topsruntime包中Runtime 3.0 API相关的文件默认安装路径由 /usr 调整为 /opt/tops。例如 /usr/lib/libtopsrt.so 变更为 /opt/tops/lib/libtopsrt.so
  6. topsruntime包中Runtime 2.0和UMD相关的文件保持原默认安装路径不变,进入维持阶段,后续不再进行调整。
2.1.3  TopsFactor
  1. 从sdk中解耦出factor,新增TopsFactor安装包
  2. 使用新的安装包完成再安装老的sdk,需要先卸载factor后在安装
2.1.4   HLIR Builder
  1. ABI 兼容支持:删除了 std::string 版本接口;
  2. SDK软件配置管理规范,头文件路径更新(HLIR Builder & TopsGraphCompiler):dtu/hlir/builder 改为 gcu/hlir/builder; dtu/dtu_compiler 改为 gcu/tops_graph_compiler;
  3. 新增 Where API,语义与 NumPy Where, PyTorch Where 一致,支持动静态输入的隐式广播;
  4. 部分 API 接口易用性优化:从 std::vector<int64_t> 优化为 const std::vector<int64_t>&; std::vector<builder::Op> 优化为 const std::vector<builder::Op>&。具体涉及到的 API 如下表格所示
  5. 构图过程增加 Log,可通过以下命令查看构图过程: export ENFLAME_LOG_DEBUG_MOD=”HLIR”  或export ENFLAME_LOG_DEBUG_MOD=”HLIR/Builder”。
2.1.5  Topsinference
  1. 废弃DT_ type(如DT_FLOAT32,DT_INT8)类型,请使用TIF类型替代(如TIF_FP32,TIF_INT8)
  2. resource_mode中1c4s/1c12s替代base_resource/triple_resource,废弃base_resource/triple_resource
  3. 废弃optimizer中setfusionmode 和getfusionmode接口,当前无实际功能用途
  4. 不再支持通过环境变量方式配置TopsInference的编译选项。
  5. 支持无卡编译,详细使用见TopsInference文档说明
  6. 支持客户在sdk外部使用自定义op
2.1.6  Paddlepaddle
  1. 适配飞桨推理框架 PaddleInference
2.1.7 Topsexec
  1. Topsexec工具编译指定算子计算精度
2.1.8 Topsidea
  1. Topsidea一次性输出所有精度有问题的层
2.1.9 TopsCloud
  1. k8s-device-plugin: 新增支持在k8s集群中做分布式推理和分布式训练时能申请到同一个CPU Numa Node下的多张物理亲和的卡
  2. kubeone: 新增支持通过EGC从外网离线部署GCU K8S集群
2.1.10 BigModel
  1. huggingface-gcu

– 版本升级支持accelerate-0.22+gcu

– 版本升级支持transformers-4.32.0+gcu

– 版本升级支持diffusers-0.21.1+gcu

– 版本升级支持peft-0.5.0+gcu

– 新增AIGC用户编程用例组件 sd_scripts,支持sdxl Lora 、sdxl textural_inversion、sd dreambooth 、 sd text2image 、sd lora等微调编程用例,新增自我构建的柴犬数据集shiba-inu-fenda支持

  • Distributed

– 版本升级支持megatron_deepspeed-23.8+gcu,支持组合deepspeed 运行4D并行分布式训练(张量并行+流水并行 + 数据并行 + ZERO1/ZERO2)

– 发布DeepSpeed-0.9.2+gcu,新增ZERO1、ZERO2、ZERO-OFFLOAD支持,支持与megatron_deepspeed 组合运行4D并行分布式训练

– 新增分布式微调组件collie_lm-1.0.6.dev0+gcu,支持基于gcu的旋转位编码 RoPE实现,支持多机多卡的4D并行分布式微调,支持大语言模型的全参微调、有效参数微调

– 新增大语言模型用户编程用例组件 llm_scripts,支持LLama2 7b 13b 预训练、全参微调以及Lora微调编程用例,支持llama2 70b 全参微调编程用例,支持chatglm-2 6b全参微调编程用例、支持chatglm-3 6b全参微调编程用例

2.1.11  Model
  1. 推理模型支持python3.10

2.2 T2x支持模型

2.2.1 PaddlePaddle框架新增模型
模型名称框架说明
Mastrcnn (动态)PaddlePaddle8卡收敛,EFP
Fastrcnn(动态)PaddlePaddle8卡收敛,EFP
DLRMPaddlePaddle8卡收敛,EFP
2.2.2 PyTorch 新增模型
模型名称框架说明
DLRMPyTorch8卡收敛,EFP
Espnet-Conformer(动态)PyTorch8卡收敛,EFP
2.2.3  TensorFlow 模型支持

此次无新增。

2.2.4 ARM 模型支持(此次无新增)
模型名称框架数据类型卡数
Resnet50 v1.5PyTorchEFP2
BERT LargePyTorchEFP2
BERT BasePyTorchEFP2
YOLO v3PyTorchEFP2
YOLO v5sPyTorchEFP2
UnetPyTorchEFP2
SSDPyTorchEFP2

3. 问题修复

1、TopsCC将设备端函数代码直接写在调用者(caller)的内部和采用函数内联(forceinline)这两种方式生成的代码大小不一致
2、TopsCCprintf以格式转换说明符结尾时,会多输出(null)
3、TopsCCprintf(“%%”)多打印了一个%
4、TopsCCkernel 函数中最多定义 8 个 constexpr,超过会出现运行时错误
5、TopsCC某些intrinsic函数参数需要强制转换成addrespace(5)才能编译

4. 文档

  • 无新增

5. 使用限制

  • PaddlePaddle 框架下 必须使用Python 3.8 及以上
  • Topscc 组件kernel c++不能支持纯虚成员函数
  • TopsGDB在i20设备上支持C/C++源码调试;在T20、T21设备上支持汇编级别的调试,对于源码调试功能将在后续版本支持
  • RHEL 9.2  不支持虚拟化功能

6. EFSMI版本

  • 1.21.0

7. 操作系统和Python支持

7.1 适配说明

  • Host 环境:仅Enflame Driver 对此 OS 环境做兼容适配,Docker 运行 Ubuntu
  • Docker 环境:软件栈功能已做适配测试,需使用相同OS 的 Host

7.2. 操作系统支持列表

  • 所有 OS 支持列表
操作系统名称架构内核版本GCCGLIBC说明
Ubuntu 18.04.z(z<=6)x864.15.0 & 5.47.52.27Host & Docker
Ubuntu 18.04.6aarch645.47.52.27Host & Docker
Ubuntu 20.04.z(z<=5)x865.4 & 5.11 & 5.13 & 5.159.32.31Host & Docker
Ubuntu 22.04.z (z<=1)x865.1511.22.35仅 kmd 在 Host 上已适配,Docker 中请使用其他OS
CentOS 7.9x863.15.52.17Host & Docker
Kylin v10x864.19.07.32.28仅 kmd 在Host上已适配,Docker 使用 Ubuntu
UOS 20 Serverx864.19.07.32.28仅 Host 适配,Docker 使用 Ubuntu
OpenEularX865.10.010.3.12.34Host & Docker
龙蜥 8.2 QU2X864.18.08.3.12.28Host & Docker
龙蜥 8.6X864.19.907.3.02.28Host & Docker

7.3 Python 支持

Python 3.6,Python 3.8,Python 3.10(推理模型支持)

Categories:

Tags: