This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

mali T768 上運行opencv ocl face detect example 問題

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_STOPSKBASE_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