Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

大佬们救命:C++ GPU多线程连续推理报错-程序异常崩溃退出:ExternalError: CUDNN error(8), CUDNN_STATUS_EXECUTION_FAILED. #7757

Closed
Fire-Star opened this issue Sep 28, 2022 · 7 comments
Assignees

Comments

@Fire-Star
Copy link

Fire-Star commented Sep 28, 2022

代码是直接改的cpp_infer,多线程连续GPU预测报错,台式机(CUDA11.6 cuDNN8.4 trt8.4.15 NVIDIA A10)跑1-4小时连续预测才能复现,笔记本(CUDA10.1 cuDNN7.6.5 noTrt NVIDIA GTX1660TI)跑十多秒就复现了。

操作系统:
笔记本是win11
台式机是 win server 2019 datacenter

PaddleInference 版本使用的2.3.2

错误信息:
image

起初以为是多线程代码问题,但是CPU连续预测就不会报错,只有GPU预测会报错。

后面又查找,以为是cuda版本和显卡版本不符合,但实际上是恰巧对应的,已经查看了控制面板-系统信息-[ 显示 | 组件 ]
下面是台式机的信息:
OQGGIXB(%UNN3 UL@GGF5KN
1CVFUN3QHNC68B6NU{9V8

完整代码:
cpp_infer.zip

可直接运行去复现的dll,已经写好py测试代码,可运行:
由于限制了上传大小,分3个压缩包,解压到同一文件夹即可。
GPU_Recurring_BUG_1部分.zip
GPU_Recurring_BUG_2部分.zip
GPU_Recurring_BUG_3部分.zip

PaddleInference 官方推理库下载地址

@Fire-Star Fire-Star changed the title GPU连续预测报错:ExternalError: CUDNN error(8), CUDNN_STATUS_EXECUTION_FAILED. GPU连续多线程预测报错:ExternalError: CUDNN error(8), CUDNN_STATUS_EXECUTION_FAILED. Sep 28, 2022
@Fire-Star Fire-Star changed the title GPU连续多线程预测报错:ExternalError: CUDNN error(8), CUDNN_STATUS_EXECUTION_FAILED. GPU连续多线程预测报错-程序异常崩溃退出:ExternalError: CUDNN error(8), CUDNN_STATUS_EXECUTION_FAILED. Sep 28, 2022
@Fire-Star Fire-Star changed the title GPU连续多线程预测报错-程序异常崩溃退出:ExternalError: CUDNN error(8), CUDNN_STATUS_EXECUTION_FAILED. 大佬们救命:GPU连续多线程预测报错-程序异常崩溃退出:ExternalError: CUDNN error(8), CUDNN_STATUS_EXECUTION_FAILED. Sep 28, 2022
@Fire-Star Fire-Star changed the title 大佬们救命:GPU连续多线程预测报错-程序异常崩溃退出:ExternalError: CUDNN error(8), CUDNN_STATUS_EXECUTION_FAILED. 大佬们救命:GPU多线程连续推理报错-程序异常崩溃退出:ExternalError: CUDNN error(8), CUDNN_STATUS_EXECUTION_FAILED. Sep 28, 2022
@Fire-Star
Copy link
Author

Fire-Star commented Sep 28, 2022

排BUG最新进展:
自己封装的API,文件都在本Issue里面,已经上传:
image

通过修改初始化方法的第五个参数:
image
1 代表只使用rec,只包含识别
2 代表只使用det,查找图片中的文字框boxes
3 代表先det 再 rec
4 代表先det->cls 分类->rec

通过尝试这4个值,发现只使用det 不会发生崩溃,只使用rec【值填1】或者包含rec的选项 都会发生程序崩溃,感觉是rec识别在GPU推理中存在问题,当然如果我只初始化一个线程是不会崩溃的,只是GPU多线程环境下崩溃,CPU多线程完全正常运行。

@Fire-Star Fire-Star changed the title 大佬们救命:GPU多线程连续推理报错-程序异常崩溃退出:ExternalError: CUDNN error(8), CUDNN_STATUS_EXECUTION_FAILED. 大佬们救命:C++ GPU多线程连续推理报错-程序异常崩溃退出:ExternalError: CUDNN error(8), CUDNN_STATUS_EXECUTION_FAILED. Sep 28, 2022
@an1018
Copy link
Collaborator

an1018 commented Sep 28, 2022

先参考这个issue看一下吧,#6514

@Fire-Star
Copy link
Author

先参考这个issue看一下吧,#6514

好的大佬,我看看

@Fire-Star
Copy link
Author

先参考这个issue看一下吧,#6514

激动得忘了礼貌,谢谢你,大佬

@an1018
Copy link
Collaborator

an1018 commented Sep 28, 2022

不客气的

@Fire-Star
Copy link
Author

先参考这个issue看一下吧,#6514

刚看完,很巧合的是,我也是使用PaddleOCR 2.4 cpp_infer + PaddleInference 2.3.x 版本出现的这个问题,我尝试使用 PaddleOCR 2.5 改下试试。

@github-actions
Copy link
Contributor

github-actions bot commented Jul 7, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants