准备ranktable资源配置文件
开发者可以通过ranktable文件配置参与集合通信的NPU资源信息,ranktable文件为json格式,开发者可以在此文件中配置全量NPU资源信息,后续进程启动时可使用其中指定的几个NPU资源。

本节所示json文件示例中的注释仅为方便理解,实际使用时,请删除json文件中的注释。
Atlas A3 训练系列产品
配置说明
针对
- 超节点模式集群训练组网的ranktable文件配置
以包含两个超节点,每个超节点内包含两个AI Server,每个AI Server内四个Device的资源配置文件为例,假设文件命名为“rank_table_superPod.json”,配置示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
{ "status": "completed", // ranktable可用标识,completed为可用 "version": "1.2", // ranktable模板版本信息,针对超节点模式组网,配置为:1.2 "server_count":"4", // 参与训练的AI Server数目 "server_list": [ { "server_id": "node_0", // AI Server标识,string类型,请确保全局唯一 "host_ip":"172.16.0.100", // AI Server的Host IP地址 "device": [ {"device_id": "0","super_device_id":"0","device_ip": "192.168.1.6","device_port":"16666","backup_device_ip":"192.168.1.7","backup_device_port":"16667","host_port":"16665","rank_id": "0"}, // device_id为处理器的物理ID;super_device_id为处理器在超节点系统中的物理ID;device_ip为处理器真实网卡IP;device_port为处理器的网卡通信端口;backup_device_ip为开启超节点间算子重执行特性时的备用IP;host_port为Host网卡的通信端口;rank_id为rank标识,从0开始配置 {"device_id": "1","super_device_id":"1","device_ip": "192.168.1.7","device_port":"16666","backup_device_ip":"192.168.1.6","backup_device_port":"16667","host_port":"16666","rank_id": "1"}, {"device_id": "2","super_device_id":"2","device_ip": "192.168.1.8","device_port":"16668","backup_device_ip":"192.168.1.9","backup_device_port":"16670","host_port":"16667","rank_id": "2"}, {"device_id": "3","super_device_id":"3","device_ip": "192.168.1.9","device_port":"16669","backup_device_ip":"192.168.1.8","backup_device_port":"16667","host_port":"16668","rank_id": "3"}] }, { "server_id": "node_1", "host_ip":"172.16.0.101", "device": [ {"device_id": "0","super_device_id":"4","device_ip": "192.168.2.6","device_port":"16666","backup_device_ip":"192.168.2.7","backup_device_port":"16667","host_port":"16665","rank_id": "4"}, {"device_id": "1","super_device_id":"5","device_ip": "192.168.2.7","device_port":"16666","backup_device_ip":"192.168.2.6","backup_device_port":"16667","host_port":"16666","rank_id": "5"}, {"device_id": "2","super_device_id":"6","device_ip": "192.168.2.8","device_port":"16668","backup_device_ip":"192.168.2.9","backup_device_port":"16670","host_port":"16667","rank_id": "6"}, {"device_id": "3","super_device_id":"7","device_ip": "192.168.2.9","device_port":"16669","backup_device_ip":"192.168.2.8","backup_device_port":"16667","host_port":"16668","rank_id": "7"}] }, { "server_id": "node_2", "host_ip":"172.16.0.102", "device": [ {"device_id":"0","super_device_id":"0","device_ip":"192.168.3.6","device_port":"16666","backup_device_ip":"192.168.3.7","backup_device_port":"16667","host_port":"16665","rank_id":"8"}, {"device_id":"1","super_device_id":"1","device_ip":"192.168.3.7","device_port":"16666","backup_device_ip":"192.168.3.6","backup_device_port":"16667","host_port":"16666","rank_id":"9"}, {"device_id":"2","super_device_id":"2","device_ip":"192.168.3.8","device_port":"16668","backup_device_ip":"192.168.3.9","backup_device_port":"16670","host_port":"16667","rank_id":"10"}, {"device_id":"3","super_device_id":"3","device_ip":"192.168.3.9","device_port":"16669","backup_device_ip":"192.168.3.8","backup_device_port":"16667","host_port":"16668","rank_id":"11"}] }, { "server_id": "node_3", "host_ip":"172.16.0.103", "device": [ {"device_id":"0","super_device_id":"4","device_ip":"192.168.4.6","device_port":"16666","backup_device_ip":"192.168.4.7","backup_device_port":"16667","host_port":"16665","rank_id":"12"}, {"device_id":"1","super_device_id":"5","device_ip":"192.168.4.7","device_port":"16666","backup_device_ip":"192.168.4.6","backup_device_port":"16667","host_port":"16666","rank_id":"13"}, {"device_id":"2","super_device_id":"6","device_ip":"192.168.4.8","device_port":"16668","backup_device_ip":"192.168.4.9","backup_device_port":"16670","host_port":"16667","rank_id":"14"}, {"device_id":"3","super_device_id":"7","device_ip":"192.168.4.9","device_port":"16669","backup_device_ip":"192.168.4.8","backup_device_port":"16667","host_port":"16668","rank_id":"15"}] } ], "super_pod_list": [ { "super_pod_id": "0", // 超节点唯一标识 "server_list": [ // 超节点内的AI Server列表 {"server_id": "node_0"}, // server_id为Server标识,与"server_list"中的server_id对应 {"server_id": "node_1"}] }, { "super_pod_id": "1", "server_list": [ {"server_id":"node_2"}, {"server_id":"node_3"}] } ] }
如果组网中存在多个超节点,请将属于同一超节点内的AI Server信息配置在一起。假设有两个超节点,标识分别为“0”和“1”,请先配置“0”中的AI Server信息,再配置“1”中的AI Server信息,不支持“0”中的AI Server信息与“1”中的AI Server信息交叉配置。
- 典型集群组网的ranktable文件配置
以包含两个AI Server,每个AI Server内2个Device为例,ranktable文件配置示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
{ "status":"completed", // ranktable可用标识,completed为可用 "version":"1.0", // ranktable模板版本信息,典型集群组网,配置为:1.0 "server_count":"2", //参与训练的AI Server数目,此例中,有两个AI Server "server_list": [ { "server_id":"node_0", // AI Server标识,String类型,请确保全局唯一 "host_ip":"172.16.0.110", // AI Server的Host IP地址 "device":[ // AI Server中的Device列表 { "device_id":"0", // 处理器的物理ID "device_ip":"192.168.1.8", // 处理器真实网卡IP "device_port":"16667", // 处理器的网卡通信端口 "host_port":"16666", // Host网卡的通信端口 "rank_id":"0" // rank的标识,从0开始配置 }, { "device_id":"1", "device_ip":"192.168.1.9", "device_port":"16667", "host_port":"16667", "rank_id":"1" } ] }, { "server_id":"node_1", "host_ip":"172.16.0.111", "device":[ { "device_id":"0", "device_ip":"192.168.2.8", "device_port":"16667", "host_port":"16666", "rank_id":"2" }, { "device_id":"1", "device_ip":"192.168.2.9", "device_port":"16667", "host_port":"16667", "rank_id":"3" } ] } ] }
表2 ranktable文件说明 配置项
配置说明
可选/必选
status
ranktable可用标识。
- completed:表示ranktable可用。
- initializing:表示ranktable不可用。
必选
version
ranktable模板版本信息。
针对典型集群组网,配置为:1.0。
必选
server_count
本次参与训练的AI Server个数。
必选
server_list
本次参与训练的AI Server列表。
必选
server_id
AI Server标识,字符串类型,长度小于64,请确保全局唯一。
配置示例:node_0。
必选
host_ip
AI Server的Host IP地址,全局唯一,要求为常规IPv4格式。
若通过环境变量HCCL_OP_RETRY_ENABLE开启了HCCL重执行特性,需要配置此字段,否则HCCL通信链路会建链失败。
可选
device_id
昇腾AI处理器的物理ID,即Device在AI Server上的序列号。
可通过执行“ls /dev/davinci*”命令获取昇腾AI处理器的物理ID。
例如:显示/dev/davinci0,表示昇腾AI处理器的物理ID为0。
取值范围:[0,实际Device数量-1]。
须知:“device_id”配置项的优先级高于环境变量“ASCEND_DEVICE_ID”。
必选
device_ip
昇腾AI处理器集成网卡IP,全局唯一,要求为常规IPv4或IPv6格式。
需要注意:- 多机场景下,device_ip必须配置。
- 单机场景下,device_ip可不配置。
可以在当前AI Server执行指令cat /etc/hccn.conf获取网卡IP,例如:
address_0=xx.xx.xx.xx netmask_0=xx.xx.xx.xx netdetect_0=xx.xx.xx.xx address_1=xx.xx.xx.xx netmask_1=xx.xx.xx.xx netdetect_1=xx.xx.xx.xx ...
查询到的address_xx即为网卡IP,address后的序号为昇腾AI处理器的物理ID,即device_id,后面的ip地址即为需要用户填入的该device对应的网卡IP。
可选
device_port
Device网卡的通信端口,取值范围为[1,65535],需要确保指定的端口未被其他进程占用。需要注意,[1,1023]为系统保留端口,应避免使用这些端口。
单卡多进程的业务场景下,建议配置此字段,并且不同的业务进程需要设置不同的端口号,否则业务可能会因为端口冲突运行失败。
可选
host_port
Host网卡的通信端口,取值范围为[1,65535],同一AI Server内每个Device对应的host_port应各不相同,且需要确保指定的端口未被其他进程占用。需要注意,[1,1023]为系统保留端口,应避免使用这些端口。
若通过环境变量HCCL_OP_RETRY_ENABLE开启了HCCL重执行特性,且业务为单卡多进程场景(即多个业务进程同时共用一个NPU),建议配置此字段,并且不同的业务进程需要设置不同的端口号,否则业务可能会因为端口冲突运行失败。
可选
rank_id
Rank唯一标识,请配置为整数,从0开始配置,且全局唯一,取值范围:[0, 总Device数量-1]。
为方便管理,建议rank_id按照Device物理连接顺序进行排序,即将物理连接上较近的device编排在一起。
例如,若device_ip按照物理连接从小到大设置,则rank_id也建议按照从小到大的顺序设置。
必选
Atlas A2 训练系列产品
配置说明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
{
"status":"completed", // ranktable可用标识,completed为可用
"version":"1.0", // ranktable模板版本信息,配置为:1.0
"server_count":"2", // 参与训练的AI Server数目,此例中,有两个AI Server
"server_list":
[
{
"server_id":"node_0", //AI Server标识,String类型,请确保全局唯一
"device":[ // AI Server中的Device列表
{
"device_id":"0", // 处理器的物理ID
"device_ip":"192.168.1.8", // 处理器真实网卡IP
"device_port":"16667", // 处理器的网卡监听端口
"rank_id":"0" // rank的标识,从0开始配置,请确保全局唯一
},
{
"device_id":"1",
"device_ip":"192.168.1.9",
"device_port":"16667",
"rank_id":"1"
}
]
},
{
"server_id":"node_1",
"device":[
{
"device_id":"0",
"device_ip":"192.168.2.8",
"device_port":"16667",
"rank_id":"2"
},
{
"device_id":"1",
"device_ip":"192.168.2.9",
"device_port":"16667",
"rank_id":"3"
}
]
}
]
}
|
配置项 |
配置说明 |
可选/必选 |
---|---|---|
status |
ranktable可用标识。
|
必选 |
version |
ranktable模板版本信息。 配置为:1.0。 |
必选 |
server_count |
本次参与训练的AI Server个数。 |
必选 |
server_list |
本次参与训练的AI Server列表。 |
必选 |
server_id |
AI Server标识,字符串类型,长度小于64,请确保全局唯一。 配置示例:node_0。 |
必选 |
device_id |
昇腾AI处理器的物理ID,即Device在AI Server上的序列号。 可通过执行“ls /dev/davinci*”命令获取昇腾AI处理器的物理ID。 例如:显示/dev/davinci0,表示昇腾AI处理器的物理ID为0。 取值范围:[0,实际Device数量-1]。
须知:
“device_id”配置项的优先级高于环境变量“ASCEND_DEVICE_ID”。 |
必选 |
device_ip |
昇腾AI处理器集成网卡IP,全局唯一,要求为常规IPv4或IPv6格式。
需要注意:
可以在当前AI Server执行指令cat /etc/hccn.conf获取网卡IP,例如: address_0=xx.xx.xx.xx netmask_0=xx.xx.xx.xx netdetect_0=xx.xx.xx.xx address_1=xx.xx.xx.xx netmask_1=xx.xx.xx.xx netdetect_1=xx.xx.xx.xx ... 查询到的address_xx即为网卡IP,address后的序号为昇腾AI处理器的物理ID,即device_id,后面的ip地址即为需要用户填入的该device对应的网卡IP。 |
可选 |
device_port |
Device网卡的通信端口,取值范围为[1,65535],需要确保指定的端口未被其他进程占用。需要注意,[1,1023]为系统保留端口,应避免使用这些端口。 单卡多进程的业务场景下(即多个业务进程同时共用一个NPU),建议配置此字段,并且不同的业务进程需要设置不同的端口号,否则业务可能会因为端口冲突运行失败。 |
可选 |
rank_id |
Rank唯一标识,请配置为整数,从0开始配置,且全局唯一,取值范围:[0, 总Device数量-1]。 为方便管理,建议rank_id按照Device物理连接顺序进行排序,即将物理连接上较近的device编排在一起。 例如,若device_ip按照物理连接从小到大设置,则rank_id也建议按照从小到大的顺序设置。 |
必选 |
Atlas 训练系列产品
配置说明
- 模板一(推荐使用)
以包含两个AI Server,每个AI Server内2个Device为例,ranktable文件配置示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
{ "status":"completed", // ranktable可用标识,completed为可用 "version":"1.0", // ranktable模板版本信息,配置为:1.0 "server_count":"2", // 参与训练的AI Server数目,此例中,有两个AI Server "server_list": [ { "server_id":"node_0", //AI Server标识,String类型,请确保全局唯一 "device":[ // AI Server中的Device列表 { "device_id":"0", // 处理器的物理ID "device_ip":"192.168.1.8", // 处理器真实网卡IP "rank_id":"0" // rank的标识,从0开始配置,请确保全局唯一 }, { "device_id":"1", "device_ip":"192.168.1.9", "rank_id":"1" } ] }, { "server_id":"node_1", "device":[ { "device_id":"0", "device_ip":"192.168.2.8", "rank_id":"2" }, { "device_id":"1", "device_ip":"192.168.2.9", "rank_id":"3" } ] } ] }
表4 ranktable文件说明 配置项
配置说明
可选/必选
status
ranktable可用标识。
- completed:表示ranktable可用。
- initializing:表示ranktable不可用。
必选
version
ranktable模板版本信息。
配置为:1.0。
必选
server_count
本次参与训练的AI Server个数。
必选
server_list
本次参与训练的AI Server列表。
必选
server_id
AI Server标识,字符串类型,长度小于64,请确保全局唯一。
配置示例:node_0。
必选
device_id
昇腾AI处理器的物理ID,即Device在AI Server上的序列号。
可通过执行“ls /dev/davinci*”命令获取昇腾AI处理器的物理ID。
例如:显示/dev/davinci0,表示昇腾AI处理器的物理ID为0。
取值范围:[0,实际Device数量-1]。
须知:“device_id”配置项的优先级高于环境变量“ASCEND_DEVICE_ID”。
必选
device_ip
昇腾AI处理器集成网卡IP,全局唯一,要求为常规IPv4或IPv6格式。
可以在当前AI Server执行指令“cat /etc/hccn.conf”获取网卡IP,例如:
address_0=xx.xx.xx.xx netmask_0=xx.xx.xx.xx netdetect_0=xx.xx.xx.xx address_1=xx.xx.xx.xx netmask_1=xx.xx.xx.xx netdetect_1=xx.xx.xx.xx ...
查询到的address_xx即为网卡IP,address后的序号为昇腾AI处理器的物理ID,即device_id,后面的ip地址即为需要用户填入的该device对应的网卡IP。
必选
rank_id
Rank唯一标识,请配置为整数,从0开始配置,且全局唯一,取值范围:[0, 总Device数量-1]
为方便管理,建议rank_id按照Device物理连接顺序进行排序,即将物理连接上较近的device编排在一起。
例如,若device_ip按照物理连接从小到大设置,则rank_id也建议按照从小到大的顺序设置。
必选
- 模板二(兼容部分已有场景,新版本不推荐使用)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
{ "status":"completed", // ranktable可用标识,completed为可用 "group_count":"1", // group数量,建议为1 "group_list": // group列表 [ { "group_name":"hccl_world_group", //group名称,建议hccl_world_group "instance_count":"2", // instance实例个数,容器场景下可理解为容器个数 "device_count":"2", // group中的所有device数目 "instance_list":[ // instance实例信息列表 { "pod_name":"tf-bae41", //instance实例名称,一般为容器名称 "server_id":"node_0", //AI Server标识,String类型,请确保全局唯一 "devices":[ //instance实例的device列表 { "device_id":"0", // 处理器的物理ID "device_ip":"192.168.1.8" // 处理器的真实网卡IP } ] }, { "pod_name":"tf-tbdf1", "server_id":"node_1", "devices":[ { "device_id":"1", "device_ip":"192.168.1.9" } ] } ] } ] }
表5 ranktable文件说明 配置项
配置说明
可选/必选
status
ranktable可用标识。
- completed:表示ranktable可用。
- initializing:表示ranktable不可用。
必选
group_count
用户申请的group数量,建议配置为1。
必选
group_list
Group列表。
必选
group_name
Group名称,当group_count为1时,建议配置为hccl_world_group或者空。因为当前版本无论定义为任何值,都会创建名称为hccl_world_group的group。
如果通过该配置文件创建了多个group,则系统会自动将多个group合并为一个名称为“hccl_world_group”的group资源。
可选
instance_count
和instance_list中pod_name个数保持一致,例如:容器场景下为容器实际数量。
必选
device_count
group中设备数量。
必选
instance_list
instance实例信息列表。
必选
pod_name
用户自定义配置,保持instance_list内全局唯一。
必选
server_id
AI Server标识,字符串类型,长度小于64,请确保全局唯一。
配置示例:node_0。
必选
devices
devices信息列表。
必选
device_id
昇腾AI处理器的物理ID,即Device在Server上的序列号。
可通过执行“ls /dev/davinci*”命令获取昇腾AI处理器的物理ID。
例如:显示/dev/davinci0,表示昇腾AI处理器的物理ID为0。
取值范围:[0,实际Device数量-1]。
须知:“device_id”配置项的优先级高于环境变量“ASCEND_DEVICE_ID”。
必选
device_ip
昇腾AI处理器集成网卡IP,全局唯一,要求为常规IPv4或IPv6格式。
可以在当前Server执行指令cat /etc/hccn.conf获取网卡IP。
必选