验证是否成功安装 CANN

要验证是否成功安装 CANN(Ascend Computing Language Neural Network)工具包(在 ARM Linux 系统上,用户模式安装),可以按照以下步骤检查安装状态和环境配置。以下是具体方法,确保你已完成 CANN toolkit 的安装(如 ~/ascend/cann 目录):

1. 检查安装目录

确认 CANN toolkit 是否正确安装到指定目录(例如 ~/ascend/cann):

ls ~/ascend/cann

  • 预期输出:目录包含 toolkitbinlibinclude 等子目录,可能还有 set_env.sh 等脚本。
  • 如果目录为空或不存在,说明安装失败,需重新运行安装命令(如 ./Ascend-cann-toolkit_8.0.0_linux-aarch64.run --install --install-path=~/ascend/cann)并检查日志(通常在安装目录或 /tmp 下,文件名如 Ascend*.log)。

2. 验证环境变量

CANN 工具包依赖环境变量(如 PATHLD_LIBRARY_PATH)正确配置。运行以下命令:

source ~/ascend/cann/set_env.sh
env | grep -E "ASCEND|LD_LIBRARY_PATH|PATH"

  • 预期输出:包含类似以下内容(路径基于你的安装目录):
    ASCEND_TOOLKIT_HOME=/home/your_user/ascend/cann
    LD_LIBRARY_PATH=/home/your_user/ascend/cann/lib:...
    PATH=/home/your_user/ascend/cann/bin:...
  • 如果没有输出,说明环境变量未设置,需手动 source 或检查 set_env.sh 是否存在。

3. 检查 CANN 工具版本

验证 CANN toolkit 是否可用:

ascend-toolkit --version

  • 预期输出:显示版本号,如 Ascend CANN Toolkit 8.0.0
  • 如果命令不存在或报错,说明 PATH 未正确包含 ~/ascend/cann/bin,重新 source 环境变量或检查安装。

4. 检查 NPU 驱动(可选,需硬件支持)

如果你有 Ascend NPU 硬件且驱动已安装(需 root 或管理员预装),验证硬件是否可用:

npu-smi info

  • 预期输出:列出 NPU 设备信息,如芯片型号(Ascend 910/310)、ID、健康状态等。例如:
    +-----------------------------------------------------------------------------+
    | NPU   Name   Health  Power(W)  Temp(C)  Memory-Utilization  Compute-Utilization |
    | 0     910    OK      50.0     45       10%                0%                 |
    +-----------------------------------------------------------------------------+
  • 如果命令不存在或无输出,说明:
    • 驱动未安装(需 root 安装驱动包,如 Ascend-ascend910-driver_xxx_linux-aarch64.run)。
    • 当前用户不在驱动所需组(如 HwHiAiUservideo)。检查:
      groups
      如果缺少相关组,需管理员添加:sudo usermod -aG HwHiAiUser your_username
    • 没有 NPU 硬件,命令无效(仅 toolkit 安装仍可用于开发)。

5. 验证 Python 环境(与 torch-npu 相关)

如果你已安装 torch-npu,检查 CANN 的 Python 库是否可用:

source ~/ascend/cann/set_env.sh
python3 -c "import torch; import torch_npu; print(torch_npu.npu.is_available())"

  • 预期输出:
    • True:表示 NPU 可用(需驱动和硬件支持)。
    • False:NPU 不可用,可能无驱动/硬件,但 CANN Python 库已加载。
  • 如果报错(如 ImportError: libascendcl.so),说明:
    • CANN 库路径未正确加载,检查 LD_LIBRARY_PATH
    • torch-npu 未正确安装,重新运行 pip install torch-npu

6. 运行 CANN 示例(可选)

CANN 安装包通常包含示例代码(在 ~/ascend/cann/samples 或官网下载)。尝试运行一个简单示例:

  • 找到示例(如 ~/ascend/cann/samples/python 中的脚本)。
  • 运行:
    python3 ~/ascend/cann/samples/python/xxx.py
  • 预期输出:示例正常运行或输出结果(可能需 NPU 硬件)。
  • 如果报错,检查错误日志,常见问题包括缺少依赖(如 numpy)或环境变量未设置。

7. 常见问题排查

  • 命令不存在:确认 PATH 包含 ~/ascend/cann/bin
  • 库加载错误:检查 LD_LIBRARY_PATH 是否包含 ~/ascend/cann/lib,或安装缺失的系统依赖(如 libatlas-base-dev)。
  • 权限问题:如果涉及硬件,确认用户在 HwHiAiUservideo 组。
  • 日志检查:查看安装日志(/tmp/Ascend*.log 或安装目录下的日志),查找错误原因。
  • 依赖检查:运行 ./Ascend-cann-toolkit_8.0.0_linux-aarch64.run --check 检查缺失依赖,用 pip install --user 安装用户级包。

8. 如果仍不工作

  • 提供具体错误信息(如命令输出、日志片段),我可以进一步分析。
  • 如果系统无 NPU 硬件或驱动,CANN toolkit 仍可用于开发/测试,但 torch-npu 硬件加速不可用。
  • 考虑容器化方案(如 Podman/Docker,rootless 模式),镜像已预装 CANN:
    podman run -it --rm ascendhub.huawei.com/public-ascendhub/ascend-toolkit:arm64-8.0.RC1 bash

完成以上步骤,你可确认 CANN 是否正确安装。如果目标是 torch-npu,确保 CANN 环境加载后再运行 Python 测试。