昇腾社区首页
中文
注册

ranktable文件配置资源信息

开发者可以通过ranktable文件配置参与集合通信的NPU资源信息,ranktable文件为json格式。

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

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

针对Atlas A2 训练系列产品,以包含两个AI Server,每个AI Server内2个Device为例,ranktable文件配置示例如下:
{
    "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"
                }
            ]
        }
    ]
}
表1 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文件配置示例如下:
    {
        "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"
                    }
                ]
            }
        ]
    }
    表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。

    必选

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

    必选

  • 模板二(兼容部分已有场景,新版本不推荐使用)
    {
        "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"  
                            }
                        ]
                    }
                ]
            }
        ]
    }
    表3 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。

    必选

Atlas 300I Duo 推理卡配置说明

针对Atlas 300I Duo 推理卡,以包含两个AI Server,每个AI Server内2个Device为例,ranktable文件配置示例如下:
{
    "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也建议按照从小到大的顺序设置。

必选