Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.

New to TBB - DLL/LIB confusion

qmq
Beginner
333 Views
Hi, I'm new to TBB - still learning it.

I'm a bit confused about the available libraries. I've downloaded TBB 2.1 src + win and compiled the sources. And at this moment I have two separate sets of libraries:

1. the one that came with TBB-win
2. the one I've built from TBB-src

I've tested a few simple TBB programs and both of these sets seem to work. However the TBB-win DLL's are twice the size of the ones I've build. The LIB's are the same size, but slightly vary in content. Which ones should I use? Should I overwrite the one's that came with TBB-win with my own ones?

Using XP and MSVC 9.


I'd appriciate if anyone could clarify this for me smiley [:-)]

0 Kudos
4 Replies
Alexey-Kukanov
Employee
333 Views

We build the TBB binaries using Intel C++ Compiler. Different compilers may generate different instruction sequences apply different optimizations, so resulting binaries will most probably vary (in size as well), andit is not a sign of problems. For example, function inlining may lead to significant size increase.

Normally, we see no need to rebuild TBB and replace the supplied binaries. Anyway, you have already rebuilt it :) There should be no difference in functionality between the two sets of binaries you have. There could be some difference in performance or overhead, but it's hard to say apriori which binaries will better work for/with your application. So use whatever binaries better suite your needs and criteria.

0 Kudos
qmq
Beginner
333 Views
Mhm, OK, thank you for that vital information.

I'll use the ones compiled with the Intel Compiler as I've heard only positive comments about it - supposed to generate code that's quick as hell. Besides it just feels right :)

But twice the DLL size...that's somewhat shocking. Do you inline everything in there? ;)
No, seriously I'll write something to test it and measure both Intel and VC9 performance just out of curiosity.

Thanks again!

0 Kudos
Alexey-Kukanov
Employee
333 Views
Don't write "something to test"; instead, write your application or at least a meaningful prototype of it, and test with a regular workload if possible. This way the results will be relevant to performance of your application, not an artificial benchmark.
0 Kudos
qmq
Beginner
333 Views
Oh, I'd love to. It's just that I don't have anything to write at the moment that could use TBB. I'm just learning it so when the time comes I'll just get to it - not to the 'beginners guide' :)

For now I'll test using some of your examples though :)
0 Kudos
Reply