Appendix
Reference Information
Download Reference
Supported OSs and Software Packages Available for Download
When using MindCluster Ascend Deployer for download, see Download Precautions. For the value range of OS, see Supported OSs and Architectures. For the value range of software packages, see Table 2.
- Because a large number of software packages need to be downloaded, MindCluster Ascend Deployer enables the parallel download function by default. You can modify the
parallel_downloadfield in theascend_deployer/downloader/config.inifile to determine whether to enable the parallel download function.1indicates enabled, and0indicates disabled. The default number of parallel download threads is16. You can modify the parallel number through theASCEND_DEPLOYER_DOWNLOAD_MAX_SIZEenvironment variable. - MindCluster Ascend Deployer has provided a repository configuration file, which uses the Huawei repository by default. You can replace it as needed. For details, see Configuring the Repository.
- When downloading OS dependencies, to compile and install the hccl-test tool, the software packages of MPI 3.2.1 and Open MPI 4.1.5 are automatically downloaded. During installation, the corresponding dependency is used for compilation based on the configured IP type of the environment to be installed. For IPv4 format, MPI 3.2.1 is installed; for IPv6 format or Atlas A3 Training Series Products, Open MPI 4.1.5 is installed.
Supported OSs and Architectures
Table 1 Supported OSs and architectures for MindCluster Ascend Deployer
|
|||
|
|||
Only adapted for installing Ascend HDK, CANN, ToolBox, and MindCluster Ascend FaultDiag on Atlas 900 A3 SuperPoD. |
|||
|
|||
- |
|||
On UOS 20-1020e and 20-1050u2e systems, the MindCluster Ascend Deployer tool does not support installing the system dependencies required by Ascend software packages. You need to manually install them by referring to Installing Dependencies on UOS before using the tool for deployment. |
|||
Currently, two kernel versions are supported: 6.5.0-18-generic and 5.15.0-94-generic. |
|||
Deployment is currently supported only for NPU firmware and driver releases 25.2.0 and later. |
|||
For MTOS, because it requires a kernel-devel package that is not available from public networks, the download functionality is provided as a placeholder only. If you need to use it, after the download completes, please replace the package with the kernel-devel-5.10.0-218.0.0.mt20240808.560.mt2203sp4.aarch64.rpm file extracted from the image. |
|||
A usable Python 3 is required in the environment. Please install Python 3 manually. |
|||
Dependency repositories for VesselOS are not yet publicly available. When VesselOS_1.0_aarch64 is selected as the OS, only the generic software package is downloaded. You must prepare the system dependency packages based on ascend_deployer/downloader/config/VesselOS_1.0_aarch64/external_pkg.json within the generic software package.
Note:
To prepare system dependencies, mount the VesselOS image file and retrieve all system dependency packages from the Packages folder within the mounted image. Then copy them into the ascend_deployer/resources/VesselOS_1.0_aarch64 directory. Note that the docker-engine and libtool-ltdl packages should be placed specifically in the ascend_deployer/resources/VesselOS_1.0_aarch64/docker subdirectory. |
|||
Dependency repositories for VesselOS are not yet publicly available. When VesselOS_2.0_aarch64 is selected as the OS, only the generic software package is downloaded. You must prepare the system dependency packages based on ascend_deployer/downloader/config/VesselOS_2.0_aarch64/external_pkg.json within the generic software package.
Note:
To prepare system dependencies, mount the VesselOS image file and retrieve all system dependency packages from the Packages folder within the mounted image. Then copy them into the ascend_deployer/resources/VesselOS_2.0_aarch64 directory. Note that the docker-engine, libtool-ltdl, libnetwork, and tar packages should be placed specifically in the ascend_deployer/resources/VesselOS_2.0_aarch64/docker subdirectory. |
|||
|
|||
Supported Downloadable Software Packages
Table 2 Software packages supported for download by MindCluster Ascend Deployer
|
||
ascend-device-plugin, ascend-docker-runtime, noded, npu-exporter, volcano, ascend-operator, infer-operator, resilience-controller, clusterd |
- |
|
|
||
Due to the large image file size, you need to select the version and model when downloading. |
Installation and Upgrade Reference
install Parameter Description
Select the corresponding parameters based on actual needs to complete the installation.
Command format:
- Method 1: Download the ZIP package, extract it, and use
bash install.sh [options]. - Method 2: Install MindCluster Ascend Deployer via the
pipcommand and useascend-deployer [options]. - Method 3: Download the ZIP package, extract it, and use
bash large_scale_install.sh [options]. - Method 4: Install MindCluster Ascend Deployer using the
pipcommand and uselarge-scale-deployer [options].
For option, see Table 1. The range of values for each option in the table can be viewed by running bash install.sh --help.
Table 1 Option description
| Option | Description |
|---|---|
| --help, -h | Queries help information. |
| --check | Checks the environment, supporting connectivity checks with the devices to be installed, and compatibility checks of the devices to be installed with the tool and the software packages to be installed. This option must be used together with When |
| --check_mode | Selects the check mode, supporting fast full check, unified display of error data, and generation of a check result file. For details, see Example of Check Result File. Optional Parameter: fast (quick check, exits upon encountering an exception), full (full check). The default value is full. This option must be used together with When |
| --skip_check | Determines whether to perform an installation check. Check items mainly include users, configurations, dependencies, compatibility, and card health status. This option can be used together with When |
| --clean | Cleans up the resources directory and resources_{arch}.tar in the home directory of the user on the device to be installed. |
| --nocopy | Does not perform resource copying during batch installation. This option does not affect resource copying in large-scale deployment scenarios. This option must be used together with Example: |
| --only_copy | Performs resource copying during batch installation. This option does not affect resource copying in large-scale deployment scenarios. Only copies resources for the software to be installed, but does not execute the specific installation. It is mutually exclusive with This option must be used together with Example: |
| --force_upgrade_npu | Forcibly upgrades the NPU when not all cards are abnormal. |
| --verbose | Prints the installation status of each task in detail. This option must be used together with --install or --install-scene. Example: |
| --stdout_callback=<callback_name> | Sets the output format for command execution. Available parameters can be viewed using the ansible-doc -t callback -l command. |
--install=<package_name> |
Specifies software installation. For the software packages that can be installed, see Supported Installation and Upgrade Packages. |
--upgrade=<package_name> |
Specifies software upgrade. Options: npu(driver, firmware), mcu, nnae, nnrt, toolkit, kernels, toolbox, fault-diag, ascend-device-plugin, ascend-docker-runtime, noded, npu-exporter, volcano, ascend-operator, infer-operator, resilience-controller, clusterd, ubengine |
--install-scene=<scene_name> |
Specifies scenario installation. For installation scenarios, see Supported Installation and Upgrade Scenarios. |
| --patch=<package_name> | Specifies software patching. Options: nnae, nnrt, toolkit |
| --patch-rollback=<package_name> | Specifies patch rollback for software. Options: nnae, nnrt, toolkit |
| --test=<target> | Checks the version of the specified component and whether it can work properly. Options: all, driver, firmware, mcu, mindspore, nnae, nnrt, pytorch, tensorflow, toolbox, toolkit, ascend-device-plugin, ascend-docker-runtime, noded, npu-exporter, volcano, ascend-operator, infer-operator, resilience-controller, clusterd, mindie_image, fault-diag, ubengine |
| --hccn | Configures the HCCN network. This option is not supported in large-scale deployment scenarios. |
| --hccn --check | Checks the HCCN network. |
| --retry=<target> | This option is used only when installing and deploying ultra-large-scale clusters. The default value is fast. Retry option, automatically uses the sub-cluster configuration file generated last time to attempt redeployment again. Options are described as follows:
|
When the --check_mode option is used, a check_res_output.json check report will be generated in the ~/.ascend_deployer/deploy_info/ directory, accurately indicating error information. An example of the result is shown below:
{
"CheckList": [
{
"check_item": "check_card",
"desc_en": "Check NPU compatibility",
"desc_zh": "Check NPU compatibility",
"tip_en": "",
"tip_zh": ""
},
{
"check_item": "check_k8s_version",
"desc_en": "Judgment: 1. kubelet, kubectl, and kubeadm all exist"
"2. kubelet --version == kubeadm version == kubectl version "
"3. kubelet version < 1.29 "
"4. kubelet version >=1.19.16.",
"desc_zh": "Judgment: 1. kubelet, kubectl, and kubeadm all exist"
"2. kubelet --version == kubeadm version == kubectl version "
"3. kubelet version < 1.29 "
"4. kubelet version >=1.19.16。",
"tip_en": "Execute the version query command to confirm whether the component has been installed, "
"whether the version number is the same, and whether the version is within the supported range.",
"tip_zh": "Run the version query command to confirm whether the components are installed, whether the version numbers are the same, and whether the versions are within the supported range.",
"help_url": ""
}
],
"HostCheckResList": {
"xx.xx.xx.x1": [
{
"check_item": "check_card",
"status": "failed",
"error_msg": "Check card failed: [ASCEND] A300i-pro has no support for MTOS_22.03LTS-SP4_aarch64 on this device"
}
]
}
}
Table 2 Parameter description of the check result file
| Parameter | Description |
|---|---|
| check_item | Check item. |
| desc_en | Check result (English). |
| desc_zh | Check result (Chinese). |
| tip_en | Resolution tip (English). |
| tip_zh | Resolution tip (Chinese). |
| help_url | Reference link to related help documentation. |
| error_msg | Error message. |
| status | Check result status.
|
Supported Installation and Upgrade Scenarios
MindCluster Ascend Deployer supports the following basic installation and upgrade scenarios.
Note
For scenarios involving framework installation, if the system's GCC version is earlier than 7.3.0, GCC 7.3.0 will be automatically installed and the environment variable or soft link will be configured (for details, see (Optional) Configuring GCC Environment Variables to ensure normal use after installation in each scenario.
- During installation, the runtime environment time must be calibrated to the correct UTC time using the
date -scommand. - MindCluster Ascend Deployer can only install the most basic libraries to ensure that TensorFlow and PyTorch can run. If you need to run more complex inference services or model training, the model code may contain libraries related to specific services, which must be installed by the user.
- MindCluster Ascend Deployer requires many dependencies. It is recommended to perform installation or upgrade operations on user‑uploaded software packages only after the OS dependencies downloaded by the tool have been successfully installed or upgraded.
- Do not execute the
--install-scenecommand repeatedly, as this will cause the installation to fail.
Optional Installation and Upgrade Scenarios
Table 1 Optional installation and upgrade scenarios
| Scenario Classification | Scenario Name | Installed Components | Description |
|---|---|---|---|
| Installation | offline_dev | sys_pkg, python, npu, toolkit, kernels | Offline inference development scenario |
| Installation | offline_run | sys_pkg, python, npu, nnrt | Offline inference runtime scenario |
| Installation | mindspore | sys_pkg, python, npu, toolkit, mindspore, kernels | MindSpore scenario |
| Installation | tensorflow_dev | sys_pkg, python, npu, toolkit, tensorflow, kernels | TensorFlow development scenario |
| Installation | tensorflow_run | sys_pkg, python, npu, nnae, tensorflow, kernels | TensorFlow runtime scenario |
| Installation | pytorch_dev | sys_pkg, python, npu, toolkit, pytorch, kernels | PyTorch development scenario |
| Installation | pytorch_run | sys_pkg, python, npu, nnae, pytorch, kernels | PyTorch runtime scenario |
| Installation Upgrade |
dl | ascend-device-plugin, ascend-docker-runtime, noded, npu-exporter, volcano, ascend-operator, infer-operator, clusterd | Installation and upgrade for MindCluster cluster scheduling |
Note
The configuration files for the above installation scenarios are located in the scene directory, for example, the configuration file for the dl scenario is ascend-deployer/ascend_deployer/playbooks/scene/scene_dl.yml. If you need to customize an installation scenario, you can refer to the configuration file for customization.
Supported Installation and Upgrade Packages
MindCluster Ascend Deployer supports specifying software packages listed in Table 1 for installation. You can run bash install.sh --help to view the supported parameters for --install=<package_name>.
-
During installation, the runtime environment time must be calibrated to the correct UTC time using the
date -scommand. -
When specifying software installation or upgrade, MindCluster Ascend Deployer only supports specifying the installation or upgrade of software versions released within the past year.
-
MindCluster Ascend Deployer can only install the most basic libraries to ensure that TensorFlow and PyTorch can run. If you need to run more complex inference services or model training, the model code may contain libraries related to specific services, which must be installed by the user.
-
If the GCC version is earlier than 7.3.0, MindCluster Ascend Deployer will automatically install it.
-
MindCluster Ascend Deployer has many required dependencies. It is recommended that you perform operations such as installing or upgrading user-uploaded software packages only after the OS dependencies downloaded by the tool are installed.
Optional Installation and Upgrade Software Packages
Table 1 Optional installation and upgrade software packages
| Scenario Classification | Software Package Type | Specified Parameter | Description |
|---|---|---|---|
| Installation only | System components | sys_pkg | Specifying sys_pkg for standalone installation is not supported on UOS. |
| Installation only | Python | python |
|
| Installation only | Distribute software packages only | copy_pkgs | Force distribution of all software packages in the environment. copy_pkgs will distribute all software packages in the resources folder to the devices to be installed. Example: bash install.sh --install=copy_pkgs |
| Installation and upgrade | NPU drivers and firmware | npu(driver, firmware) |
|
| Upgrade Only | MCU firmware | mcu |
|
| Installation and upgrade | MAMI package | ubengine |
|
| Installation and Upgrade | CANN software | nnae, nnrt, toolkit, kernels |
|
| Installation and upgrade | MindCluster Performance Testing | toolbox | - |
| Installation and upgrade | MindCluster Cluster Scheduling | ascend-device-plugin, ascend-docker-runtime, noded, npu-exporter, volcano, ascend-operator, infer-operator, resilience-controller, clusterd |
|
| Installation and upgrade | MindCluster Fault Diagnosis | fault-diag | Only supports the following Python versions: 3.7, 3.9, 3.10, 3.11.4, 3.12.10. |
| Installation only | AI framework | tensorflow, pytorch, mindspore | When deploying with MindCluster Ascend Deployer, simultaneous download and installation of MindSpore, TensorFlow, and Torch-npu is not supported. Only one AI framework can be specified for download and installation. Please select the AI framework based on actual business scenario requirements. |
| Installation only | Container image tool | docker_images | - |
| Installation only | MindIE image | mindie-image | - |
| Installation only | MindIE image | deepseek_pd | Deploy DeepSeek PD instance. |
| Installation only | MindIE server | deepseek_cntr | Deploy DeepSeek in Docker scenario. |
Typical Configurations for Prefill-Decode Disaggregation
Currently, only classic configuration parameters are supported. Other parameters are automatically populated based on the specified max_seq_len maximum sequence length parameter (corresponding to the maxSeqLen parameter in the following table) and the number of D instances.
Typical Configurations for Atlas 800I A2 Inference Server
Table 1 Key parameter description for Atlas 800I A2 inference server
Table 2 Typical configurations for AI computing nodes of the Atlas 800I A2 inference server
| Node Configuration | Prefill-Decode Disaggregation Configuration | Switch Selection Reference |
|---|---|---|
| 8 + 2 + 1 hot standby devices | 2*2P+1*4D+2 (dual-machine) + 1 online hot standby | Switch specification reference: 32*400G, e.g., XH9210: 3 Leaf, 2 Spine |
| 16 + 1 hot standby devices | 4*2P+2*4D+1 online hot standby | Switch specification reference: 32*400G, e.g., XH9210: 5 Leaf, 4 Spine |
| N*16 devices | N*(4*2P+1*8D) Linear scaling based on 16-node optimal performance (EP64) |
Switch specification reference: 32*400G, e.g., XH9210: 32 Leaf, 16 Spine, taking N=8, totaling 1,024 NPUs as an example |
Note
Large-scale expert parallelism solutions use Atlas 800I A2 inference servers (64 GB HCCS model), and the NPU on-chip memory must be 64 GB, with NPU network port optical modules rated at 200 GB/s.
Typical Configurations for Atlas 800I A3 SuperPoD
Table 3 Key parameter description for Atlas 800I A3 SuperPoD server devices
Table 4 Typical configurations for AI computing nodes of Atlas 800I A3 SuperPoD
| Node Configuration | Prefill-Decode Disaggregation Configuration | Number of Bus Network Switches (L2) |
|---|---|---|
| 8 units + 1 A3 Redundant Node (optional) | 4*1P+2*2D+1 A3 Redundant Node (optional) | 14 |
| 16 units + 1 A3 Redundant Node (optional) | 8*1P+2*4D+1 A3 Redundant Node (optional) | 28 |
| 32 units + 1 A3 Redundant Node (optional) | 16*1P+4*4D+1 A3 Redundant Node (optional) | 56 |
| 48 units | 24*1P+6*4D | 56 |
| N*48 units | N*(24*1P+6*4D) | N*56 |
(Optional) Certificate Configuration
The Parameter Description file for certificates is stored in $HOME/ascend-deployer/ascend_deployer/group_vars/master/tls_config.yaml. The following is an example of the file content.
# group_vars/tls_config.yaml
tls_config:
tls_enable: false
kmc_ksf_master: "./security/master/tools/pmt/master/ksfa"
kmc_ksf_standby: "./security/standby/tools/pmt/standby/ksfb"
infer_tls_items:
ca_cert: "./security/infer/security/certs/ca.pem"
tls_cert: "./security/infer/security/certs/cert.pem"
tls_key: "./security/infer/security/keys/cert.key.pem"
tls_passwd: "./security/infer/security/pass/key_pwd.txt"
tls_crl: "infer"
management_tls_items:
ca_cert: "./security/management/security/certs/ca.pem"
tls_cert: "./security/management/security/certs/cert.pem"
tls_key: "./security/management/security/keys/cert.key.pem"
tls_passwd: "./security/management/security/pass/key_pwd.txt"
tls_crl: "management"
# The runtime scenario of Atlas 800I A2 Inference Server does not require configuring ccae_tls_enable and ccae_tls_items.
ccae_tls_enable: false
ccae_tls_items:
ca_cert: "./security/ccae/security/certs/ca.pem"
tls_cert: "./security/ccae/security/certs/cert.pem"
tls_key: "./security/ccae/security/keys/cert.key.pem"
tls_passwd: "./security/ccae/security/pass/key_pwd.txt"
tls_crl: "ccae"
cluster_tls_enable: false
cluster_tls_items:
ca_cert: "./security/clusterd/security/certs/ca.pem"
tls_cert: "./security/clusterd/security/certs/cert.pem"
tls_key: "./security/clusterd/security/keys/cert.key.pem"
tls_passwd: "./security/clusterd/security/pass/key_pwd.txt"
tls_crl: "clusterd"
etcd_server_tls_enable: false
etcd_server_tls_items:
ca_cert: "./security/etcd_server/security/certs/ca.pem"
tls_cert: "./security/etcd_server/security/certs/cert.pem"
tls_key: "./security/etcd_server/security/keys/cert.key.pem"
tls_passwd: "./security/etcd_server/security/pass/key_pwd.txt"
kmc_ksf_master: "./security/etcd_server/tools/pmt/master/ksfa"
kmc_ksf_standby: "./security/etcd_server/tools/pmt/standby/ksfb"
tls_crl: ""
Note
For details on how to configure and use certificates, see the "Cluster Service Deployment > Prefill-Decode Disaggregation > Installation and Deployment > Configuring Automatic Certificate Generation" section in the MindIE Motor Development Guide.
Other
User Information List
Update user passwords regularly to avoid the risks associated with using the same password for an extended period.
| User | Description | Initial Password | Password Modification Method |
|---|---|---|---|
| root | Super user. | User-defined | Use the passwd command to modify. |
| HwHiAiUser | The running user of the driver run package. | User-defined | Use the passwd command to modify. |
| hwMindX | The default running user for MindCluster cluster scheduling components, set to nologin by default. | None | - |
| admin | The management user for Nexus, used only when installing sys_pkg. | Randomly generated | Log in to the Nexus service and modify in settings. |
| nexus | The user created when building the Nexus image in the Dockerfile. | User-defined | Use the passwd command to modify. |
| anonymous | Anonymous user. When enabled, allows unauthenticated users to access related resources of the Nexus service. | None | - |
Note
MindCluster Ascend Deployer, as a deployment tool, installs other components. For user list information of each component, refer to the corresponding documentation.
Users in the openEuler Base Image in the Dockerfile Example
| User | Initial Password | Password Modification Method |
|---|---|---|
| root | None | - |
| bin | None | - |
| daemon | None | - |
| adm | None | - |
| lp | None | - |
| sync | None | - |
| shutdown | None | - |
| halt | None | - |
| None | - | |
| operator | None | - |
| games | None | - |
| ftp | None | - |
| nobody | None | - |
| systemd-coredump | None | - |
| systemd-network | None | - |
| systemd-resolve | None | - |
| tss | None | - |
| unbound | None | - |
Password Complexity Requirements
Passwords must meet at least the following requirements:
-
The password must be at least 8 characters long.
-
The password must contain a combination of at least two of the following character types:
- One lowercase letter
- One uppercase letter
- One digit
- A special character: `~!@#$%^&*()-_=+\|[{}];:'",<.>/? and space
-
The password cannot be the same as the account name.
CA Certificate
Table 1 CA certificate
| CA Certificate | Path | Description |
|---|---|---|
| Huawei_Integrity_Root_CA_G2.pem | ascend-deployer-{version}/ascend_deployer/scripts/Huawei_Integrity_Root_CA_G2.pem | Used to verify the integrity of software packages, ensuring that data has not been tampered with during transmission. |
| Huawei_Software_Integrity_Protection_Root_CA.pem | ascend-deployer-{version}/ascend_deployer/scripts/Huawei_Software_Integrity_Protection_Root_CA.pem | Used to verify the integrity of software packages, ensuring that data has not been tampered with during transmission. |