Ask Your Question
2

Do prebuilt binaries of the version 2.4.3 for windows use TBB and Eigen?

asked 2012-11-13 02:44:24 -0600

wl2776 gravatar image

updated 2012-11-13 02:48:10 -0600

Hi all. Do prebuilt binaries of the version 2.4.3 for windows use TBB and Eigen?

I've searched for TBB and parallel_for through files. Search for "parallel_for" has revealed several entries.

Search for TBB has brought to me files C:\opencv\build\x64\vc10\bin\opencv_core243.dll and C:\opencv\build\x64\vc10\bin\opencv_core243d.dll

These binary files contain the following text:

....
Use TBB:            NO
Use Eigen:          NO
....

Overall, this part of the hexdump looks like a compiled in CMake configuration. However, I didn't find a function which would print it.

So, 2 questions.

  1. Is the TBB and Eigen support switched on by default?

  2. Is there any function, which can print building parameters?

Thanks

edit retag flag offensive close merge delete

2 answers

Sort by ยป oldest newest most voted
5

answered 2012-11-13 02:58:42 -0600

Adi gravatar image

updated 2012-11-13 03:46:16 -0600

From the 2.4.3 release notes:

Much better performance on many-core systems out of the box. You do not need TBB anymore on MacOSX, iOS and Windows. BTW, the binary package for Windows is now built without TBB support. Libraries and DLLs for Visual Studio 2010 use the Concurrency framework.

About this the changelog writes:

Added universal parallel_for implementation using various backends: TBB , OpenMP , Grand Central Dispatch, Concurrency (Visual Studio 2010 or later), C=. Many exiting parallel OpenCV algorithms have been converted to the new primitive. Therefore, you can enjoy performance improvements even without having to install TBB and ship it with OpenCV-based applications.

edit flag offensive delete link more

Comments

Thanks, it is clear now about TBB. What about Eigen? I've found that matchers.cpp includes Eigen/Array, but did't found any usage of Eigen arrays. Also core/internal.hpp includes Eigen headers, but seems to be not using them too. Am I right?

wl2776 gravatar imagewl2776 ( 2012-11-13 03:34:54 -0600 )edit

Using Eigen is a CMake option, you need to have it installed to use it. I think it is OFF by default. I don't know about the pre-built binaries.

Adi gravatar imageAdi ( 2012-11-13 03:45:38 -0600 )edit
0

answered 2012-11-16 02:37:10 -0600

wl2776 gravatar image

There is the function cv::getBuildInformation() which returns that string, I've found in DLLs. Indeed, all 3-rd party libraries are off in the official build.

edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2012-11-13 02:44:24 -0600

Seen: 1,630 times

Last updated: Nov 16 '12