文档
注册
评分
提单
论坛
小AI

准备ranktable资源配置文件

进行训练之前,需要准备昇腾AI处理器资源配置文件(即Rank table文件),并上传到当前运行环境,该文件用于定义训练的昇腾AI处理器资源信息。

使用前须知

  1. 针对Atlas 训练系列产品,在ranktable文件中配置参与训练的昇腾AI处理器信息支持两种配置模板,全新场景推荐使用模板一,模板二用于兼容部分已有场景。
  2. 针对Atlas 训练系列产品,如果使用1台训练服务器(Server),要求实际参与集合通信的昇腾AI处理器数目只能为1/2/4/8,且0-3卡和4-7卡各为一个组网。使用2张卡或4张卡训练时,不支持跨组网创建设备集群。
  3. 针对Atlas 训练系列产品,Server集群场景下(即由集群管理主节点和一组训练服务器组成训练服务器集群),要求参与集合通信的昇腾AI处理器数目只能为1*n、2*n、4*n、8*n(其中n为参与训练的Server个数,上限为512)。且n为2的指数倍情况下,集群性能最好,建议用户优先采用此种方式进行集群组网。

准备配置文件

ranktable文件为json格式,以2p场景为例,文件可以命名为rank_table_2p.json。

用户也可以在此处配置全量的昇腾AI处理器资源信息,后续训练进程启动时仅使用其中的指定的几个昇腾AI处理器资源。

针对Atlas 训练系列产品,支持的ranktable文件配置说明如下:
  • 模板一(推荐使用)
    {
    "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"
    }
    表1 ranktable文件说明

    配置项

    配置说明

    可选/必选

    server_count

    本次参与训练的Server实例个数。

    必选

    status

    Rank table可用标识。

    • completed:表示Rank table可用,可执行训练。
    • initializing:表示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,实际Device数量-1]

    必选

    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。

    说明:
    • 典型8网口集合通信场景下:ranktable文件中的devices字段会记录每个device可用的网口ip信息,如下所示为device_id为0,网口ip地址为192.168.100.101的devices信息:
      "devices": [{"device_id": "0", "device_ip": "192.168.100.101"}]
    • 针对Atlas 训练系列产品,网口裁剪的场景下,通过ranktable校验得到各Server可用的1/2/4个网口信息,当devices中device_ip字段为空字符串" "时,代表该device的网口不在集合通信中使用,如下所示为device_id为0网口不使用时的devices信息:
      "devices": [{"device_id": "0", "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"  
                    }
                 ]
              }
           ]
       }     
     ] 
    }
    表2 ranktable文件说明

    配置项

    配置说明

    可选/必选

    status

    Rank table可用标识。

    • completed:表示Rank table可用,可执行训练。
    • initializing:表示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,实际Device数量-1]

    必选

    device_ip

    昇腾AI处理器集成网卡IP,全局唯一,以点分十进制表示的字符串,配置示例:192.168.1.8。

    可以在当前Server执行指令cat /etc/hccn.conf获取网卡IP。

    说明:
    • 典型8网口集合通信场景下:ranktable文件中的devices字段会记录每个device可用的网口ip信息,如下所示为device_id为0,网口ip地址为192.168.100.101的devices信息:
      "devices": [{"device_id": "0", "device_ip": "192.168.100.101"}]
    • 针对Atlas 训练系列产品,网口裁剪的场景下,通过ranktable校验得到各Server可用的1/2/4个网口信息,当devices中device_ip字段为空字符串" "时,代表该device的网口不在集合通信中使用,如下所示为device_id为0网口不使用时的devices信息:
      "devices": [{"device_id": "0", "device_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"
}
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词