代际升级适配指南
使用前必读
本节内容旨在为用户提供从老代际设备升级到新代际设备后,使用基础调度特性时的适配参考与指导。
Atlas A3设备 升级至 Ascend 950代际设备
安装部署MindCluster
Ascend 950代际设备主要包括Atlas 350 标卡、Atlas 850 系列硬件产品以及Atlas 950 SuperPoD。
使用Ascend 950代际设备 需安装26.0.0以上版本的MindCluster组件。MindCluster各组件安装部署方式可参考安装部署章节。
制作业务镜像
推荐从昇腾镜像仓库根据用户的系统架构(ARM或者x86_64)、训练/推理框架(PyTorch、MindSpore、MindIE)以及设备的芯片型号下载所需的训练/推理基础镜像。
请注意,21.0.4版本之后推理基础镜像默认用户为非root用户,需要在下载基础镜像后对其进行修改,将默认用户修改为root。
Note
基础镜像中不包含推理模型、脚本等文件,因此,用户需要根据自己的需求进行定制化修改(如加入推理脚本代码、模型等)后才能使用。 升级到Ascend 950代际设备需选择带有“950”代际关键词的镜像。
准备任务YAML
从Atlas A3设备升级至Ascend 950代际设备场景下,任务YAML可能的修改点见表2,若其中可选配置项未使用,可忽略。表3以Atlas 950 PoD产品任务为例,提供了YAML文件的具体配置样例。
表 2 YAML文件变更参数说明
| 参数 | 取值 | 说明 |
|---|---|---|
| image | - | 镜像名称,请根据实际修改(用户在制作镜像章节制作的镜像名称)。 |
| replicas | 整数 | 运行的任务副本数量,视实际所需节点数而定。 |
| ring-controller.atlas |
|
用于区分任务使用的芯片的类型。相比于Atlas A3设备,Ascend 950代际设备在芯片资源名称上存在变更。 |
| (可选)huawei.com/schedule_policy | 该字段取值需要参考实际的硬件型号与芯片布局:
|
配置任务需要调度的AI芯片布局形态,使用Volcano调度时可选配置该字段。Volcano会根据该字段选择合适的调度策略。 |
| (可选)sp-block | 指定逻辑超节点芯片数量。 单机时需要和任务请求的芯片数量一致。 分布式时需要是节点芯片数量的整数倍,且任务总芯片数量是其整数倍。 |
仅在升级到Atlas 850系列硬件产品(超节点)与Atlas 950 PoD设备时需要保留或配置该字段。指定sp-block字段,集群调度组件会在物理超节点上根据切分策略划分出逻辑超节点,用于训练任务的逻辑超节点亲和性调度。若用户未指定该字段,Volcano调度时会将此任务的逻辑超节点大小指定为任务配置的NPU总数。 了解详细说明请参见灵衢总线设备节点网络说明 |
| (可选)ra-block | 指定逻辑框芯片数量。 单机时需要和任务请求的芯片数量一致。 分布式时需要是节点芯片数量的整数倍,且任务总芯片数量是其整数倍。 |
仅在升级到Atlas 950 PoD设备时需要配置该字段。ra-block用于指定逻辑框芯片数量,用于训练任务的逻辑框亲和性调度,若用户未指定该字段,Volcano调度时会将此任务的逻辑框大小指定为8,即不开启逻辑框亲和性调度。 了解详细说明请参见灵衢总线设备节点网络说明 |
| requests/limits |
|
相比于Atlas A3设备,Ascend 950代际设备在芯片资源名称上存在变更,且Ascend 950代际设备单机NPU数视实际硬件型号存在差异。 |
| ASCEND_VISIBLE_DEVICES |
|
该字段为容器的环境变量配置。完整配置路径例如:若ASCEND_VISIBLE_DEVICES对应环境变量键值containers[0].env[0],则环境变量值配置于containers[0].env[0].valueFrom.fieldRef.fieldPath。 Ascend Docker Runtime会获取该参数值,用于给容器挂载相应类型的NPU。相比于Atlas A3设备,Ascend 950代际设备在芯片资源名称上存在变更。 |
表 3 Ascend 950代际设备任务YAML文件样例参考
| 使用场景 | 任务类型 | 硬件型号 | 使用框架 | YAML示例文件名 | 链接 |
|---|---|---|---|---|---|
| 训练 | Ascend Job | Atlas 950 SuperPoD | PyTorch | pytorch_multinodes_acjob_950.yaml | 获取YAML |
| MindSpore | mindspore_multinodes_acjob_950.yaml | 获取YAML | |||
| Volcano Job | Atlas 950 SuperPoD Atlas 850系列硬件产品(超节点) Atlas 350 标卡 |
PyTorch | a950_superpod_pytorch_vcjob.yaml | 获取YAML | |
| MindSpore | a950_superpod_mindspore_vcjob.yaml | 获取YAML | |||
| Deployment | Atlas 950 SuperPoD Atlas 850系列硬件产品(超节点) Atlas 350 标卡 |
PyTorch | a950_superpod_pytorch_deployment.yaml | 获取YAML | |
| MindSpore | a950_superpod_mindspore_deployment.yaml | 获取YAML | |||
| 推理 | Ascend Job | Atlas 950 SuperPoD Atlas 850系列硬件产品(超节点) Atlas 350 标卡 |
- | pytorch_multinodes_acjob_infer_950_with_ranktable.yaml | 获取YAML |
| Volcano Job | Atlas 950 SuperPoD Atlas 850系列硬件产品(超节点) Atlas 350 标卡 |
- | infer-vcjob-950.yaml | 获取YAML | |
| Deployment | Atlas 950 SuperPoD Atlas 850系列硬件产品(超节点) Atlas 350 标卡 |
- | infer-deploy-950.yaml | 获取YAML |