我试图在5分钟的720P视频上运行人脸检测。我正在使用opencv API和opencl内核来完成我的工作。当我尝试运行该程序时,它运行良好,只有少量的帧数。但一些帧后,它给了我一个错误Facedetection的视频:CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST错误
OpenCV的错误:GPU API调用(CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)在openCLMemcpy2D,文件/opencv-2.4.6.1/modules/ocl/src/initialization.cpp,管线466
有时我处理200帧后出现此错误,有时我得到2000帧后出现此错误。 任何人都可以建议我为什么我面临这个错误,什么可能是一个可能的解决方案?我搜索了互联网,但没有找到任何答案。
更新:我在我的台式电脑上执行了程序,它有一个AMD APU。加工完一些框架后整台机器冻结。我也在每个内核之后应用clFinish以确保同步。即使系统冻结了。所以,这不是一个同步问题。
感谢您的回复。如果同步是问题,在这种情况下,如果我在每次内核调用后使用clFinish,那么这应该解决我的问题。我会做这个测试。但我想这与记忆有关。如果我删除程序中的最后一个内核调用,那么程序运行良好。当我尝试将图像矩阵传送到OclMatrix时发生错误。你能告诉我如何找到分析信息吗?我发现唯一打印内核执行时间的东西。 – Luniam
这取决于你使用的平台。 –
我正在使用带有Mali GPU的arndale主板。我的opencv是为arm编译的。这有帮助吗? – Luniam