Running DNN on GPU (Problems with OpenCL and Halide)

asked 2018-08-08 09:06:28 -0500

Mary-Ann gravatar image


I am running a Caffe based network, called DetectNet (, 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: and .

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!


edit retag flag offensive close merge delete