Questions tagged [tbb]

Intel Threading Building Blocks (also known as TBB) is an open-source portable C++ template library for writing software programs that take advantage of multi-core processors.

From Wikipedia:

Intel Threading Building Blocks (also known as TBB) is a C++ template library developed by Intel Corporation for writing software programs that take advantage of multi-core processors. The library consists of data structures and algorithms that allow a programmer to avoid some complications arising from the use of native threading packages such as POSIX threads, Windows threads, or the portable Boost Threads in which individual threads of execution are created, synchronized, and terminated manually.

Instead the library abstracts access to the multiple processors by allowing the operations to be treated as "tasks", which are allocated to individual cores dynamically.

Threading Building Blocks Homepage

Intel® Threading Building Blocks Tutorial

770 questions
0
votes
1 answer

Intel Threading Building Blocks support for Intel Xeon Phi Co-Processor

I have asked this on the Intel's forums, with no luck. Does anybody know in which version of Intel TBB did they start supporting the Xeon Phi co-Processors?
Eduardo
  • 697
  • 8
  • 26
0
votes
1 answer

Linking shared libraries to c++ project on the cluster

I wrote the c++ project which uses tbb library. To link this library to my project I set in the project settings the paths to the library's files: Include directories: usr/tbb/include Libraries: usr/lib/libtbb.so, usr/lib/libtbbmalloc.so,…
0
votes
1 answer

TBB Linker error How can I tell if I am missing an include or if the code is outdated

I am trying to get the code from this article up and running, however, I am running into my arch nemesis' LNK2019 and LNK2001. Here is a direct link to download the project zip file. Before anyone asks I have read the unresolved external symbol…
NauticalMile
  • 1,625
  • 3
  • 16
  • 29
0
votes
1 answer

Is there a way to control thread count, affinity and creation time in Intels Threading Building Blocks?

Currently I use Intels TBB to parallelize some work using tbb::parallel_for. It seems that the amount of threads and the point in time when they are started is controlled by TBB in the background. Looking through the User Guide and Reference…
ThE_-_BliZZarD
  • 722
  • 2
  • 12
  • 26
0
votes
1 answer

homebrew install of octave dependency tbb and env vars CC and CXX

I'm trying to install octave on my new macbook pro (OSX10.8.4) using homebrew. It balks on the installation of the dependency package tbb, so for the purposes of this question what I'm trying to install is tbb. Here's the short version: >>> brew…
0
votes
1 answer

Intel tbb::parallel_for_each compile time error

I was parallelizing a for loop (that iterates through a stl list) using parallel_for_each, but I got a compile time error saying that there's no matching function call. //TBB headers #include "tbb/parallel_for_each.h" class FUNCTOR { public: …
Ryan K
  • 65
  • 1
  • 4
0
votes
1 answer

Is compiling opencv with tbb relevant on processeur with 2 thread

I am using OpenCv with the following processor : Intel(R) Atom(TM) CPU N455 @ 1.66GHz Intel indicates that this processeur has 1 core but 2 threads. So would it be relevent to use OpenCv with TBB option and expect faster execution ? Thank you
jln611
  • 23
  • 4
0
votes
2 answers

TBB Flow Graph: how wait for a specific token from the output?

I'm trying to write an adapter to Flow Graph that imitates a pipeline-like synchronous function call. But I don't understand how to block and wait for the output for a specific token. Calling wait_for_all on the graph doesn't help as I don't need to…
lizarisk
  • 7,562
  • 10
  • 46
  • 70
0
votes
1 answer

deleting a tbb thread in C++

tbb::tbb_thread* m_tbbTimerThread; m_tbbTimerThread = new tbb::tbb_thread(&sFirstTimerBlocked, this); // Above thread is spawned. Later I want to deleted thread in different function. I am doing it as below. if(m_tbbTimerThread…
venkysmarty
  • 11,099
  • 25
  • 101
  • 184
0
votes
1 answer

Access flattened2d without iterating

I have a flattened2d bids; that I would just like to access using the [] operator without using an iterator. I don't want to copy the vector. Is there an efficient way to get an index (e.g., 0) of a flattened2d?
user1676605
  • 1,337
  • 3
  • 13
  • 21
0
votes
1 answer

TaskQueue : double conditional-sequence execution (C++)

I'm writing a server application, task oriented. Each Session (client) send packets to the server, the server enqueues them as Tasks, and workers (threads) handle them. Constraints are : Tasks from a same Session have to be always sequentially…
Malandrain
  • 91
  • 1
  • 6
0
votes
2 answers

synchronization between threads using tbb

I am using tbb programming in C++. I am not supposed to use message queue, FIFO, PIPES etc as it is platform specific. I am supposed to use tbb specific API's. Thread1: // Pseuodo code exits as below // I will take mutex …
venkysmarty
  • 11,099
  • 25
  • 101
  • 184
0
votes
1 answer

Thread Building Blocks flow graph — making a "counting" node

I need to accumulate 2 incoming messages before passing on a single message. The documentation of the continue_node mentions the threshold parameter T but is not clear on whether it always equals the number of connected predecessors. In my case…
rych
  • 682
  • 3
  • 10
  • 22
0
votes
1 answer

How to make TBB accept non-standard type of T for tbb::atomic

I am trying to set up an atomic vector, like struct Vector { double data[3]; }; and i wish it work atomicly in TBB. So I used tbb::atomic atomic_vec; However, it failed to work, as the compiler stating…
xis
  • 24,330
  • 9
  • 43
  • 59
0
votes
1 answer

How to lock element of array using TBB/OpenMP

I have a very big array read/write by several threads. Each thread will only rw one element of them at a time, so it would be a bad idea to lock the whole array. What I am expecting is something like // before threads lock_t Lock[NUM_THREADS];…
xis
  • 24,330
  • 9
  • 43
  • 59