Intel® Threading Building Blocks

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
  • 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
  • How does memory_pool reuse freed memory?

    typedef tbb::memory_pool<tbb::scalable_allocator<char>> MemoryPool;

    I have one use case where I need to store objects for a long time. However, for this use case I also need to do a lot of malloc and free calls. After I free an object, does the memory_pool implementation fill previously freed blocks when calling malloc? If yes, are there any limitations?

     

    Subscribe to Intel® Threading Building Blocks