Intel® Threading Building Blocks

TBB Warning: Max number of workers has been already set ...

Since upgrading to TBB 4.4 some of our test code has generated warning like "TBB Warning: Max number of workers has been already set to 11. The request for 15 workers is ignored."  (The numbers in the warning message can vary.)

It have not been able to to pin down what triggers the warning. But the test code does not explicitly limit the number of threads.

Can anyone suggest what is causing the warning?


enqueue bug or lack of documentation

Good afternoon

I think there's a bug in the enqueue operation or at least a lack of documentation. I also think that the behaviour there has changed recently and it had not been an issue with previous versions of TBB. If you call enqueue on a task allocated as root, it inherits the task group context. If the original root task that has "opened" this task group context terminates, the task context seems to be destroyed even though there still are some tasks enqueued. It leads to

整理您的数据和代码: 数据和布局 - 第 2 部分

Apply the concepts of parallelism and distributed memory computing to your code to improve software performance. This paper expands on concepts discussed in Part 1, to consider parallelism, both vectorization (single instruction multiple data SIMD) as well as shared memory parallelism (threading), and distributed memory computing.
  • Students
  • Modern Code
  • Server
  • Windows*
  • C/C++
  • Fortran
  • Intermediate
  • Intel® Advisor
  • Intel® Cilk™ Plus
  • Intel® Threading Building Blocks
  • Intel® Advanced Vector Extensions
  • OpenMP*
  • Intel® Many Integrated Core Architecture
  • Optimization
  • Parallel Computing
  • Threading
  • Vectorization
  • Creating my own node classes based on tbb flow graph

    Hello everyone.

    I've just started using tbb flow graphs and I've got some questions.

    Actually, I need more nodes in it and as I understand I can build them by inheriting my class from tbb::flow::graph_node, tbb::flow::sender, etc. Am I right?

    Being more concrete, I need two nodes.

    First one should be a sender node, which takes data asynchronously from UDP port using, say, boost::asio and then pushes this data into the flow graph.

    How University of Bristol Accelerated Rational Drug Design

    Task-based parallel programming is the future. The University of Bristol Advanced Computing Research Centre wants to be part of that future. It provides advanced computing support to researchers, with a team of research software engineers who work with academics across a range of disciplines to help optimize research software that can be applied in industry.

  • Intel® Parallel Studio XE
  • Intel® System Studio
  • Intel® Threading Building Blocks
  • Education
  • Celebrating 10 Years of Intel® Threading Building Blocks

     Intel TBBWhat a Journey It's Been.

    Intel® Threading Building Blocks (Intel® TBB) has come a long way from where it started in 2006 to its10-year anniversary in 2016. But on this long and winding journey, we've never lost sight of our core values of innovation and customer satisfaction.

    Intel TBB is a powerful tool that lets developers leverage multi-core performance and heterogeneous computing without having to be threading or parallel programming experts. It is:

  • Intel® Parallel Studio XE
  • Intel® System Studio
  • Intel® Threading Building Blocks
  • Invalid constant expression if _DEBUG macro doesn't have value

    We currently use the Python libraries in Boost and Intel TBB. The libraries in Boost undefine the MSVC macro _DEBUG then subsequently redefine it without any value. In TBB_Config.h the macro TBB_USE_DEBUG is set from the value of _DEBUG. When TBB_USE_DEBUG is later used in #if statements within the same header file the preprocessor cannot evaluate the expression and pre-processing fails.

    What's New? Intel® Threading Building Blocks 2017 Update 1

    Changes (w.r.t. Intel TBB 2017):

    Bugs fixed:

    - Fixed dynamic memory allocation replacement failures on Windows* 10
        Anniversary Update.
    - Fixed emplace() method of concurrent unordered containers not to
        require a copy constructor.

  • C/C++
  • Intel® Threading Building Blocks
  • Subscribe to Intel® Threading Building Blocks