Intel® Threading Building Blocks

Bug: Unable to control threads termination


I have an issue with TBB that makes my application crash systematically on exit.

I use automatic task_scheduler_init and sometimes spawn new tasks within tbb threads.

The culprit is when one of these tasks interacts with the Qt library, internally Qt initializes (even if not needed) a thread local object (using pthread), that must live at least as long as the QApplication object (because it uses method on it).

consuming TBB concurrent_queue


I work on Linux environment.

in the current application i work on, I will have several consumers for some form of data. In my design each consumer will have their own concurrent_queues and data generator will push data in to the corresponding queues. When the consumer receives the data, it will call parallel_for to push its own consumers to make some calculations with the data.

task execute sometimes not called

I'm using Windows 10 64bit with TBB 2018 Update 2.

I have 2 tbb::tasks:

struct QueueProcessingTask : public tbb::task

    task *execute();

struct MainScanTask : public tbb::task

    task *execute();

    QueueProcessingTask *m_pTask;

In my main manager object I have an instance of

MainScanTask *m_mainTask;

And I'm calling

Unable To Run Tasks Concurrently


I'm working on a Windows application that requires interactivity during retrieval of data that may take several minutes to fully complete.  The user requests data and we immediately show partial data as soon as it is available (a few seconds).  During this time, the user may request additional or new data and we want to show partial data for the new request as soon as possible even though previous requests are not complete.

I'm having difficultly running multiple tasks concurrently. Clearly I haven't designed the workflow properly.

Signal processing filters


I need to write a signal processing software with TBB. I am trying to use tbb::flow for that. I have:

- One producer P0

- Two consumers C0, C1

In order to communicate, the producer writes chunks of data to a std::vector<float> called pool. The size of this vector is nb_chunks * chunk_size. To get an idea, chunk_size is about 100 and nb_chunks is about 10.

Performance bottlenecks on high end server

I am using internet tbb threads and intel parallelism in my application for performance optimization, which works pretty well on my development machine with avg 10% CPU load. But when I am deploying the application on target machine which is a high end server with 32 cores and huge RAM, it is utilizing 80-90 % of CPU in same scenario . The server has a custom built hardware with rhel 6.
What could be the root cause of this problem?


Subscribe to Intel® Threading Building Blocks