I'm glad to inform you that we released another update to TBB 3.0. As usual, it is available for downloadat www.threadingbuildingblocks.orgfor open source community andregistrationcenter.intel.com for registered users; to obtain a commercial license, visit www.intel.com/software/products/tbb.
TBB 3.0 Update 5 adds one more preview feature: graph, which is a set of classes to build and execute various control & data flow graphs. See include/tbb/graph.h for the code, a blog article by Mike Vossfor general description, and latest TBB Reference Manual (Appendix D) for more detailed documentation.
Note that the preview feature introduced in the previous update, concurrent_priority_queue, is also available in this release. Your feedback on these features, as well as other TBB functionality, is always welcome!
The list of most important changes in this update (w.r.t. TBB 3.0 Update 4):
- Added Community Preview feature: graph.
- Added automatic propagation of master thread FPU settings to TBB worker threads.
- Added a public function to perform a sequentially consistent full memory fence: tbb::atomic_fence() in tbb/atomic.h.
- Data race that could result in scheduler data structures corruption when using fire-and-forget tasks.
- Potential referencing of destroyed concurrent_hash_map element after using erase(accessor&A) method with A acquired as const_accessor.
- Fixed a correctness bug in the convex hull example.
Open-source contributions integrated:
- Patch for calls to internal::atomic_do_once() by Andrey Semashev.