Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Is it possible to create an OpenCL Kernel that uses OpenCV?

I have an OpenCV application which I would like to speed up using several GPUs (located in a linux machine cluster).

My approach was to create an OpenCL kernel to execute on a single GPU, and then extend this performance by using VirtualCL to use the network-attached devices.

My question is, is it possible to run an OpenCL kernel that somehow calls the OpenCV Library ?

clBuildProgram() allows you to specify compiler options which include the include file directories. The header file includes, should look something like: -I myincludedir1 -I myincludedir2

similar to:

g++ -I/usr/local/include/opencv -I/usr/local/include/opencv2 -L/usr/local/lib/ -g -o binary  main.cpp -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_stitching

Has anyone ever managed to create an OpenCL kernel that uses OpenCV ? Or is there any simpler way ? (without using UMat )