昇腾社区首页
中文
注册

准备ranktable资源配置文件

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

本节所示json文件示例中的注释仅为方便理解,实际使用时,请删除json文件中的注释。

Atlas A3 训练系列产品 配置说明

针对 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"}]
            }
        ]
    }
    
    表1 ranktable文件说明

    配置项

    配置说明

    可选/必选

    status

    ranktable可用标识。

    • completed:表示ranktable可用。
    • initializing:表示ranktable不可用。

    必选

    version

    ranktable模板版本信息。

    针对超节点模式组网,配置为: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_OP_RETRY_ENABLE开启了HCCL重执行特性,需要配置此字段,否则HCCL通信链路会建链失败。

    关于环境变量HCCL_OP_RETRY_ENABLE的说明可参见环境变量参考中的“执行相关 > 集合通信”章节。

    可选

    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处理器在超节点系统中的物理ID,为超节点系统中NPU唯一标识。

    开发者可通过npu-smi命令查询,命令示例如下:

    npu-smi info -t spod-info -i id -c chip_id
    • id:设备ID。通过npu-smi info -l命令查出的NPU ID即为设备ID。
    • chip_id:芯片id。通过npu-smi info -m命令查出的Chip ID即为芯片id。

    回显中的“SDID”即为超节点系统中的NPU唯一标识。

    必选

    device_ip

    昇腾AI处理器集成网卡IP,全局唯一,要求为常规IPv4或IPv6格式。

    需要注意:
    1. 当组网中包含多个超节点时,device_ip必须配置。
    2. 若组网中仅包含一个超节点,device_ip在以下场景必须配置,其他场景可不配置。
      • 当超节点内使用RDMA通信时(即将环境变量HCCL_INTER_HCCS_DISABLE配置为TRUE,禁用了HCCS功能的场景),device_ip必须配置。
      • 当超节点内通信链路支持HCCS和RDMA并发时(即将环境变量HCCL_CONCURRENT_ENABLE配置为“1”的场景),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]为系统保留端口,应避免使用这些端口。

    单卡多进程的业务场景下,建议配置此字段,并且不同的业务进程需要设置不同的端口号,否则业务可能会因为端口冲突运行失败。

    可选

    backup_device_ip

    当超节点间通信开启了算子重执行特性时,如果Device网卡故障(RDMA链路故障),可通过此参数将同一NPU中的另一个Die网卡指定为备用Device网卡,提升算子重执行的成功率,此种启用备用Device网卡的通信方式称之为借轨通信。

    “backup_device_ip”为常规IPv4或IPv6格式,查询方法可参见“device_ip”的配置说明。

    需要注意:
    1. “backup_device_ip”与“device_ip”对应的Device需要属于同一NPU,即同一NPU下Die0与Die1对应的Device网卡才能互为备用。
    2. 仅通信算法的编排展开位置在AI CPU计算单元,且开启了超节点间通信的算子重执行特性时,此配置才生效,即:
      export HCCL_OP_EXPANSION_MODE="AI_CPU"
      export HCCL_OP_RETRY_ENABLE="L0:0, L1:0, L2:1"     # L2代表通信域物理范围为超节点间通信域,取值为1代表开启通信算子重执行特性。

      关于环境变量的详细说明可参见环境变量参考

    3. 如果通信过程中发生了借轨(假设某个NPU的Die0网卡故障,启用了备用的Die1网卡),原Die0的网卡流量也会通过Die1网卡收发,导致Die1的流量增大,总体性能会由于物理带宽减半、端口冲突导致下降。
    4. 开启借轨通信功能时,建议一个NPU的两个Die分配给同一个训练或推理任务。

      如果同一个NPU的两个Die分给两个不同的训练或推理任务,一个任务发生故障,会借用另一个任务的网卡,两个任务均会发生一定程度的性能下降。

    5. 同一通信域内,仅支持发生一次借轨,且不支持回切。

      如下图所示,“图示一”中rank0 -> rank1间通信链路故障,启用了备用链路,发生借轨,通信正常进行;若再发生“图示二”所示故障,则不再支持借轨,会报错退出。

    可选

    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也建议按照从小到大的顺序设置。

    必选

    server_pod_list

    本次参与训练的超节点列表。

    必选

    super_pod_id

    超节点唯一标识,全局唯一。

    支持如下两种配置方式:
    • 配置为超节点物理ID,可通过npu-smi工具查询,命令示例如下:
      npu-smi info -t spod_info -i id -c chip_id
      • id:设备ID。通过npu-smi info -l命令查出的NPU ID即为设备ID。
      • chip_id:芯片id。通过npu-smi info -m命令查出的Chip ID即为芯片id。

      回显中的“Super Pod ID”即为超节点的物理ID。

    • 用户自定义编号,字符串格式,需全局唯一。

      自定义配置ID的场景下,用户可以把一个物理超节点划分为多个小的逻辑超节点使用,比如一个物理超节点有8个AI Server节点,用户可以把前4个AI Server节点作为一个小的超节点,编号为super_pod_1,后4个AI Server节点作为一个小的超节点,编号为super_pod_2。

    必选

    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信息交叉配置。

  • 典型集群组网的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通信链路会建链失败。

    关于环境变量HCCL_OP_RETRY_ENABLE的说明可参见环境变量参考中的“执行相关 > 集合通信”章节。

    可选

    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 训练系列产品 配置说明

针对 Atlas A2 训练系列产品 ,以包含两个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
{
    "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"
                }
            ]
        }
    ]
}
表3 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格式。

需要注意:
  • 多机场景下,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]为系统保留端口,应避免使用这些端口。

单卡多进程的业务场景下(即多个业务进程同时共用一个NPU),建议配置此字段,并且不同的业务进程需要设置不同的端口号,否则业务可能会因为端口冲突运行失败。

可选

rank_id

Rank唯一标识,请配置为整数,从0开始配置,且全局唯一,取值范围:[0, 总Device数量-1]。

为方便管理,建议rank_id按照Device物理连接顺序进行排序,即将物理连接上较近的device编排在一起。

例如,若device_ip按照物理连接从小到大设置,则rank_id也建议按照从小到大的顺序设置。

必选

Atlas 训练系列产品 配置说明

针对 Atlas 训练系列产品 ,在ranktable文件中配置参与训练的昇腾AI处理器信息支持两种配置模板,全新场景推荐使用模板一,模板二用于兼容部分已有场景。
  • 模板一(推荐使用)
    以包含两个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。

    必选