Rank Table Configuration (Atlas training product )
For the
The rank table file is in JSON format. The comments in the JSON file provided in this section are for reference only. Delete the comments when you use it.
(Recommended) Template 1
{
"status":"completed", // Rank table availability flag. The value completed indicates that the rank table is available.
"version":"1.0", // Rank table template version. Set this option to 1.0.
"server_count":"2", // Number of AI servers participating in training. In this example, there are two AI servers.
"server_list":
[
{
"server_id":"node_0", // AI server ID, which is of the string type. Ensure that the ID is globally unique.
"device":[ // List of devices on the AI server
{
"device_id":"0", // Physical ID of the processor
"device_ip":"192.168.1.8", // NIC IP address of the processor
"rank_id":"0" // Rank ID, which starts from 0 and must be globally unique.
},
{
"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"
}
]
}
]
}
Level-1 Configuration Item |
Level-2 Configuration Item |
Level-3 Configuration Item |
Description |
|---|---|---|---|
status |
Mandatory. Rank table availability flag.
|
||
version |
Mandatory. Version of a rank table template. Set the value to 1.0. |
||
server_count |
Mandatory. Number of AI servers that participate in collective communication. |
||
server_list |
Mandatory. List of AI servers that participate in collective communication. |
||
server_id |
Mandatory. AI server ID. The value is a string with a maximum of 64 characters. Ensure that the value is globally unique. Example: node_0 |
||
device |
Mandatory. List of devices on the AI server. |
||
device_id |
Mandatory. Physical ID of the AI processor, that is, the serial number of the device on the AI server. You can run the ls /dev/davinci* command to obtain the physical ID of the AI processor. For example, /dev/davinci0 indicates that the physical ID of the AI processor is 0. The value ranges from 0 to Actual number of devices – 1. Note: device_id takes precedence over the environment variable ASCEND_DEVICE_ID. |
||
device_ip |
Mandatory. IP address of the integrated NIC on the AI processor, which is globally unique and must be in the IPv4 or IPv6 format. You can run the cat /etc/hccn.conf command on the current AI server to obtain the NIC IP address. address_0=xx.xx.xx.xx netmask_0=xx.xx.xx.xx netdetect_0=xx.xx.xx.xx address_xx shows the NIC IP address, in which xx is the physical ID of AI processor (device_id). The IP address following address_xx is the one you need to set for the device. |
||
rank_id |
Mandatory. Unique ID of a rank. The value ranges from 0 to number of devices – 1.
|
Template 2 (Compatible with Some Existing Scenarios and Not Recommended in the New Version)
{
"status":"completed", // Rank table availability flag. The value completed indicates that the rank table is available.
"group_count":"1", // Number of groups. The recommended value is 1.
"group_list": // List of groups
[
{
"group_name":"hccl_world_group", // Group name. The recommended value is hccl_world_group.
"instance_count":"2", // Number of instances, which can be considered as the number of containers in the container scenario.
"device_count":"2", // Number of all devices in the group
"instance_list":[ // Instance list
{
"pod_name":"tf-bae41", // Instance name, which is generally the container name.
"server_id":"node_0", // AI server ID, which is of the string type. Ensure that the ID is globally unique.
"devices":[ // List of devices of the instance
{
"device_id":"0", // Physical ID of the processor
"device_ip":"192.168.1.8" // NIC IP address of the processor
}
]
},
{
"pod_name":"tf-tbdf1",
"server_id":"node_1",
"devices":[
{
"device_id":"1",
"device_ip":"192.168.1.9"
}
]
}
]
}
]
}
Level-1 Configuration Item |
Level-2 Configuration Item |
Level-3 Configuration Item |
Level-4 Configuration Item |
Description |
|---|---|---|---|---|
status |
Mandatory. Rank table availability flag.
|
|||
group_count |
Mandatory. Number of groups that a user applies for. The recommended value is 1. |
|||
group_list |
Mandatory. Group list. |
|||
group_name |
Optional. Group name. When group_count is set to 1, you are advised to set this item to hccl_world_group or leave it empty. In the current version, a group named hccl_world_group is created regardless of the value of this item. If multiple groups are created using this configuration file, the system automatically combines the groups into a group named hccl_world_group. |
|||
instance_count |
Mandatory. The value of this item must be the same as the number of pods in the instance list. In the container scenario, the value is the number of containers. |
|||
device_count |
Mandatory. Number of devices in a group. |
|||
instance_list |
Mandatory. Instance list. |
|||
pod_name |
Mandatory. User-defined pod name, which must be unique in instance_list. |
|||
server_id |
Mandatory. AI server ID. The value is a string with a maximum of 64 characters. Ensure that the value is globally unique. Example: node_0 |
|||
devices |
Mandatory. Device list. |
|||
device_id |
Mandatory. Physical ID of the AI processor, that is, the serial number of the device on the server. You can run the ls /dev/davinci* command to obtain the physical ID of the AI processor. For example, /dev/davinci0 indicates that the physical ID of the AI processor is 0. The value ranges from 0 to Actual number of devices – 1. Note: device_id takes precedence over the environment variable ASCEND_DEVICE_ID. |
|||
device_ip |
Mandatory. IP address of the integrated NIC on the AI processor, which is globally unique and must be in the IPv4 or IPv6 format. You can run the cat /etc/hccn.conf command on the current server to obtain the NIC IP address. |