Intel® Threading Building Blocks

timed tasks?

Hi TBB Experts!

I am currently using some (allocators, containers, atomic functions etc..) of the TBB components in my open-source streaming server project (, and I'm very happy with that!

HP/UX, Solaris, AIX support

I'm looking into the possibility of integrating the use of TBB into future versions of the product I'm working on here at IBM/Tivoli. I'm still in the early investigative phase and plan on doing some prototyping beforehand. My biggest concern from browsing the forums/etc is the lack of support for non-intel based platforms. Some of the forum/community searches show work was/has been done for other platforms; however, I've not seen any build support for any of the above platforms in the latest releases.

Clean up inside gate.h

Well, I get to be the jerk to call out a piece of very confusing code inside TBB. This master-piece took a half hour to understand, and I'm still very confused as to what this function does. Inside function:

void try_update( intptr_t value, intptr_t comparand, bool flip=false )

There is this gem:

if( flip ? old!=comparand : old==comparand )

Misconceptions about TBB: Bring them out

I've talked about TBB a lot, and I mean, a lot. With all this TBB-talking, I've also encountered some misconceptions. Tonight, I was pushed over the edge while talking online. I'm tired of addressing the same misconceptions over and over. So, I'm here to put these misconceptions out in the open, partially as therapy for myself so I don't go insane when I hear them again :-) Please feel free to post misconceptions you've heard to this thread, I want to get this all out in the open. And if I'm wrong on one of these, please let me know...

task_scheduler_init object causes memory leak in VS2008


Since I switched to VS2008 I get a memory leak report from VS2008 in every tbb application I run. The object itself is cleaned up, but apperently VS2008 thinks it allocates some memory that is never freed. Is this true ? If so : can intel fix it, please ? If not : how can I get rid of the wrongful report ?



tbb_thread: F is value, not reference

Hello all.

Strange problem, I created a class to be used with tbb_thread, and I noticed that the copy constructor was being called. This doesn't make sense for my class, because I'm performing some initialization that should be done once... I was taken by surprise that the object was being copied.

Might I suggest that "F" inside of the tbb_thread templates should be F&? Thus the copy constructor won't be needed?


Most efficient way to process row-major 2-D matrix column wise


I'm testing out TBB right now. One of the algorithms I want to parallelize works on a row-major 2-D matrix by processing a column at a time.

How can I code this in TBB such that my algorithm can work on a column at a time?

Assuming that: matrix is M (row) x N (column), and given pointer float* that points to the (0,0) of the matrix. Assume further that the matrix is contiguous.

Originally, I hand-coded this such that for each element in the column, I stride by i*N to get to the next row.

Iscriversi a Intel® Threading Building Blocks