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 包。以下是A2910B、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 等芯片为 910Bsudoapt-getinstallascend910b-driver26.0.rc1# A3 系列sudoapt-getinstallatlas-a3-hdk-npu-driver26.0.rc1# 950 系列Atlas A5 / 950 PRsudoapt-getinstallatlas-a5-hdk-npu-driver25.7.rc1# 4. 安装 CANN Toolkit只需一个 sudoapt-getinstallascend-cann-toolkit9.0.0# 5. 安装各芯片算子包ops 可同时安装互不影响 sudoapt-getinstallascend-cann-910b-ops9.0.0# A2 / 910Bsudoapt-getinstallascend-cann-a3-ops9.0.0# A3sudoapt-getinstallascend-cann-950-ops9.0.0# 950 / A5# 6. 配置环境变量 source/usr/local/Ascend/cann/set_env.sh# 7. 验证安装 python3-cimport acl; print(acl.get_soc_name())说明驱动需按实际插入的硬件安装若作为交叉编译开发机可同时安装多套驱动包。A2 系列整机Atlas 800T A2、Atlas 800I A2 等在软件包体系中归类为910B平台因此使用ascend910b-driver和ascend-cann-910b-ops。二、仿真器Simulator安装与使用1. 支持范围CANN 9.0CANN 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_UNITcpuCamodel在 CPU 上模拟运行。华为云昇腾实例使用华为云提供的昇腾 ECS / ModelArts 进行远程真机开发。三、快速验证清单# 查看已安装的驱动dpkg-l|grep-Eascend|atlas# 查看已安装的 CANN 组件dpkg-l|grepascend-cann# 查看 NPU 设备需有实体硬件或仿真驱动npu-smi info# 查看 ACL 能识别到的芯片型号python3-cimport acl; print(acl.get_soc_name())如需安装NNAL昇腾神经网络加速库用于大模型推理加速可额外执行sudoapt-getinstallascend-cann-nnal9.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_UNITcpu..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.solibtsch_camodel.so完成适合应用级调试ACL 接口调用、内存管理、流同步等无需安装额外驱动Toolkit 安装后通过环境变量切换即可启用方式# 设置使用 CAModel 运行时具体路径以实际安装为准exportLD_LIBRARY_PATH/usr/local/Ascend/ascend-toolkit/latest/lib64:$LD_LIBRARY_PATH# 部分版本需显式指定 backendexportASCEND_RUNTIME_MODELCAModel方案三旧版仿真驱动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_UNITcpu。如果是应用开发使用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-ops9.0.0方案二设置非交互式前端# 清理失败状态sudodpkg--configure-a# 使用 DEBIAN_FRONTENDnoninteractive 自动接受sudoDEBIAN_FRONTENDnoninteractiveapt-getinstall-yascend-cann-910b-ops9.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-ops9.0.0方案四改用 .run 离线包安装绕过 deb EULA 交互如果 apt/deb 方式始终因 EULA 交互失败建议从昇腾官网下载对应版本的runfile包使用--quiet参数静默安装# 下载地址参考https://www.hiascend.com/developer/download/community/result?modulecannchmodx 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-ops9.0.0yes|sudoapt-getinstall-yascend-cann-950-ops9.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-nascend-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按CtrlC中断然后执行sudodpkg--remove--force-remove-reinstreq ascend-cann-910b-opssudoapt-getcleansudoapt-getupdate第二步用yes管道强制自动回答 Y 后重装yes|sudoapt-getinstall-yascend-cann-910b-ops9.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强制传入 YechoY|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.runchmodx 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-ops9.0.0如果还有报错把sudo tail -n 30 /var/log/ascend_seclog/ascend_ops_910b_install.log的输出贴给我。