Hi,
我把opencv OpenCL face detect example 運行在ARM mali T768 後,有以下error message :
OpenCL Error Message (Haar face detection):
OpenCV Error: Gpu API call (CL_INVALID_EVENT_WAIT_LIST) in void cv::ocl::openCLReadBuffer(cv::ocl::Context*, cl_mem, void*, size_t), file /home/dennylai/DennyLai/opencv_build_arm_ping/modules/ocl/src/cl_operations.cpp, line 107
terminate called after throwing an instance of 'cv::Exception'
what(): /home/dennylai/DennyLai/opencv_build_arm_ping/modules/ocl/src/cl_operations.cpp:107: error: (-217) CL_INVALID_EVENT_WAIT_LIST in function void cv::ocl::openCLReadBuffer(cv::ocl::Context*, cl_mem, void*, size_t)
注意:
這error 是在, 成功呼叫clEnqueueNDRangeKernel後, 再呼叫clEnqueueMapBuffer 出現。
kernel error message:
<4>[20660.510046] mali ffa30000.gpu: Failed to map memory on GPU
<4>[20662.175808] mali ffa30000.gpu: Failed to map memory on GPU
<4>[20663.583743] mali ffa30000.gpu: JS: Job Hard-Stopped (took more than 2 ticks at 50 ms/tick)
<4>[20663.583860] mali ffa30000.gpu: error detected from slot 1, job status 0x00000004 (TERMINATED)
<3>[20663.583907] mali ffa30000.gpu: t6xx: GPU fault 0x04 from job slot 1
我發現每次程式自動退出前, kernel driver 都會出現"JS: Job Hard-Stopped (took more than 2 ticks at 50 ms/tick)" 和 “gpu: error detected from slot 1, job status 0x00000004 (TERMINATED)", 嘗試在mali kernel driver 上把 KBASE_DISABLE_SCHEDULING_SOFT_STOPS和KBASE_DISABLE_SCHEDULING_HARD_STOPS都設為1, 測試一晚都沒有出現問題。
有我以下一些問題:
1。KBASE_DISABLE_SCHEDULING_SOFT_STOPS 和 KBASE_DISABLE_SCHEDULING_HARD_STOPS 是什意思, 在gpu 中的job manager 是不是對每個kernel queue 有一個最長運行時間限制?
2。我看過arm mali OpenCL sdk example code, clEnqueueNDRangeKernel 中沒有使用local_work_size 參數, 是不是 arm mali 不支持。
3。我在用DS-5 streamline 去看mali gpu , 發現只可以看到“GPU Fragment, GPU Vertex-Compute, GPU Vertex-Tiling-Compute", 但是看不到Mali Midgard Job Manager , 是不是要kernel driver 支持?
Thanks
Tse Yi Ping
Hi tseyiping,
综合一下你提供的信息如下:
1. User space driver r4p1-00dev2
2. Kernel space driver r4p0 (比較一下發現rockchip 從r4p0版本上修改)
3. 用DS-5 5.20.2无法获得Mali Job Manager JS0/1/2信息
这里,我罗列一下可能造成DS-5工作不是很正常的可能性:
1.看起来user space和kernel space的driver的版本看起来似乎不太一致,这个也可能造成问题
2.以前有同事碰到过用开发版本的driver造成DS-5工作不正太正常,目前用的r4p1-00dev2是一个开发版本
3.编译gator的时候可能GPU的configuraion不正确,这个具体可以参考DS-5安装目录\arm\gator\README_Streamline.txt
4.确认kernel/drivers/gpu/arm/下面是不是只有midgard那个目录,如果还有其他的,可能就需要显示指定driver目录,请参考Using DS-5 Streamline with Mali on Samsung Galaxy Note 4
关于你问的user space是否有r5p0-06rel0的MaliT76x android版本的支持,如果malideveloper center上面没有的话,暂时应该是没有提供下载。
如果升级到r5p0, 相应的libmali_GLES.so肯定是需要更新的。
BR,
Sheri