rank table配置资源信息(
Atlas A3 训练系列产品
/
Atlas A3 推理系列产品
)
针对
本节所示JSON文件示例中的注释仅为方便理解,实际使用时,请删除JSON文件中的注释。
超节点模式组网
以包含两个超节点,每个超节点内包含两个AI Server,每个AI Server内四个Device的资源配置文件为例,假设文件命名为“rank_table_superPod.json”,配置示例如下:
{
"status": "completed", // rank table可用标识,completed为可用
"version": "1.2", // rank table模板版本信息,针对超节点模式组网,配置为: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"}]
}
]
}
|
一级配置项 |
二级配置项 |
三级配置项 |
配置说明 |
|---|---|---|---|
|
status |
必选。 rank table可用标识。
|
||
|
version |
必选。 rank table模板版本信息。 针对超节点模式组网,配置为:1.2。 |
||
|
server_count |
可选。 参与集合通信的AI Server个数。 |
||
|
server_list |
必选。 参与集合通信的AI Server列表。 |
||
|
server_id |
必选。 AI Server标识,字符串类型,长度小于等于64,请确保全局唯一。 配置示例:node_0。 |
||
|
host_ip |
可选。 AI Server的Host IP地址,要求为常规IPv4格式。 开启HCCL重执行特性的场景下,此字段必须配置,否则重执行失效,走无重执行流程。 重执行特性默认关闭,可参见环境变量HCCL_OP_RETRY_ENABLE。 |
||
|
device |
必选。 Device列表。 |
||
|
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”。 |
||
|
super_device_id |
可选(若不配置该字段,会采用“AI Server模式”)。 昇腾AI处理器在超节点系统中的物理ID,为超节点系统中NPU唯一标识。 开发者可通过npu-smi命令查询,命令示例如下: npu-smi info -t spod-info -i id -c chip_id
回显中的“SDID”即为超节点系统中的NPU唯一标识。 |
||
|
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]为系统保留端口,应避免使用这些端口。 单卡多进程的业务场景下,建议配置此字段,并且不同的业务进程需要设置不同的端口号,否则业务可能会因为端口冲突运行失败。 |
||
|
backup_device_ip |
可选。 当超节点间通信开启了算子重执行特性时,如果Device网卡故障(RDMA链路故障),可通过此参数将同一NPU中的另一个Die网卡指定为备用Device网卡,提升算子重执行的成功率,此种启用备用Device网卡的通信方式称之为借轨通信。 “backup_device_ip”为常规IPv4或IPv6格式,查询方法可参见“device_ip”的配置说明。
需要注意:
|
||
|
backup_device_port |
可选。 备用Device网卡的通信端口,取值范围为[1,65535],需要确保指定的端口未被其他进程占用。需要注意,[1,1023]为系统保留端口,应避免使用这些端口。 若启用了借轨通信功能,且业务为单卡多进程的场景,建议配置此字段,并且不同的业务进程需要设置不同的端口号,否则业务可能会因为端口冲突运行失败。
须知:
同一个Device网卡作为主网卡与备网卡时配置的通信端口号不能相同。 |
||
|
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也建议按照从小到大的顺序设置。 |
||
|
super_pod_list |
可选(若不配置该字段,会采用“AI Server模式”)。 参与集合通信的超节点列表。 |
||
|
super_pod_id |
若配置了“super_pod_list”,该字段必选。
超节点唯一标识,全局唯一,支持如下两种配置方式:
|
||
|
server_list |
必选。 超节点内的AI Server列表。 |
||
|
server_id |
必选。 Server标识,字符串类型,与"server_list"中的server_id对应。 配置示例:node_0。 |
如果组网中存在多个超节点,请将属于同一超节点内的AI Server信息配置在一起。假设有两个超节点,标识分别为“0”和“1”,请先配置“0”中的AI Server信息,再配置“1”中的AI Server信息,不支持“0”中的AI Server信息与“1”中的AI Server信息交叉配置。
典型集群组网(即AI Server模式)
{
"status":"completed", // rank table可用标识,completed为可用
"version":"1.0", // rank table模板版本信息,典型集群组网,配置为: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"
}
]
}
]
}
|
一级配置项 |
二级配置项 |
三级配置项 |
配置说明 |
|---|---|---|---|
|
status |
必选。 rank table可用标识。
|
||
|
version |
必选。 rank table模板版本信息。 针对典型集群组网,配置为: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重执行特性的场景下,此字段必须配置,否则重执行失效,走无重执行流程。 重执行特性默认关闭,可参见环境变量HCCL_OP_RETRY_ENABLE。 |
||
|
device |
必选。 AI Server中的Device列表。 |
||
|
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]为系统保留端口,应避免使用这些端口。 单卡多进程的业务场景下,建议配置此字段,并且不同的业务进程需要设置不同的端口号,否则业务可能会因为端口冲突运行失败。 |
||
|
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也建议按照从小到大的顺序设置。 |

