How do i run OpenCV programs using the Xeon Phi accelerators ?

asked 2015-03-03 04:41:24 -0500

tejeswini gravatar image

I would like to know how to run opencv programs by using the intel xeon phi co processor card? What are my options? May i use the opencl module? Also, since the opencl module has been removed in the openCV 3.0.0 version, how can i work with the Transparent API and Xeon Phi ? Any suggestions or thoughts in this regard will be greatly appreciated. Thankyou.

edit retag flag offensive close merge delete


The OpenCL module itself is gone, but basically if you build OpenCV with OpenCL support, than each function checks if you have it and executes his OpenCL variant whenever possible. This is more easier to use, and the most optimized function will always be selected for you.

StevenPuttemans gravatar imageStevenPuttemans ( 2015-03-03 04:58:23 -0500 )edit

@StevenPuttemans is that really the case for opencv3.0? I Recently upgraded a software from opencv2 to opencv3, and I got great performance improvements, but I am not sure where they are coming from, since I didn't change anything in the code. I read that for OpenCL acceleration to work, we have to call the methods using cv::UMat, rather than cv::Mat, can you confirm this?

Is there a test that I can do to check if my program is already taking advantage of opencl?

Pedro Batista gravatar imagePedro Batista ( 2015-03-16 11:40:47 -0500 )edit

As far as I know as long as your build is having the openCL option enabled than you are using it yeah. However there have been tons of NEON and SSE optimized functions integrated into the 3.0 branch combined with a uniform multicore backend. All that together increases performance indeed. No idea however how to find exactly which one is doing it for you :D

StevenPuttemans gravatar imageStevenPuttemans ( 2015-03-20 04:10:21 -0500 )edit