Intel® oneAPI Threading Building Blocks Release Notes

Published:10/28/2019   Last Updated:10/20/2020

Where to Find the Release

Intel® oneAPI Threading Building Blocks(Beta)

New in 2021.1-beta10 Release

Changes affecting backward compatibility

  • NUMA-support feature is fully supported now. Recompilation is highly recommended for all binaries that use task arena interface.

New Features

  • Added support for tpause instruction.
  • Added sleep possibility for external and coroutine waiters.
  • Added support for exceptions thrown from the flow graph nodes with priorities.

Known Limitations

  • An application using Parallel STL algorithms in GCC versions 9 and 10 may fail to compile due to incompatible interface changes between earlier versions of Threading Building Blocks (TBB) and oneAPI Threading Building Blocks (oneTBB). Disable support for Parallel STL algorithms by defining PSTL_USE_PARALLEL_POLICIES (in GCC 9) or _GLIBCXX_USE_TBB_PAR_BACKEND (in GCC 10) macro to zero before inclusion of the first standard header file in each translation unit.
  • On Linux, if oneAPI Threading Building Blocks (oneTBB) or Threading Building Blocks (TBB) has been installed to a system folder like /usr/lib64, the application may fail to link due to the linker search order for libraries. Use the -L linker option to specify the correct location of oneTBB libraries. This issue does not affect program execution.

Bugs Fixed

  • Resolved a possible over-subscription issue.
  • Fixed isolation support in resumable tasks.
  • Fixed an issue with removal of predecessors in join node with reserving policy.
  • Improved exception support in task arena.
  • Fixed a race during the destruction of task arena with attached observers.

New in 2021.1-beta09 Release

New Features

  • Added the terminate_on_exception property for global_control to prevent exceptions from the oneTBB library and terminate the library instead of throwing an exception.
  • Reworked error handling for thread creation API to throw an exception to report an error. Inspired by Andrey Semashev (https://github.com/oneapi-src/oneTBB/issues/255).
  • Enabled Intel® Inspector support in the parallel algorithms and the flow graph.
  • oneTBB libraries added to the linker command line on Microsoft Windows* systems automatically via #pragma comment linker directives.

Preview Features

  • Introduced the task_scheduler_handler class as a replacement for blocking terminate extension of the task_scheduler_init class.

Known Limitations

  • On Linux, if oneAPI Threading Building Blocks (oneTBB) or Threading Building Blocks (TBB) has been installed to a system folder like /usr/lib64, the application may fail to link due to the linker search order for libraries. Use the -L linker option to specify the correct location of oneTBB libraries. This issue does not affect program execution.

Bugs Fixed

  • Fixed a possible crash in concurrent_vector when multiple threads push elements to the empty container.

New in 2021.1-beta08 Release

Changes affecting backward compatibility

New Features

  • Upgraded the oneTBB Python module from Python2 to Python3. Inspired by Eisuke Kawashima (https://github.com/oneapi-src/oneTBB/pull/240).
  • Concurrent ordered containers, flow graph API to support relative priorities for functional nodes and resumable tasks are now fully supported features.
  • Extended task_arena interface was implemented to specify priority of the arena.
  • NUMA-extensions in task_arena was introduced in this release.

Known Limitations

  • On Linux, if oneAPI Threading Building Blocks (oneTBB) or Threading Building Blocks (TBB) has been installed to a system folder like /usr/lib64, the application may fail to link due to the linker search order for libraries. Use the -L linker option to specify the correct location of oneTBB libraries. This issue does not affect program execution.

Bugs Fixed

New in 2021.1-beta07 Release

  • There are no New Features or Bug fixes in this Release.

New in 2021.1-beta06 Release

  • Added modulefiles for setting up the user's development environment.

New in 2021.1-beta05 Release

  • There are no New Features or Bug fixes in this Release.

New in 2021.1-beta04 Release

  • There are no New Features or Bug fixes in this Release.

New in 2021.1-beta03 Release

  • There are no New Features or Bug fixes in this Release.

New in 2021.1-beta02 Release

New Features

  • To improve usability and align with C++ standards, some interfaces that were available in older releases are no longer available in oneAPI Threading Building Blocks (oneTBB). For a complete list of these features and instructions on how to map them to new features, see TBB Revamp: Background, Changes, and Modernization.
  • Compile-time notifications warn users about legacy headers that will be removed in future releases. For instance, "TBB error: tbb/reader_writer_lock.h is a legacy header which will be removed in a future release. For details, please see the Deprecated Features appendix in the TBB reference manual.

Bug Fixed

  • Fixed std::tuple detection with some versions of Clang on Windows

 

Notices and Disclaimers

Intel technologies may require enabled hardware, software or service activation.

No product or component can be absolutely secure.

Your costs and results may vary.

© Intel Corporation. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. Other names and brands may be claimed as the property of others.

No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.

The products described may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.

Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804