Intel® Threading Building Blocks

Can multiple TBB DLL versions be installed side by side ?

Can multiple  TBB DLL versions be installed side by side ? 

For example, can we have <intel>_tbb_4.2 and <intel>_tbb_4.3 installed side by side on the same machine ?

What would be the impact on performance ?

Would both applications using separate code paths function without crashing or deadlocking ?



catastrophic error: cannot open source file "tbb/parallel_for.h"


I am relatively new to ICC, TBB and just started learning. Currently I am trying to compile a test code given for tbb in GettingStarted folder in side /opt/int/composer_xe_2015.1.133/tbb/examples. but unfortunately the compilation fails with the following error.

catastrophic error: cannot open source file "tbb/parallel_for.h"

I set all the paths by executing the shell script. With export command I can see paths have been set properly (CPATH. LD_LIBRARY_PATH). Please kindly provide a suggestion to solve this issue. This is taking soo much of time.

Exceptions inside enumerable_thread_specific::local()

enumerable_thread_specific::local() lazily copy constructs thread local storage. What should happen if we try to allocate too much memory in the copy constructor of the thread local object? In this case, a std::bad_alloc is thrown. This causes the members which were constructed during member initialization to be destructed as the stack is unwound.

How to run task in the main thread while the execution of parallel_while?


In the main thread, we start to run parallel tasks with tbb::parallel_while. Now we have a requirement to create one separate new task and run it in the main thread during the execution of parallel_while. 

Firstly, I think we have to exclude the main thread from the worker threads of parallel_while.

Secondly, we have to create the new task and run it in the main thread.

Is this possible? How to accomplish both of these?



Iscriversi a Intel® Threading Building Blocks