ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

cann 9.0.0 安装同时支持 a2 a3 910 950pr的仿真环境 9.0.0(只支持950pr)

cann 9.0.0 安装同时支持 a2 a3 910 950pr的仿真环境 9.0.0(只支持950pr)

华为 cann 9.0.0 安装同时支持 a2 a3 910 950pr的仿真环境 9.0.0(只支持950pr)

根据您提供的安装模板和昇腾官方文档,A2 系列实际搭载 Ascend 910B 芯片,因此 A2 与 910B 共用同一套驱动和 ops 包。以下是A2(910B)、A3、950 同时安装的完整命令行,以及仿真器的支持情况说明。


一、A2 / A3 / 950 同时安装命令(apt-get 方式)

# ========== 1. 配置用户属组(只需执行一次) ==========sudogroupaddHwHiAiUsersudouseradd-gHwHiAiUser-d/home/HwHiAiUser-mHwHiAiUser-s/bin/bash# ========== 2. 安装依赖 & 配置软件源(只需执行一次) ==========wgethttps://ascend.devcloud.huaweicloud.com/cann/debian/cann-keyring_1.0.0_all.debsudodpkg-icann-keyring_1.0.0_all.debsudoapt-getupdatesudoapt-getinstall-ygcc python3 python3-pip linux-headers-$(uname-r)# ========== 3. 安装 NPU 驱动(按实际芯片选择,开发机可全装) ==========# A2 系列(Atlas 800T A2 / 800I A2 等,芯片为 910B)sudoapt-getinstallascend910b-driver=26.0.rc1# A3 系列sudoapt-getinstallatlas-a3-hdk-npu-driver=26.0.rc1# 950 系列(Atlas A5 / 950 PR)sudoapt-getinstallatlas-a5-hdk-npu-driver=25.7.rc1# ========== 4. 安装 CANN Toolkit(只需一个) ==========sudoapt-getinstallascend-cann-toolkit=9.0.0# ========== 5. 安装各芯片算子包(ops 可同时安装,互不影响) ==========sudoapt-getinstallascend-cann-910b-ops=9.0.0# A2 / 910Bsudoapt-getinstallascend-cann-a3-ops=9.0.0# A3sudoapt-getinstallascend-cann-950-ops=9.0.0# 950 / A5# ========== 6. 配置环境变量 ==========source/usr/local/Ascend/cann/set_env.sh# ========== 7. 验证安装 ==========python3-c"import acl; print(acl.get_soc_name())"

说明:

  • 驱动需按实际插入的硬件安装;若作为交叉编译开发机,可同时安装多套驱动包。
  • A2 系列整机(Atlas 800T A2、Atlas 800I A2 等)在软件包体系中归类为910B平台,因此使用ascend910b-driverascend-cann-910b-ops

二、仿真器(Simulator)安装与使用

1. 支持范围(CANN 9.0)

CANN 9.0 自带的CANN Simulator 目前仅支持 Ascend 950PR,且已集成在ascend-cann-toolkit中,无需额外安装驱动/固件

芯片CANN 9.0 Simulator 支持情况
A2 (910B)❌ 不支持
A3❌ 不支持
950PR✅ 支持
2. 950PR 仿真命令示例

安装 toolkit 并 source 环境变量后,直接使用cannsim

# 进入算子/应用可执行文件所在目录# 以算子仿真为例cannsim record ./test_aclnn_add_example-sAscend950 --gen-report
  • 仿真日志默认生成在./cannsim_*目录下。
  • 约束:仅支持单卡场景(设备号必须固定为 0),不支持 MC2 / HCCL 类算子,且目前不支持 ARM 环境仿真。
3. A2 / A3 无硬件开发建议

若需在无实体 NPU 的情况下进行 A2 / A3 开发调试,可考虑以下替代方案:

方案说明
旧版仿真驱动下载Ascend-sim-driver-7.0.0等历史版本,仅用于功能验证(无加速能力)。
CPU 模拟模式编译时指定-DASCEND_COMPUTE_UNIT=cpu(Camodel),在 CPU 上模拟运行。
华为云昇腾实例使用华为云提供的昇腾 ECS / ModelArts 进行远程真机开发。

三、快速验证清单

# 查看已安装的驱动dpkg-l|grep-E"ascend|atlas"# 查看已安装的 CANN 组件dpkg-l|grepascend-cann# 查看 NPU 设备(需有实体硬件或仿真驱动)npu-smi info# 查看 ACL 能识别到的芯片型号python3-c"import acl; print(acl.get_soc_name())"

如需安装NNAL(昇腾神经网络加速库,用于大模型推理加速),可额外执行:

sudoapt-getinstallascend-cann-nnal=9.0.0source/usr/local/Ascend/nnal/atb/set_env.sh **现状:CANN9.0官方`cannsim`目前不支持 A2 / A3 仿真**,仅支持 Ascend 950PR。 但 CANN9.0为 A2 / A3 提供了其他**无硬件开发调试**途径,以下是可行方案: ---### 方案一:CPU 仿真模式(Camodel / 孪生调试)⭐ 推荐CANN9.0的 Ascend C 算子开发支持 **CPU 与 NPU 孪生调试**。在 CPU 模式下,系统会创建一个 NPU 的软件模型来模拟计算行为,**相同的算子代码可在 CPU 模式下调试精度,再无缝切换到 NPU 真机运行**。 **启用方式(算子开发场景):** ```bash# 1. 编译时指定 CPU 模式cmake-DASCEND_COMPUTE_UNIT=cpu..make# 2. 或直接运行可执行文件时去掉 --device 参数# CANN 会自动启用 CPU 仿真模式./your_op_executable

适用场景:

  • Ascend C 自定义算子的功能验证、精度调试
  • 不依赖真实 NPU,可在普通 x86/ARM 服务器上运行
  • 支持 GDB 单步调试

限制:

  • 仅用于功能/精度验证不具备硬件加速能力,运行速度远低于真机
  • 不支持多卡通信(HCCL)类算子仿真

方案二:CANN Runtime CAModel(纯软件运行时仿真)

CANN Runtime 内置的CAModellibruntime_camodel.so)是 Runtime 的纯软件仿真实现,可在无 NPU 硬件的机器上完整模拟 Runtime API 行为(设备打开、内存分配、流/事件管理、任务调度等)。

特点:

  • 指令级仿真由libcamodel.so+libtsch_camodel.so完成
  • 适合应用级调试(ACL 接口调用、内存管理、流同步等)
  • 无需安装额外驱动,Toolkit 安装后通过环境变量切换即可

启用方式:

# 设置使用 CAModel 运行时(具体路径以实际安装为准)exportLD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/lib64:$LD_LIBRARY_PATH# 部分版本需显式指定 backendexportASCEND_RUNTIME_MODEL=CAModel

方案三:旧版仿真驱动(Ascend-sim-driver)

如果需要在无硬件环境下让npu-smi等工具识别到模拟设备,可安装旧版仿真驱动(如Ascend-sim-driver-7.0.0),但版本较老,与 CANN 9.0 的新特性兼容性未知,仅建议用于基础工具链验证。

tar-zxvfAscend-sim-driver-7.0.0-linux-x86_64.tar.gz-C~/ascend-sim-drivercd~/ascend-sim-driver ./install.sh--sim# 配置环境变量exportASCEND_DRIVER_PATH=~/ascend-sim-driverexportLD_LIBRARY_PATH=$ASCEND_DRIVER_PATH/lib64:$LD_LIBRARY_PATH# 验证npu-smi info# 应显示 Simulator 模式

方案四:回退到 CANN 8.0 的 CAModel 性能仿真

如果必须进行指令级性能仿真(查看 cycle 数、指令流水图),CANN 8.0 提供了ascendebug kernel --backend simulator支持 CAModel 性能仿真。

但 CANN 9.0 的cannsim已替代旧工具,且仅支持 950PR。若 A2/A3 的指令级仿真是刚需,目前只能:

  • CANN 8.0环境下使用ascendebug进行 CAModel 仿真
  • 或等待华为后续版本扩展cannsim的芯片支持范围

总结对比

方案支持 A2/A3CANN 9.0功能验证性能仿真适用场景
CPU 仿真 / 孪生调试算子开发、精度调试
Runtime CAModel应用级 ACL 调试
旧版 sim-driver⚠️ 老版本⚠️ 兼容性未知基础工具链验证
CANN 8.0 ascendebug❌(需 8.0)指令级性能分析

建议:

  • 如果是算子开发,直接用 CANN 9.0 的CPU 孪生调试-DASCEND_COMPUTE_UNIT=cpu)。
  • 如果是应用开发,使用Runtime CAModel或华为云昇腾实例。
  • 如果需要性能仿真(cycle 级),目前 CANN 9.0 对 A2/A3 尚不支持,需用 CANN 8.0 的ascendebug或等待官方更新。
## ascend-cann-910b-ops E: Sub-process /usr/bin/dpkg returned an error code (1) 这个错误是因为 `ascend-cann-910b-ops` 的 `post-installation` 脚本在执行时需要**交互式确认 EULA**(最终用户许可协议),但你的终端/脚本环境无法弹出交互提示,导致脚本返回错误状态 1。 以下是几种解决方案,按推荐程度排序: --- ### 方案一:使用 `yes` 管道自动输入 Y(最稳妥) ```bash # 先清理之前失败的安装状态 sudo dpkg --configure -a sudo apt-get -f install # 用 yes 自动回答 EULA 提示 yes | sudo apt-get install -y ascend-cann-910b-ops=9.0.0

方案二:设置非交互式前端

# 清理失败状态sudodpkg--configure-a# 使用 DEBIAN_FRONTEND=noninteractive 自动接受sudoDEBIAN_FRONTEND=noninteractiveapt-getinstall-yascend-cann-910b-ops=9.0.0

注意:如果 ops 包的 postinst 脚本是自定义实现(不遵循标准 Debian 前端协议),此方法可能无效,此时请用方案一


方案三:如果 dpkg 状态已损坏,强制修复后重装

# 1. 查看具体错误日志cat/var/log/ascend_seclog/ascend_install.log# 2. 移除失败的包配置状态sudodpkg--remove--force-remove-reinstreq ascend-cann-910b-ops# 3. 重新安装yes|sudoapt-getinstall-yascend-cann-910b-ops=9.0.0

方案四:改用 .run 离线包安装(绕过 deb EULA 交互)

如果 apt/deb 方式始终因 EULA 交互失败,建议从昇腾官网下载对应版本的runfile包,使用--quiet参数静默安装:

# 下载地址参考:https://www.hiascend.com/developer/download/community/result?module=cannchmod+x Ascend-cann-910b-ops_9.0.0_linux-$(uname-m).run ./Ascend-cann-910b-ops_9.0.0_linux-$(uname-m).run--install--quiet

华为官方 Dockerfile 中也是采用这种方式避免交互问题。


补充:A3 / 950 的 ops 包安装

如果后续安装 A3 和 950 的 ops 包也遇到同样问题,统一用yes管道:

yes|sudoapt-getinstall-yascend-cann-a3-ops=9.0.0yes|sudoapt-getinstall-yascend-cann-950-ops=9.0.0

推荐你先执行方案一,如果仍报错,请把/var/log/ascend_seclog/ascend_install.log中的最后 20 行贴出来,可以进一步定位。

# 查看昇腾安装日志最后 20 行sudotail-n20/var/log/ascend_seclog/ascend_install.log# 如果上面文件不存在,查找所有相关日志sudofind/var/log-name"*ascend*"-typef2>/dev/null|head-10# 查看 dpkg 处理该包时的具体报错sudogrep-n"ascend-cann-910b-ops"/var/log/dpkg.log|tail-20

根据你提供的日志,问题很清晰:

  • ascend-cann-910b-ops目前处于half-configured(半配置)状态
  • post-installation脚本卡在EULA 交互确认上,非交互环境无法输入Y
  • 日志中oam-tools/Aoe的卸载失败是历史残留,不影响当前修复

修复步骤

第一步:清理 dpkg 锁死状态

sudodpkg--configure-a

如果上面命令又卡住问 EULA,按Ctrl+C中断,然后执行:

sudodpkg--remove--force-remove-reinstreq ascend-cann-910b-opssudoapt-getcleansudoapt-getupdate

第二步:用yes管道强制自动回答 Y 后重装

yes|sudoapt-getinstall-yascend-cann-910b-ops=9.0.0

第三步:验证修复

dpkg-l|grepascend-cann-910b-ops

状态应显示为ii(已安装且已配置)。


如果yes管道仍失败

说明该包的 postinst 脚本不读取 stdin,而是直接调用了read -p之类的方式。此时可以手动执行 postinst:

# 1. 先让 dpkg 跳过配置sudodpkg--unpack/var/cache/apt/archives/ascend-cann-910b-ops_9.0.0_*.deb# 2. 手动执行 postinst,强制传入 Yecho"Y"|sudo/var/lib/dpkg/info/ascend-cann-910b-ops.postinst configure

或者更直接的方式——改用 runfile 包安装(华为官方推荐用于自动化/容器场景):

# 从华为官网下载对应 runfilewgethttps://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.0.0/Ascend-cann-910b-ops_9.0.0_linux-x86_64.runchmod+x Ascend-cann-910b-ops_9.0.0_linux-x86_64.run ./Ascend-cann-910b-ops_9.0.0_linux-x86_64.run--install--quiet

--quiet参数会自动接受 EULA,无需交互。


补充:A3 / 950 ops 包建议统一用 runfile 安装

为避免同样问题,后续安装 A3 和 950 的 ops 包时,建议也使用 runfile:

./Ascend-cann-a3-ops_9.0.0_linux-x86_64.run--install--quiet./Ascend-cann-950-ops_9.0.0_linux-x86_64.run--install--quiet

请先试yes | sudo apt-get install -y ascend-cann-910b-ops=9.0.0,如果还有报错,把sudo tail -n 30 /var/log/ascend_seclog/ascend_ops_910b_install.log的输出贴给我。

返回列表