准备资源配置文件
配置文件说明
进行训练之前,需要准备昇腾AI处理器资源配置文件(即Rank table文件),并上传到当前运行环境,该文件用于定义训练的昇腾AI处理器资源信息。最终通过环境变量RANK_TABLE_FILE指定ranktable文件路径。
ranktable文件内容格式按照json格式要求,以2p场景为例,文件可以命名为rank_table_2p.json,文件配置示例请见本文介绍。
使用前须知
- 在ranktable文件中配置需要参与训练的昇腾AI处理器数目,当前支持两种配置模板,全新场景推荐使用模板一,模板二用于兼容部分已有场景。
- 如果使用1台训练服务器(Server),要求实际参与集合通信的昇腾AI处理器数目只能为1/2/4/8,且0-3卡和4-7卡各为一个组网,使用2张卡或4张卡训练时,不支持跨组网创建设备集群。
- 如果使用Server集群,即由集群管理主节点+一组训练服务器(Server)组成训练服务器集群,要求参与集合通信的的昇腾AI处理器数目只能为8*n(其中n为参与训练的Server个数,上限为512)。且n为2的指数倍情况下,集群性能最好,建议用户优先采用此种方式进行集群组网。
- Atlas 300T 训练卡(型号 9000)场景下,要求配置的昇腾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。
说明:
|
必选 |