
首先需要了解CUDA和CANN以及pytorch和pytorch-npu之间的关系:

配置完driver和firmware之后,检查配置信息:
npu-smi info
操作系统为openEuler Linux

最开始下载的是Ascend-cann-toolkit_8.0.0_linux-aarch64.run和Ascend-cann-kernels-910b_8.0.0_linux-aarch64.run这两个文件,报错信息如下:
RuntimeError: Initialize:build/CMakeFiles/torch_npu.dir/compiler_depend.ts:247 NPU function error: at_npu::native::AclSetCompileopt(aclCompileOpt::ACL_PRECISION_MODE, precision_mode), error code is 500001
[ERROR] 2025-05-12-09:16:44 (PID:2927303, Device:0, RankID:-1) ERR00100 PTA call acl api failed
[Error]: The internal ACL of the system is incorrect. Rectify the fault based on the error information in the ascend log.问题出在:The internal ACL of the system is incorrect
尝试过降低torch和torch-npu的版本,从2.4.0降低到2.1.0,还是同样的错误,放弃
尝试过降低python版本,从3.10降低到3.9,还是同样的错误,放弃
尝试过配置/usr/local/Ascend/ascend-toolkit/set_env.sh中LD_LIBRARY_PATH、PYTHONPATH等环境变量,还是同样的错误,放弃
不断试错后发现,最后下载toolkithe和kernel的8.0.0.alpha003版本,完美适配CANN 8.0.0 + npu 24.1.0 + torch 2.5.1 + torch-npu 2.5.1 + python 3.10 ,来到下载.run文件夹下先后执行以下命令,会安装toolkit到/usr/local/Ascend目录下:
./Ascend-cann-toolkit_8.0.0.alpha003_linux-aarch64.run --install
./Ascend-cann-kernels-910b_8.0.0.alpha003_linux-aarch64.run--install安装成功后打开.bashrc文件:
nano ~/.bashrc在文件末尾添加一行:
source /usr/local/Ascend/ascend-toolkit/set_env.sh保存退出(nano 中按Ctrl + O保存+enter,再Ctrl + X退出)
让改动立即生效:
source ~/.bashrc验证:
python3 -c "import torch;import torch_npu;print(torch_npu.npu.is_available())"
x = torch.zeros(3, 3).npu()
配置成功!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。