Intel® Threading Building Blocks

error #137: expression must be a modifiable lvalue


I have "expression must be a modifiable lvalue" error in compile time. I've tried to compile both icpc and g++ but nothing changed. I'm trying to learn TBB and try to write findMinFloat "finding mininmum element of float array" with parallel_reduce.  My code block is at the below. I have the error while overloading operator() but I do not have while writing a regular function such as foo(). What can be my problem ? 

capping the number of threads used by tbb::flow::graph

Is it possible to impose a maximum on the number of threads spun up by tbb as the graph is generated and edges are made?

Right now, tbb creates a number of threads equal to task_scheduler_init::default_num_threads(), pretty much regardless of the complexity of my graph. Setting max_threads via tbb::task_scheduler_init() appears to have no effect on the number of threads started.

question about task scheduler

hi guys, i'm a newbie of TBB, and i'm intrested in a question, that is, how the task scheduler and the algorithms, such as parallel_for, parallel_invoke, parallel_reduce etc, work together? I mean, the task scheduler must be the heart of TBB runtime, and then, for different algorithms, the scheduler is designed well to suit them, so what's the key points of scheduler's desgin, and how does the scheduler suits these algorithms?

Pluggable default memory semantics for atomics

I am of the strong opinion that C++11 goofed when it decreed sequential consistency as the default memory semantics for all atomic operations. It is an excessive general penalty (either performance cost or coding overhead) just to prevent the occasional mishap (relatively few uses need sequential consistency at the level of the atomic operation).

TBB defaults are far more reasonable, although I still have my doubts about sequential consistency for read-modify-write operations, which seems to be inspired by Intel's own Architecture (x86) more than by typical needs.

tbb43_20140724oss fails tests with gcc4.8 on Ubuntu 14.04


We are about to start using TBB in a software package with high requirements for portability, and in preparation for this we are checking the OSS version on a bunch of different platforms and compilers.




I'll get back with patches for a few new combinations, but while testing I realized that the latest open source version fails one built-in test when using gcc on Ubuntu 14.04. When building with "make" followed by "make test", the test_tbb_version.exe test fails with a segmentation fault, both for the release and debug flavors.

gcc 4.8.2 libs?

I'm trying to use tbb in Ubuntu.
I'm using gcc from Ubuntu repository, version 4.8.2
But I have found that lib/intel64 folder contains only gcc4.1 and gcc4.4 subfolders.

Should I just use gcc4.4? If it's compatible with gcc4.8.2?

Subscribe to Intel® Threading Building Blocks