境 9.0.0(只支持950pr))
華為 cann 9.0.0 安裝同時支持 a2 a3 910 950pr的仿真環(huán)境 9.0.0只支持950pr根據(jù)您提供的安裝模板和昇騰官方文檔A2 系列實際搭載 Ascend 910B 芯片因此 A2 與 910B 共用同一套驅動和 ops 包。以下是A2910B、A3、950 同時安裝的完整命令行以及仿真器的支持情況說明。一、A2 / A3 / 950 同時安裝命令apt-get 方式# 1. 配置用戶屬組只需執(zhí)行一次 sudogroupaddHwHiAiUsersudouseradd-gHwHiAiUser-d/home/HwHiAiUser-mHwHiAiUser-s/bin/bash# 2. 安裝依賴 配置軟件源只需執(zhí)行一次 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 驅動按實際芯片選擇開發(fā)機可全裝 # 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. 配置環(huán)境變量 source/usr/local/Ascend/cann/set_env.sh# 7. 驗證安裝 python3-cimport acl; print(acl.get_soc_name())說明驅動需按實際插入的硬件安裝若作為交叉編譯開發(fā)機可同時安裝多套驅動包。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 環(huán)境變量后直接使用cannsim# 進入算子/應用可執(zhí)行文件所在目錄# 以算子仿真為例cannsim record ./test_aclnn_add_example-sAscend950 --gen-report仿真日志默認生成在./cannsim_*目錄下。約束僅支持單卡場景設備號必須固定為 0不支持 MC2 / HCCL 類算子且目前不支持 ARM 環(huán)境仿真。3. A2 / A3 無硬件開發(fā)建議若需在無實體 NPU 的情況下進行 A2 / A3 開發(fā)調試可考慮以下替代方案方案說明舊版仿真驅動下載Ascend-sim-driver-7.0.0等歷史版本僅用于功能驗證無加速能力。CPU 模擬模式編譯時指定-DASCEND_COMPUTE_UNITcpuCamodel在 CPU 上模擬運行。華為云昇騰實例使用華為云提供的昇騰 ECS / ModelArts 進行遠程真機開發(fā)。三、快速驗證清單# 查看已安裝的驅動dpkg-l|grep-Eascend|atlas# 查看已安裝的 CANN 組件dpkg-l|grepascend-cann# 查看 NPU 設備需有實體硬件或仿真驅動npu-smi info# 查看 ACL 能識別到的芯片型號python3-cimport acl; print(acl.get_soc_name())如需安裝NNAL昇騰神經網絡加速庫用于大模型推理加速可額外執(zhí)行sudoapt-getinstallascend-cann-nnal9.0.0source/usr/local/Ascend/nnal/atb/set_env.sh **現(xiàn)狀CANN9.0官方cannsim目前不支持 A2 / A3 仿真**僅支持 Ascend 950PR。 但 CANN9.0為 A2 / A3 提供了其他**無硬件開發(fā)調試**途徑以下是可行方案 ---### 方案一CPU 仿真模式Camodel / 孿生調試? 推薦CANN9.0的 Ascend C 算子開發(fā)支持 **CPU 與 NPU 孿生調試**。在 CPU 模式下系統(tǒng)會創(chuàng)建一個 NPU 的軟件模型來模擬計算行為**相同的算子代碼可在 CPU 模式下調試精度再無縫切換到 NPU 真機運行**。 **啟用方式算子開發(fā)場景** bash# 1. 編譯時指定 CPU 模式cmake-DASCEND_COMPUTE_UNITcpu..make# 2. 或直接運行可執(zhí)行文件時去掉 --device 參數(shù)# CANN 會自動啟用 CPU 仿真模式./your_op_executable適用場景Ascend C 自定義算子的功能驗證、精度調試不依賴真實 NPU可在普通 x86/ARM 服務器上運行支持 GDB 單步調試限制僅用于功能/精度驗證不具備硬件加速能力運行速度遠低于真機不支持多卡通信HCCL類算子仿真方案二CANN Runtime CAModel純軟件運行時仿真CANN Runtime 內置的CAModellibruntime_camodel.so是 Runtime 的純軟件仿真實現(xiàn)可在無 NPU 硬件的機器上完整模擬 Runtime API 行為設備打開、內存分配、流/事件管理、任務調度等。特點指令級仿真由libcamodel.solibtsch_camodel.so完成適合應用級調試ACL 接口調用、內存管理、流同步等無需安裝額外驅動Toolkit 安裝后通過環(huán)境變量切換即可啟用方式# 設置使用 CAModel 運行時具體路徑以實際安裝為準exportLD_LIBRARY_PATH/usr/local/Ascend/ascend-toolkit/latest/lib64:$LD_LIBRARY_PATH# 部分版本需顯式指定 backendexportASCEND_RUNTIME_MODELCAModel方案三舊版仿真驅動Ascend-sim-driver如果需要在無硬件環(huán)境下讓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# 配置環(huán)境變量exportASCEND_DRIVER_PATH~/ascend-sim-driverexportLD_LIBRARY_PATH$ASCEND_DRIVER_PATH/lib64:$LD_LIBRARY_PATH# 驗證npu-smi info# 應顯示 Simulator 模式方案四回退到 CANN 8.0 的 CAModel 性能仿真如果必須進行指令級性能仿真查看 cycle 數(shù)、指令流水圖CANN 8.0 提供了ascendebug kernel --backend simulator支持 CAModel 性能仿真。但 CANN 9.0 的cannsim已替代舊工具且僅支持 950PR。若 A2/A3 的指令級仿真是剛需目前只能在CANN 8.0環(huán)境下使用ascendebug進行 CAModel 仿真或等待華為后續(xù)版本擴展cannsim的芯片支持范圍總結對比方案支持 A2/A3CANN 9.0功能驗證性能仿真適用場景CPU 仿真 / 孿生調試????算子開發(fā)、精度調試Runtime CAModel????應用級 ACL 調試舊版 sim-driver?? 老版本?? 兼容性未知??基礎工具鏈驗證CANN 8.0 ascendebug??需 8.0??指令級性能分析建議如果是算子開發(fā)直接用 CANN 9.0 的CPU 孿生調試-DASCEND_COMPUTE_UNITcpu。如果是應用開發(fā)使用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 腳本在執(zhí)行時需要**交互式確認 EULA**最終用戶許可協(xié)議但你的終端/腳本環(huán)境無法彈出交互提示導致腳本返回錯誤狀態(tài) 1。 以下是幾種解決方案按推薦程度排序 --- ### 方案一使用 yes 管道自動輸入 Y最穩(wěn)妥 bash # 先清理之前失敗的安裝狀態(tài) sudo dpkg --configure -a sudo apt-get -f install # 用 yes 自動回答 EULA 提示 yes | sudo apt-get install -y ascend-cann-910b-ops9.0.0方案二設置非交互式前端# 清理失敗狀態(tài)sudodpkg--configure-a# 使用 DEBIAN_FRONTENDnoninteractive 自動接受sudoDEBIAN_FRONTENDnoninteractiveapt-getinstall-yascend-cann-910b-ops9.0.0注意如果 ops 包的 postinst 腳本是自定義實現(xiàn)不遵循標準 Debian 前端協(xié)議此方法可能無效此時請用方案一。方案三如果 dpkg 狀態(tài)已損壞強制修復后重裝# 1. 查看具體錯誤日志cat/var/log/ascend_seclog/ascend_install.log# 2. 移除失敗的包配置狀態(tài)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參數(shù)靜默安裝# 下載地址參考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 包安裝如果后續(xù)安裝 A3 和 950 的 ops 包也遇到同樣問題統(tǒng)一用yes管道yes|sudoapt-getinstall-yascend-cann-a3-ops9.0.0yes|sudoapt-getinstall-yascend-cann-950-ops9.0.0推薦你先執(zhí)行方案一如果仍報錯請把/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根據(jù)你提供的日志問題很清晰ascend-cann-910b-ops目前處于half-configured半配置狀態(tài)post-installation腳本卡在EULA 交互確認上非交互環(huán)境無法輸入Y日志中oam-tools/Aoe的卸載失敗是歷史殘留不影響當前修復修復步驟第一步清理 dpkg 鎖死狀態(tài)sudodpkg--configure-a如果上面命令又卡住問 EULA按CtrlC中斷然后執(zhí)行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狀態(tài)應顯示為ii已安裝且已配置。如果yes管道仍失敗說明該包的 postinst 腳本不讀取 stdin而是直接調用了read -p之類的方式。此時可以手動執(zhí)行 postinst# 1. 先讓 dpkg 跳過配置sudodpkg--unpack/var/cache/apt/archives/ascend-cann-910b-ops_9.0.0_*.deb# 2. 手動執(zhí)行 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參數(shù)會自動接受 EULA無需交互。補充A3 / 950 ops 包建議統(tǒng)一用 runfile 安裝為避免同樣問題后續(xù)安裝 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的輸出貼給我。