Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Running DNN on GPU (Problems with OpenCL and Halide)

Hi,

I am running a Caffe based network, called DetectNet (https://devblogs.nvidia.com/detectnet-deep-neural-network-object-detection-digits/), using the Python-OpenCV dnn module. It has one special layer which I needed to register manually.

Now I would like to improve the performance, and switch to the GPU. I have already done some research and found these threads: https://github.com/opencv/opencv_contrib/issues/1010 and http://answers.opencv.org/question/180180/opencv-dnn-on-gpu/ .

So I tried to use OpenCL and Halide. But apparently OpenCL is not supported on my machine (I am using NVidia), since I get this warning: [ WARN:0] DNN: OpenCL target is not supported with current OpenCL device (tested with Intel GPUs only), switching to CPU.

In case of Halide, I get an error: (-215:Assertion failed) haveHalide() in function 'wrapMat' The problem is the additional non-Caffe layer. If I delete this layer, no error occurs, and the application speeds up a bit (even though it is still pretty slow, and I actually need even higher performance). Unfortunately, the deleted layer sums up the calculations and produces the output of the network, so I can not simply delete it.

So my question is, if/how it is possible to run DetectNet with the Halide Interface. In the second thread it was mentioned, that a general GPU support is planned for the future. Are there any information available, when this feature could be possibly released?

Thank you for any answers!

Mary-Ann