Event数量超过上限导致aclrtRecordEvent接口返回失败
2023/08/07
176
问题信息
问题来源 | 产品大类 | 产品子类 | 关键字 |
---|---|---|---|
官方 | 模型推理 | 应用开发AscendCL | runtime、event |
问题现象描述
调用aclrtRecordEvent接口在Stream中记录一个Event时,日志中的报错如下,红框中是关键日志信息,提示Event ID申请失败:
[ERROR] DRV(18401,main)2023-05-29-17:53:11.569.787 [devdrv] [drvEventIdAlloc 647] error. [ERROR] RUNTIME(18401,main)2023-05-29-17:53:11.569.804 18409 EventIdAlloc:drvEventIdAlloc:errorcode = 7 [INFO] RUNTIME(18401,main)2023-05-29-17:53:11.569.819 18409 EventIdAlloc:id = -1
原因分析
一般是在多Stream之间同步等待的场景下,涉及使用aclrtRecordEvent接口,在该接口中会申请Event资源。
根据上述日志信息,可能存在以下故障原因:Event ID的数量超过上限。
解决措施
在调用aclrtRecordEvent接口+aclrtStreamWaitEvent接口后,若指定的Event已完成,则需要及时调用aclrtResetEvent接口释放Event资源。
本页内容