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


Parents
  • Hi tseyiping,

    我找到一个RK3288的平台,尝试运行了一下DS5,结果如下:DDK r5p1, DS5 5.21, JS0/JS1/JS2 里面是有信息的

    所以,我想请你做以下尝试:

    1.尝试一下用5.21/5.21.1的版本,看看是否还有同样的问题。

    2.把你编译gatore的config信息发给我看看,确认一下选择的分支是否正确。

    3.尝试抓取更多hardware counter的信息,看看是否还有其他问题,还是仅仅只有这三个有问题。

    4.community里面有几篇详细的文档Using DS-5 Streamline with Mali on Samsung Galaxy Note 4,描述编译gator,可以参考一下。

    关于DDK的版本信息,你可以通过下面的命令获得:

    strings libGLES_mali.so | grep ".*Midgard-\""

    libGLES_mali.so 应该在 /system/lib/egl或者/system/vendor/lib/egl目录下面。


    BR,

    Sheri

Reply
  • Hi tseyiping,

    我找到一个RK3288的平台,尝试运行了一下DS5,结果如下:DDK r5p1, DS5 5.21, JS0/JS1/JS2 里面是有信息的

    所以,我想请你做以下尝试:

    1.尝试一下用5.21/5.21.1的版本,看看是否还有同样的问题。

    2.把你编译gatore的config信息发给我看看,确认一下选择的分支是否正确。

    3.尝试抓取更多hardware counter的信息,看看是否还有其他问题,还是仅仅只有这三个有问题。

    4.community里面有几篇详细的文档Using DS-5 Streamline with Mali on Samsung Galaxy Note 4,描述编译gator,可以参考一下。

    关于DDK的版本信息,你可以通过下面的命令获得:

    strings libGLES_mali.so | grep ".*Midgard-\""

    libGLES_mali.so 应该在 /system/lib/egl或者/system/vendor/lib/egl目录下面。


    BR,

    Sheri

Children