Ask Your Question
3

Linker settings, gpu functionality removed or integrated with cpu?

asked 2013-05-15 02:42:01 -0600

updated 2013-05-15 07:45:14 -0600

As far as my older OpenCV projects go, I had to add the following additional library includes to my linker settings:

GPU - functionality --> D:\OpenCV2.4.3\build\gpu\x64\vc10\lib\opencv_core243d.dll
CPU - functionality --> D:\OpenCV2.4.3\build\x64\vc10\lib\opencv_core243d.dll

However, when I am switching my projects towards openCV 2.4.5 it seems that the gpu folder under the build folder has disappeared. Does this mean you do not need to include another core file anymore for GPU functionality?

Cheers!

Extra information : Windows 7 x64 bit, VS 2010, OpenCV 2.4.5, prebuilt binaries.


UPDATE 1

Ok switching to GPU in OpenCV 2.4.5 I have the following configuration.

C++ includes :

D:\OpenCV2.4.5\build\include;
D:\OpenCV2.4.5\build\include\opencv;
D:\OpenCV2.4.5\build\include\opencv2;

Linker settings general additional directories:

D:\OpenCV2.4.5\build\x64\vc11\lib;

Linker settings include libraries:

opencv_core245.lib; 
opencv_highgui245.lib; 
opencv_video245.lib;
opencv_ml245.lib;
opencv_legacy245.lib;
opencv_imgproc245.lib;
opencv_calib3d245.lib;
opencv_contrib245.lib;
opencv_features2d245.lib;
opencv_haartraining_engine.lib;
opencv_objdetect245.lib;
opencv_gpu245.lib;

Since I did not found the gpu folder under my build folder, I could not include the gpu core file. As expected, building was completed but at runtime I got the following error:

image description

This could be solved in earlier versions by including the correct gpu core, so anyone can point where it is?


UPDATE 2

How the prebuilt binary download for windows looks for OpenCV 2.4.3 when checking the build folder:

image description

How the prebuilt binary download for windows looks for OpenCV 2.4.5 when checking the build folder:

image description


UPDATE 3:

Tried to look if it was my code, however, switching all to openCV 2.4.3 seems to work perfectly. Guess this is just a missing element from the build directory?

edit retag flag offensive close merge delete

Comments

i got no idea, but there's some confusing mismatch in your question:

 D:\OpenCV2.4.3\build\gpu\x64\vc10\lib\opencv_core231d.dll

              ^^   -------------------------  ^^
berak gravatar imageberak ( 2013-05-15 02:51:17 -0600 )edit

Adapted the code :) was a typo from my side. I am converting a project now, will see if it works with the standard x64 folder.

StevenPuttemans gravatar imageStevenPuttemans ( 2013-05-15 02:58:52 -0600 )edit
1

sorry for hitting the wrong button, btw, will take more care now ;(

berak gravatar imageberak ( 2013-05-15 03:07:43 -0600 )edit

I was like, wut :D he's deleting my topic! But I restored the error :)

StevenPuttemans gravatar imageStevenPuttemans ( 2013-05-15 03:09:28 -0600 )edit

2 answers

Sort by ยป oldest newest most voted
0

answered 2013-05-16 08:02:22 -0600

Basically this topic says it all.

OpenCV 2.4.4 is optimized for Kepler architecture GPUs. In version 2.4.3, only the GPU binaries are approximately 1.4 GB. So you can guess, that adding the code for Compute capabilty 3.0 and 3.5 would make this even larger. So it is not feasible to ship these binaries, and that is why the gpu folder is not present in version 2.4.4 prebuilt distribution.

SO basically this means that you need to build openCV yourself to have GPU functionality. Go to try that now!

edit flag offensive delete link more
0

answered 2013-05-15 12:33:30 -0600

Tariq gravatar image

updated 2013-05-15 15:26:57 -0600

Getting the same exception. Does anybody has any idea?

I found opencv_gpu245.lib & opencv_gpu245d.lib files are in C:\OpenCV2.4.5\build\x86\vc10\lib.... Checking right now, whether it will work and how will it work??

edit flag offensive delete link more

Comments

Those libraries contain the gpu functionality, not the core functionality compiled for gpu use...

StevenPuttemans gravatar imageStevenPuttemans ( 2013-05-15 15:28:42 -0600 )edit

sorry I am unable to completely understand your comment. Do I need to compile OpenCV 2.4.5 with GPU support myself or is there a way out of using the compiled binaries downloaded from OpenCV website?

Tariq gravatar imageTariq ( 2013-05-16 03:14:37 -0600 )edit

This is exactly my own question. In version 2.4.3 the core functionality had a different prebuilt library for gpu purpose or not. The gpu prebuilt library is always needed to use the gpu specific functionality, the core one however needs to know that gpu is supported!

StevenPuttemans gravatar imageStevenPuttemans ( 2013-05-16 03:19:50 -0600 )edit

Question Tools

Stats

Asked: 2013-05-15 02:42:01 -0600

Seen: 1,053 times

Last updated: Apr 17 '14