SuperAPI AI 工具集

atb-nnal-installer

部署与运维

查看项目

更新于 10-24 04:38

技能介绍

功能概述

atb-nnal-installer 用于在昇腾 NPU 环境中安装 NNAL(ATB 加速库)。该技能假设 Toolkit+Kernels 已由 cann-operator-env-config 技能安装完毕,自身仅负责 NNAL 包的安装、环境变量配置与验证。

调用时机

  • 用户已完成 Toolkit+Kernels 安装(通过 cann-operator-env-config),需要安装 NNAL。
  • 用户在 Docker 容器中需要安装 NNAL。
  • 用户需要安装或升级特定版本的 NNAL。

前置条件

必须已执行 cann-operator-env-config 技能,确保:Toolkit 已安装,/usr/local/Ascend/ascend-toolkit/set_env.sh 存在;Kernels(ops)已安装。

路径约束:执行此技能前,必须从用户处获取 NNAL 安装目标路径 <INSTALL_PATH>(如 /usr/local/Ascend)。若用户未提供 INSTALL_PATH,应立即停止并打断,要求用户提供安装路径。资料中给出的校验示例为:if [ -z "$INSTALL_PATH" ]; then echo "ERROR: INSTALL_PATH 未设置,请提供 NNAL 安装路径。"; exit 1; fi。

主要步骤

第1步:检查 NPU 驱动,执行 npu-smi info;若不可用或未检测到 NPU 设备,停止安装并报错。

第2步:如 Toolkit+Kernels 尚未安装,先调用 cann-operator-env-config 技能。该技能位于 /home/s30073260/swiglu_quant/agent-skills-ivan-fork/skills/cann-operator-env-config/,提供离线 run 包、conda 在线、yum 在线 3 种安装方式;安装完成后 Toolkit 和 Kernels 位于 /usr/local/Ascend/。

第3步:source Toolkit 环境变量,执行 source /usr/local/Ascend/ascend-toolkit/set_env.sh,并验证 echo $ASCEND_TOOLKIT_HOME(应输出 /usr/local/Ascend/ascend-toolkit/latest 或自定义路径)。NNAL 安装脚本依赖 ASCEND_TOOLKIT_HOME 等环境变量,必须先 source。

第4步:安装 NNAL。方式一(推荐)run 包安装:chmod +x Ascend-cann-nnal_.run 后执行 ./Ascend-cann-nnal_.run --install --install-path="${INSTALL_PATH}"。方式二从 Docker 镜像提取:设置 CANN_IMAGE(如 quay.io/ascend/cann:9.0.0-beta.2-910-openeuler24.03-py3.11),docker create 创建临时容器,docker cp 提取 /usr/local/Ascend/nnal 到 ${INSTALL_PATH}/,再删除临时容器。

第5步:加载环境变量,执行 source "${INSTALL_PATH}/nnal/atb/set_env.sh",并可将该行追加到 ~/.bashrc 持久化。

第6步:安装验证:检查 NNAL 目录结构(ls -lh ${INSTALL_PATH}/nnal/atb/);验证 Toolkit 版本(读取 version.cfg 或 ascend_toolkit_install.info);验证 NNAL 版本(cat ${INSTALL_PATH}/nnal/atb/version);验证 which bisheng && bisheng --version、which atc && atc --version;验证 npu-smi info。

环境变量汇总

安装完成后应正确设置:ASCEND_TOOLKIT_HOME(/usr/local/Ascend/ascend-toolkit/latest,来自 Toolkit 的 set_env.sh);ATB_HOME_PATH(${INSTALL_PATH}/nnal/atb,来自 NNAL 的 set_env.sh);LD_LIBRARY_PATH(含 ${INSTALL_PATH}/nnal/atb/lib,来自 NNAL 的 set_env.sh)。

参考信息与注意事项

NNAL run 包大小约 500-600MB,安装耗时约 5-10 分钟;含 Toolkit+Kernels 总计约 15-20 分钟(3 包约 3.6GB)。部分 run 包会询问确认,可使用 yes | 管道实现非交互安装。安装时若出现 "driver package is not installed" 警告属正常现象——Docker 容器使用宿主机驱动,无需安装驱动包。

常见问题

  • NPU 驱动问题:原因为 NPU 驱动未安装或 Docker 容器未挂载 NPU 设备;解决方式是确认宿主机执行 npu-smi info 正常,并在容器启动时添加 --device=/dev/davinciX 参数。
  • Toolkit 环境变量问题:原因为 Toolkit 未安装或 set_env.sh 路径不正确;解决方式是确认 /usr/local/Ascend/ascend-toolkit/latest/set_env.sh 存在,否则返回执行 cann-operator-env-config。
  • 权限问题:安装路径需 root 权限,可使用 sudo 执行 run 包安装。

执行结果记录

技能提供检查点检查表,涵盖 NPU 驱动、Toolkit+Kernels 安装、ASCEND_TOOLKIT_HOME 设置、NNAL 安装成功、环境变量加载、NNAL 版本验证、bisheng/atc 可用、npu-smi 正常等检查项,并给出 VERDICT 判定(SUCCESS / PARTIAL / FAILED / SKIPPED)、问题列表与执行摘要(执行时间、环境、NNAL 版本、持续时间、通过率)。

适用场景与限制

适用于已完成 Toolkit+Kernels 安装的昇腾 NPU 裸机或 Docker 容器环境,用于安装或升级 NNAL 并验证环境。限制在于:必须提供 INSTALL_PATH;依赖 cann-operator-env-config 完成前置安装;需要可用的 NPU 驱动与相应权限。