Intel® Threading Building Blocks

TBB memory leaks even when entire program is commented out

Hi. I encountered TBB memory leaks in my program, so decided to try out a smaller program to check:

Tried this:
#include "tbb/parallel_for_each.h"
#include "tbb/task_scheduler_init.h"
#include <iostream>
#include <vector>

struct mytask {
mytask(size_t n)
void operator()() {
for (int i=0;i<1000000;++i) {} // Deliberately run slow
std::cerr << "[" << _n << "]";
size_t _n;

Trouble building TBB 4.4. because of -mrtm


I would like to understand how I can successfully build tbb 4.4 when I compile on a non-rtm supported cpu.

For example, using gcc 4.9.3 I can successfully compile tbb 4.4. on a machine with the following CPU:

Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz

However, when I use the same exact compiler binary on a machine with the following CPU:

Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz

I get the following errors:

limiting number of worker threads created, binding them to CPUs

Hi, we're using TBB in a fairly simple setup - just parallel_xxx stuff (no complicated heterogeneous graph-based calculations).

So basically we just need TBB to create exact number of threads equal to the number of cores, and bind them to specific cores (via cpu affinity).

Problem building TBB and IPP using Mingw in Windows7(Solved)

Hello Guys,

I got an issue with Intel's IPP and TBB compilation in my station. I am trying to compile OpenCV 3.0 with Mingw4.8.1 using Cmake GUI 3.1. I have installed Intel's System Studio in my station. Also, I have set that option in Cmake WITH_IPP and WITH_TBB ON while configuring and generating source code of opencv for build but, It was not building successfully. I need your help to sort out this issue.

I used following version of IPP and TBB.

IPP : 8.2.1

TBB : 4.3 interface 8005

Following error I got while building source code.

Static linking tbb


I'm writing a library where I'm linking to the open source version of tbb built as a static lib. This works fine but when I static link my library into a program it asks for the tbb library and I want my library to be self contained so people can use it without needing to link against tbb themselves. I've had a similar thing with boost where you can use a preprocessor definition to make your library self contained. I'm wondering how I can achieve this with tbb? 

Thanks a lot!

The method on_scheduler_exit() is not executed


I'm trying to use tbb::task_secheduler_observer to gather some statistics, collected by worker threads, when performing various tasks (parallel_do, mostly, but also other ones).
Unfortunately - the method on_scheduler_exit() is never called; on_scheduler_entry() is called normally, at the beginning, but not the former one. What am I doing wrong?
I've read that the process does NOT wait for all threads to clear up, but ading a ten-seconds-long sleep() in the main function changed nothing.

Oh, and should


S’abonner à Intel® Threading Building Blocks