CANN编码的一些报错汇编

举报
黄生 发表于 2022/06/11 20:34:20 2022/06/11
【摘要】 [acl_init]-841: aclInit failed with 100002.介绍一下背景,就是CANN体验营里有2个小功能的串接。这样首先在形式上将2个小功能的代码串接起来,编译通过后,运行时报了这个错。首先查看一下错误码的含义,在 include/acl/acl_base.h 里定义有:static const int ACL_SUCCESS = 0;static const i...
  1. [acl_init]-841: aclInit failed with 100002.

介绍一下背景,就是CANN体验营里有2个小功能的串接。这样首先在形式上将2个小功能的代码串接起来,编译通过后,运行时报了这个错。
首先查看一下错误码的含义,在 include/acl/acl_base.h 里定义有:

static const int ACL_SUCCESS = 0;
static const int ACL_ERROR_INVALID_PARAM = 100000;
static const int ACL_ERROR_UNINITIALIZE = 100001;
static const int ACL_ERROR_REPEAT_INITIALIZE = 100002;

根据错误码100002,所以错误信息为:ACL_ERROR_REPEAT_INITIALIZE,也就是重复初始化的意思。
确实有做重复初始化,因为2个小功能在开头都做过初始化,虽然在结尾也都做了去初始化,但是去初始化后再初始化也是不行的,有点难理解哦,那来查阅一下 aclInit 的文档:
里面约束说明写的很清楚了:

一个进程内只能调用一次aclInit接口。

而媒体数据处理初始化 hi_mpi_sys_init 倒是可以重复做。

标准形态下,需在申请AscendCL运行管理资源后调用本接口。
一个进程内,可以调用本接口反复初始化,不返回失败。


[acl_destory_resource]-877: destroy context failed with 100000.
[acl_destory_resource]-881: reset device(0) failed with 507007.
[acl_destory_resource]-885: finalize acl failed with 100037.

这几个错误在一起列出来,都是在资源释放时报错的错误码。报错的原因与上面初始化的报错类似,即重复释放导致的。错误码定义分别在2个头文件里,如下。
头文件 include/acl/acl_base.h

static const int ACL_ERROR_INVALID_PARAM = 100000; //已释放后再释放content指针已为空,所以说content指针为无效参数
static const int ACL_ERROR_REPEAT_FINALIZE = 100037;

头文件 include/acl/error_codes/rt_error_codes.h 里面:

static const int32_t ACL_ERROR_RT_CONTEXT_RELEASE_ERROR      = 507007; 
// context release error

总结:

  1. acl 初始化、去初始化都不可以重复做
  2. 媒体数据预处理初始化 hi_mpi 可以重复做
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。