进行AscendCL推理时报错Acl open device 0 failed, errorCode is 507033
2023/09/14
1.1k
问题信息
问题来源 | 产品大类 | 产品子类 | 关键字 |
---|---|---|---|
官方 | 模型推理 | 应用开发AscendCL | 507033、SetDevice |
问题现象
通过C++ AscendCL接口编写的yolov7MultiInput demo,编译没问题,运行时在调用aclrtSetDevice()接口过程中返回错误码507033。
Demo链接:https://gitee.com/ascend/samples/tree/master/inference/modelInference/sampleYOLOV7MultiInput
原因分析
- 可能是Device没起来。
- 可能是驱动版本不对。
- 可能是环境变量没配对,缺少相关库文件导致。
排查方法
- 执行npu-smi info可以看到Device信息。
- 调用Python的API acl.rt.set_device(0)和acl.rt.create_context(0)均OK。
- 初步怀疑是C++交叉编译运行时缺少调用Device的库导致。
解决措施
- 执行vim ~/.bashrc,在里面添加运行时的链接库文件。
export LD_LIBRARY_PATH=${THIRDPART_PATH}/lib:$LD_LIBRARY_PATH
- 保存后,再执行source ~/.bashrc。
- 具体操作可以参考以下链接:https://gitee.com/ascend/samples/blob/master/cplusplus/environment/catenation_environmental_guidance_CN.md
本页内容