进行训练之前,需要准备昇腾AI处理器资源配置文件(即Rank table文件),并上传到当前运行环境,该文件用于定义训练的昇腾AI处理器资源信息。
ranktable文件内容格式按照json格式要求,以2p场景为例,文件可以命名为rank_table_2p.json。
用户也可以在此处配置全量的昇腾AI处理器资源信息,后续训练进程启动时仅使用其中的指定的几个昇腾AI处理器资源。
{ "server_count":"1", //server数目,此例中,只有一个AI server "server_list": [ { "device":[ // server中的device列表 { "device_id":"0", // 处理器HDC通道号 "device_ip":"192.168.1.8", // 处理器真实网卡IP "rank_id":"0" // rank的标识,rankID从0开始 }, { "device_id":"1", "device_ip":"192.168.1.9", "rank_id":"1" } ], "server_id":"10.0.0.10" //server标识,以点分十进制表示IP字符串 } ], "status":"completed", // ranktable可用标识,completed为可用 "version":"1.0" // ranktable模板版本信息,当前必须为"1.0" }
配置项 |
配置说明 |
可选/必选 |
---|---|---|
server_count |
本次参与训练的Server实例个数。 |
必选 |
status |
Rank table可用标识。
|
必选 |
version |
Rank table模板版本信息。当前仅支持配置为1.0。 |
必选 |
server_list |
本次参与训练的Server实例列表。 |
必选 |
server_id |
Server物理IP,以点分十进制表示的字符串,配置示例:10.0.0.10 |
必选 |
device_id |
昇腾AI处理器物理ID,即Device在Server上的序列号,对应HDC通道号。 取值范围:[0-7] |
必选 |
device_ip |
昇腾AI处理器集成网卡IP,全局唯一,以点分十进制表示的字符串,配置示例:192.168.1.8。 可以在当前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] |
必选 |
{ "status":"completed", // Rank table可用标识,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":[ { "pod_name":"tf-bae41", //instance实例名称,一般为容器名称 "server_id":"10.0.0.10", //server标识,以IP格式填入 "devices":[ //instance实例的device列表 { "device_id":"0", // 昇腾AI处理器HDC通道号 "device_ip":"192.168.1.8" // 昇腾AI处理器真实网卡IP } ] }, { "pod_name":"tf-tbdf1", "server_id":"10.0.0.10", "devices":[ { "device_id":"1", "device_ip":"192.168.1.9" } ] } ] } ] }
配置项 |
配置说明 |
可选/必选 |
---|---|---|
status |
Rank table可用标识。
|
必选 |
group_count |
用户申请的Group数量,建议配置为1。 |
必选 |
group_list |
Group列表。 |
必选 |
group_name |
Group名称,当group_count为1时,建议配置为hccl_world_group或为空。因为当前版本无论定义为任何值,都会创建名称为hccl_world_group的group。 如果通过该配置文件创建了多个group,则系统会自动将多个group合并为一个group名称为hccl_world_group的group资源。 |
可选 |
instance_count |
和instance_list中pod_name个数保持一致,例如:容器场景下为容器实际数量。 |
必选 |
device_count |
group中设备数量。 |
必选 |
instance_list |
- |
- |
pod_name |
用户自定义配置,保持instance_list内全局唯一。 |
必选 |
server_id |
Server物理IP,以点分十进制表示的字符串,配置示例:10.0.0.10 |
必选 |
devices |
- |
- |
device_id |
昇腾AI处理器物理ID,即Device在Server上的序列号,对应HDC通道号。 取值范围:[0-7] |
必选 |
device_ip |
昇腾AI处理器集成网卡IP,全局唯一,以点分十进制表示的字符串,配置示例:192.168.1.8。 可以在当前Server执行指令cat /etc/hccn.conf获取网卡IP。
说明:
|
必选 |
以包含两个Device的资源配置文件为例,假设命名为“rank_table_2p.json”,配置如下:
{ "server_count":"1", "server_list": [ { "device":[ { "device_id":"0", "device_ip":"192.168.1.8", "rank_id":"0" }, { "device_id":"1", "device_ip":"192.168.1.9", // 两个Device需要处于同一网段,0卡和1卡为同一网段 "rank_id":"1" } ], "server_id":"10.0.0.10" } ], "status":"completed", "version":"1.0" }