YAML参数说明
本章节提供使用整卡调度或静态vNPU调度配置YAML的操作示例。在操作前,用户需要了解YAML示例的参数说明,再进行操作。
YAML参数说明(acjob任务)
在acjob训练任务中,可使用的YAML参数说明如下表所示。
每个acjob任务YAML中包含一些固定字段,例如apiVersion、kind等,如果想了解这些字段的详细说明请参见acjob关键字段说明。
参数 |
取值 |
说明 |
---|---|---|
framework |
|
框架类型,目前只支持三种。 |
ring-controller.atlas |
|
用于区分任务使用的芯片的类型。 |
schedulerName |
默认值为“volcano”,用户需根据自身情况填写 |
Ascend Operator启用“gang”调度时所选择的调度器。 |
minAvailable |
默认值为任务总副本数 |
Ascend Operator启用“gang”调度生效,且调度器为Volcano时,任务运行总副本数。 |
queue |
默认值为“default”,用户需根据自身情况填写 |
Ascend Operator启用“gang”调度生效,且调度器为Volcano时,任务所属队列。 |
(可选)successPolicy |
|
表明任务成功的前提。空值代表只需要一个Pod成功,整个任务判定为成功。取值为“AllWorkers”表示所有Pod都成功,任务才判定为成功。 |
container.name |
ascend |
容器的名称必须是“ascend”。 |
(可选)ports |
若用户未进行设置,系统默认填写以下参数:
|
分布式训练集合通信端口。“name”取值只能为“ascendjob-port”,“containerPort”用户可根据实际情况设置,若未进行设置则采用默认端口2222。 |
replicas |
|
N为任务副本数。 |
image |
- |
训练镜像名称,请根据实际修改(用户在制作镜像章节制作的镜像名称)。 |
(可选)host-arch |
ARM环境:huawei-arm x86_64环境:huawei-x86 |
需要运行训练任务的节点架构,请根据实际修改。 分布式任务中,请确保运行训练任务的节点架构相同。 |
sp-block |
指定逻辑超节点芯片数量。
|
指定sp-block字段,集群调度组件会在物理超节点上根据切分策略划分出逻辑超节点,用于训练任务的亲和性调度。 了解详细说明请参见灵衢总线设备节点网络说明。 说明:
|
tor-affinity |
|
默认值为null,表示不使用交换机亲和性调度。用户需要根据任务类型进行配置。 说明:
|
accelerator-type |
根据所使用芯片类型不同,取值如下:
|
根据需要运行训练任务的节点类型,选取不同的值。 说明:
芯片型号的数值可通过npu-smi info命令查询,返回的“Name”字段对应信息为芯片型号,下文的{xxx}即取“910”字符作为芯片型号数值。 |
requests |
整卡调度: huawei.com/Ascend910: x 根据所使用芯片类型不同,x取值如下:
静态vNPU调度: huawei.com/Ascend910-Y: 1 取值为1。只能使用一个NPU下的vNPU。 如huawei.com/Ascend910-6c.1cpu.16g: 1 |
至少请求的NPU或vNPU类型(只能请求一种类型)、数量,请根据实际修改。 |
limits |
限制请求的NPU或vNPU类型(只能请求一种类型)、数量,请根据实际修改。 limits需要和requests的芯片名称和数量需保持一致。 |
|
metadata.annotations['huawei.com/AscendXXX'] |
XXX表示芯片的型号,支持的取值为910,310和310P。取值需要和环境上实际的芯片类型保持一致。 |
Ascend Docker Runtime会获取该参数值,用于给容器挂载相应类型的NPU。 说明:
该参数只支持使用Volcano调度器的整卡调度特性,使用静态vNPU调度和其他调度器的用户需要删除示例YAML中该参数的相关字段。 |
hostNetwork |
|
|
super-pod-affinity |
超节点任务使用的亲和性调度策略,需要用户在yaml的label中声明。
|
说明:
仅支持在Atlas 900 A3 SuperPoD 超节点、Atlas 9000 A3 SuperPoD 集群算力系统中使用本参数。 |
YAML参数说明(deploy任务或vcjob任务)
在deploy任务或vcjob训练任务中,可使用的YAML参数说明如下表所示。
参数 |
取值 |
说明 |
---|---|---|
minAvailable |
|
N为节点个数,Deployment类型的任务不需要该参数,该参数建议与replicas保持一致。 |
replicas |
|
N为任务副本数。 |
image |
- |
训练镜像名称,请根据实际修改(用户在制作镜像章节制作的镜像名称)。 |
(可选)host-arch |
ARM环境:huawei-arm x86_64环境:huawei-x86 |
需要运行训练任务的节点架构,请根据实际修改。 分布式任务中,请确保运行训练任务的节点架构相同。 |
tor-affinity |
|
默认值为null,表示不使用交换机亲和性调度。用户需要根据任务类型进行配置。 说明:
|
accelerator-type |
根据所使用芯片类型不同,取值如下:
|
根据需要运行训练任务的节点类型,选取不同的值。 说明:
芯片型号的数值可通过npu-smi info命令查询,返回的“Name”字段对应信息为芯片型号,下文的{xxx}即取“910”字符作为芯片型号数值。 |
requests |
整卡调度: huawei.com/Ascend910: x 根据所使用芯片类型不同,x取值如下:
静态vNPU调度: huawei.com/Ascend910-Y: 1 取值为1。只能使用一个NPU下的vNPU。 如huawei.com/Ascend910-6c.1cpu.16g: 1 |
至少请求的NPU或vNPU类型(只能请求一种类型)、数量,请根据实际修改。 |
limits |
限制请求的NPU或vNPU类型(只能请求一种类型)、数量,请根据实际修改。 limits需要和requests的芯片名称和数量需保持一致。 |
|
metadata.annotations['huawei.com/AscendXXX'] |
XXX表示芯片的型号,支持的取值为910,310和310P。取值需要和环境上实际的芯片类型保持一致。 |
Ascend Docker Runtime会获取该参数值,用于给容器挂载相应类型的NPU。 说明:
该参数只支持使用Volcano调度器的整卡调度特性。使用静态vNPU调度和其他调度器的用户需要删除示例YAML中该参数的相关字段。 |
ring-controller.atlas |
根据所使用芯片类型不同,取值如下:
|
用于区分任务使用的芯片的类型。需要在ConfigMap和任务task中配置。 说明:
芯片型号的数值可通过npu-smi info命令查询,返回的“Name”字段对应信息为芯片型号,此处的{xxx}即取“910”字符作为芯片型号数值。 |
super-pod-affinity |
超节点任务使用的亲和性调度策略,需要用户在yaml的label中声明。
|
说明:
仅支持在Atlas 900 A3 SuperPoD 超节点、Atlas 9000 A3 SuperPoD 集群算力系统中使用本参数。 |