|
Petr Machata |
657e0b6 |
TBB 4.0 Update 4
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 4.0 Update 3):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- The TBB memory allocator transparently supports large pages on Linux.
|
|
Petr Machata |
657e0b6 |
- A new flow_graph example, logic_sim, was added.
|
|
Petr Machata |
657e0b6 |
- Support for DirectX* 9 was added to GUI examples.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Community Preview Features:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Added: aggregator, a new concurrency control mechanism.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- The abort operation on concurrent_bounded_queue now leaves the queue
|
|
Petr Machata |
657e0b6 |
in a reusable state. If a bad_alloc or bad_last_alloc exception is
|
|
Petr Machata |
657e0b6 |
thrown while the queue is recovering from an abort, that exception
|
|
Petr Machata |
657e0b6 |
will be reported instead of user_abort on the thread on which it
|
|
Petr Machata |
657e0b6 |
occurred, and the queue will not be reusable.
|
|
Petr Machata |
657e0b6 |
- Steal limiting heuristic fixed to avoid premature stealing disabling
|
|
Petr Machata |
657e0b6 |
when large amount of __thread data is allocated on thread stack.
|
|
Petr Machata |
657e0b6 |
- Fixed a low-probability leak of arenas in the task scheduler.
|
|
Petr Machata |
657e0b6 |
- In STL-compatible allocator classes, the method construct() was fixed
|
|
Petr Machata |
657e0b6 |
to comply with C++11 requirements.
|
|
Petr Machata |
657e0b6 |
- Fixed a bug that prevented creation of fixed-size memory pools
|
|
Petr Machata |
657e0b6 |
smaller than 2M.
|
|
Petr Machata |
657e0b6 |
- Significantly reduced the amount of warnings from various compilers.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Open-source contributions integrated:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Multiple improvements by Raf Schietekat.
|
|
Petr Machata |
657e0b6 |
- Basic support for Clang on Mac OS X* by Blas Rodriguez Somoza.
|
|
Petr Machata |
657e0b6 |
- Fixes for warnings and corner-case bugs by Blas Rodriguez Somoza
|
|
Petr Machata |
657e0b6 |
and Edward Lam.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 4.0 Update 3
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 4.0 Update 2):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Modifications to the low-level API for memory pools:
|
|
Petr Machata |
657e0b6 |
added support for aligned allocations;
|
|
Petr Machata |
657e0b6 |
pool policies reworked to allow backward-compatible extensions;
|
|
Petr Machata |
657e0b6 |
added a policy to not return memory space till destruction;
|
|
Petr Machata |
657e0b6 |
pool_reset() does not return memory space anymore.
|
|
Petr Machata |
657e0b6 |
- Class tbb::flow::graph_iterator added to iterate over all nodes
|
|
Petr Machata |
657e0b6 |
registered with a graph instance.
|
|
Petr Machata |
657e0b6 |
- multioutput_function_node has been renamed multifunction_node.
|
|
Petr Machata |
657e0b6 |
multifunction_node and split_node are now fully-supported features.
|
|
Petr Machata |
657e0b6 |
- For the tagged join node, the policy for try_put of an item with
|
|
Petr Machata |
657e0b6 |
already existing tag has been defined: the item will be rejected.
|
|
Petr Machata |
657e0b6 |
- Matching the behavior on Windows, on other platforms the optional
|
|
Petr Machata |
657e0b6 |
shared libraries (libtbbmalloc, libirml) now are also searched
|
|
Petr Machata |
657e0b6 |
only in the directory where libtbb is located.
|
|
Petr Machata |
657e0b6 |
- The platform isolation layer based on GCC built-ins is extended.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Backward-incompatible API changes:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- a graph reference parameter is now required to be passed to the
|
|
Petr Machata |
657e0b6 |
constructors of the following flow graph nodes: overwrite_node,
|
|
Petr Machata |
657e0b6 |
write_once_node, broadcast_node, and the CPF or_node.
|
|
Petr Machata |
657e0b6 |
- the following tbb::flow node methods and typedefs have been renamed:
|
|
Petr Machata |
657e0b6 |
Old New
|
|
Petr Machata |
657e0b6 |
join_node and or_node:
|
|
Petr Machata |
657e0b6 |
inputs() -> input_ports()
|
|
Petr Machata |
657e0b6 |
input_ports_tuple_type -> input_ports_type
|
|
Petr Machata |
657e0b6 |
multifunction_node and split_node:
|
|
Petr Machata |
657e0b6 |
ports_type -> output_ports_type
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Not all logical processors were utilized on systems with more than
|
|
Petr Machata |
657e0b6 |
64 cores split by Windows into several processor groups.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 4.0 Update 2 commercial-aligned release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 4.0 Update 1 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- concurrent_bounded_queue now has an abort() operation that releases
|
|
Petr Machata |
657e0b6 |
threads involved in pending push or pop operations. The released
|
|
Petr Machata |
657e0b6 |
threads will receive a tbb::user_abort exception.
|
|
Petr Machata |
657e0b6 |
- Added Community Preview Feature: concurrent_lru_cache container,
|
|
Petr Machata |
657e0b6 |
a concurrent implementation of LRU (least-recently-used) cache.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- fixed a race condition in the TBB scalable allocator.
|
|
Petr Machata |
657e0b6 |
- concurrent_queue counter wraparound bug was fixed, which occurred when
|
|
Petr Machata |
657e0b6 |
the number of push and pop operations exceeded ~>4 billion on IA32.
|
|
Petr Machata |
657e0b6 |
- fixed races in the TBB scheduler that could put workers asleep too
|
|
Petr Machata |
657e0b6 |
early, especially in presense of affinitized tasks.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 4.0 Update 1 commercial-aligned release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 4.0 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Memory leaks fixed in binpack example.
|
|
Petr Machata |
657e0b6 |
- Improvements and fixes in the TBB allocator.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 4.0 commercial-aligned release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 3.0 Update 8 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- concurrent_priority_queue is now a fully supported feature.
|
|
Petr Machata |
657e0b6 |
Capacity control methods were removed.
|
|
Petr Machata |
657e0b6 |
- Flow graph is now a fully supported feature.
|
|
Petr Machata |
657e0b6 |
- A new memory backend has been implemented in the TBB allocator.
|
|
Petr Machata |
657e0b6 |
It can reuse freed memory for both small and large objects, and
|
|
Petr Machata |
657e0b6 |
returns unused memory blocks to the OS more actively.
|
|
Petr Machata |
657e0b6 |
- Improved partitioning algorithms for parallel_for and parallel_reduce
|
|
Petr Machata |
657e0b6 |
to better handle load imbalance.
|
|
Petr Machata |
657e0b6 |
- The convex_hull example has been refactored for reproducible
|
|
Petr Machata |
657e0b6 |
performance results.
|
|
Petr Machata |
657e0b6 |
- The major interface version has changed from 5 to 6.
|
|
Petr Machata |
657e0b6 |
Deprecated interfaces might be removed in future releases.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Community Preview Features:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Added: serial subset, i.e. sequential implementations of TBB generic
|
|
Petr Machata |
657e0b6 |
algorithms (currently, only provided for parallel_for).
|
|
Petr Machata |
657e0b6 |
- Preview of new flow graph nodes:
|
|
Petr Machata |
657e0b6 |
or_node (accepts multiple inputs, forwards each input separately
|
|
Petr Machata |
657e0b6 |
to all successors),
|
|
Petr Machata |
657e0b6 |
split_node (accepts tuples, and forwards each element of a tuple
|
|
Petr Machata |
657e0b6 |
to a corresponding successor), and
|
|
Petr Machata |
657e0b6 |
multioutput_function_node (accepts one input, and passes the input
|
|
Petr Machata |
657e0b6 |
and a tuple of output ports to the function body to support outputs
|
|
Petr Machata |
657e0b6 |
to multiple successors).
|
|
Petr Machata |
657e0b6 |
- Added: memory pools for more control on memory source, grouping,
|
|
Petr Machata |
657e0b6 |
and collective deallocation.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 3.0 Update 8 commercial-aligned release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 3.0 Update 7 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Task priorities become an official feature of TBB,
|
|
Petr Machata |
657e0b6 |
not community preview as before.
|
|
Petr Machata |
657e0b6 |
- Atomics API extended, and implementation refactored.
|
|
Petr Machata |
657e0b6 |
- Added task::set_parent() method.
|
|
Petr Machata |
657e0b6 |
- Added concurrent_unordered_set container.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Open-source contributions integrated:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- PowerPC support by Raf Schietekat.
|
|
Petr Machata |
657e0b6 |
- Fix of potential task pool overrun and other improvements
|
|
Petr Machata |
657e0b6 |
in the task scheduler by Raf Schietekat.
|
|
Petr Machata |
657e0b6 |
- Fix in parallel_for_each to work with std::set in Visual* C++ 2010.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Community Preview Features:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Graph community preview feature was renamed to flow graph.
|
|
Petr Machata |
657e0b6 |
Multiple improvements in the implementation.
|
|
Petr Machata |
657e0b6 |
Binpack example was added for the feature.
|
|
Petr Machata |
657e0b6 |
- A number of improvements to concurrent_priority_queue.
|
|
Petr Machata |
657e0b6 |
Shortpath example was added for the feature.
|
|
Petr Machata |
657e0b6 |
- TBB runtime loaded functionality was added (Windows*-only).
|
|
Petr Machata |
657e0b6 |
It allows to specify which versions of TBB should be used,
|
|
Petr Machata |
657e0b6 |
as well as to set directories for the library search.
|
|
Petr Machata |
657e0b6 |
- parallel_deterministic_reduce template function was added.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 3.0 Update 7 commercial-aligned release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 3.0 Update 6 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Added implementation of the platform isolation layer based on
|
|
Petr Machata |
657e0b6 |
GCC atomic built-ins; it is supposed to work on any platform
|
|
Petr Machata |
657e0b6 |
where GCC has these built-ins.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Community Preview Features:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Graph's dining_philosophers example added.
|
|
Petr Machata |
657e0b6 |
- A number of improvements to graph and concurrent_priority_queue.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 3.0 Update 6 commercial-aligned release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 3.0 Update 5 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Added Community Preview feature: task and task group priority, and
|
|
Petr Machata |
657e0b6 |
Fractal example demonstrating it.
|
|
Petr Machata |
657e0b6 |
- parallel_pipeline optimized for data items of small and large sizes.
|
|
Petr Machata |
657e0b6 |
- Graph's join_node is now parametrized with a tuple of up to 10 types.
|
|
Petr Machata |
657e0b6 |
- Improved performance of concurrent_priority_queue.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Open-source contributions integrated:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Initial NetBSD support by Aleksej Saushev.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Failure to enable interoperability with Intel(R) Cilk(tm) Plus runtime
|
|
Petr Machata |
657e0b6 |
library, and a crash caused by invoking the interoperability layer
|
|
Petr Machata |
657e0b6 |
after one of the libraries was unloaded.
|
|
Petr Machata |
657e0b6 |
- Data race that could result in concurrent_unordered_map structure
|
|
Petr Machata |
657e0b6 |
corruption after call to clear() method.
|
|
Petr Machata |
657e0b6 |
- Stack corruption caused by PIC version of 64-bit CAS compiled by Intel
|
|
Petr Machata |
657e0b6 |
compiler on Linux.
|
|
Petr Machata |
657e0b6 |
- Inconsistency of exception propagation mode possible when application
|
|
Petr Machata |
657e0b6 |
built with Microsoft* Visual Studio* 2008 or earlier uses TBB built
|
|
Petr Machata |
657e0b6 |
with Microsoft* Visual Studio* 2010.
|
|
Petr Machata |
657e0b6 |
- Affinitizing master thread to a subset of available CPUs after TBB
|
|
Petr Machata |
657e0b6 |
scheduler was initialized tied all worker threads to the same CPUs.
|
|
Petr Machata |
657e0b6 |
- Method is_stolen_task() always returned 'false' for affinitized tasks.
|
|
Petr Machata |
657e0b6 |
- write_once_node and overwrite_node did not immediately send buffered
|
|
Petr Machata |
657e0b6 |
items to successors
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 3.0 Update 5 commercial-aligned release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 3.0 Update 4 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Added Community Preview feature: graph.
|
|
Petr Machata |
657e0b6 |
- Added automatic propagation of master thread FPU settings to
|
|
Petr Machata |
657e0b6 |
TBB worker threads.
|
|
Petr Machata |
657e0b6 |
- Added a public function to perform a sequentially consistent full
|
|
Petr Machata |
657e0b6 |
memory fence: tbb::atomic_fence() in tbb/atomic.h.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Data race that could result in scheduler data structures corruption
|
|
Petr Machata |
657e0b6 |
when using fire-and-forget tasks.
|
|
Petr Machata |
657e0b6 |
- Potential referencing of destroyed concurrent_hash_map element after
|
|
Petr Machata |
657e0b6 |
using erase(accessor&A) method with A acquired as const_accessor.
|
|
Petr Machata |
657e0b6 |
- Fixed a correctness bug in the convex hull example.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Open-source contributions integrated:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Patch for calls to internal::atomic_do_once() by Andrey Semashev.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 3.0 Update 4 commercial-aligned release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 3.0 Update 3 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Added Community Preview feature: concurrent_priority_queue.
|
|
Petr Machata |
657e0b6 |
- Fixed library loading to avoid possibility for remote code execution,
|
|
Petr Machata |
657e0b6 |
see http://www.microsoft.com/technet/security/advisory/2269637.mspx.
|
|
Petr Machata |
657e0b6 |
- Added support of more than 64 cores for appropriate Microsoft*
|
|
Petr Machata |
657e0b6 |
Windows* versions. For more details, see
|
|
Petr Machata |
657e0b6 |
http://msdn.microsoft.com/en-us/library/dd405503.aspx.
|
|
Petr Machata |
657e0b6 |
- Default number of worker threads is adjusted in accordance with
|
|
Petr Machata |
657e0b6 |
process affinity mask.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Calls of scalable_* functions from inside the allocator library
|
|
Petr Machata |
657e0b6 |
caused issues if the functions were overridden by another module.
|
|
Petr Machata |
657e0b6 |
- A crash occurred if methods run() and wait() were called concurrently
|
|
Petr Machata |
657e0b6 |
for an empty tbb::task_group (1736).
|
|
Petr Machata |
657e0b6 |
- The tachyon example exhibited build problems associated with
|
|
Petr Machata |
657e0b6 |
bug 554339 on Microsoft* Visual Studio* 2010. Project files were
|
|
Petr Machata |
657e0b6 |
modified as a partial workaround to overcome the problem. See
|
|
Petr Machata |
657e0b6 |
http://connect.microsoft.com/VisualStudio/feedback/details/554339.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 3.0 Update 3 commercial-aligned release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 3.0 Update 2 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- cache_aligned_allocator class reworked to use scalable_aligned_malloc.
|
|
Petr Machata |
657e0b6 |
- Improved performance of count() and equal_range() methods
|
|
Petr Machata |
657e0b6 |
in concurrent_unordered_map.
|
|
Petr Machata |
657e0b6 |
- Improved implementation of 64-bit atomic loads and stores on 32-bit
|
|
Petr Machata |
657e0b6 |
platforms, including compilation with VC 7.1.
|
|
Petr Machata |
657e0b6 |
- Added implementation of atomic operations on top of OSAtomic API
|
|
Petr Machata |
657e0b6 |
provided by Mac OS* X.
|
|
Petr Machata |
657e0b6 |
- Removed gratuitous try/catch blocks surrounding thread function calls
|
|
Petr Machata |
657e0b6 |
in tbb_thread.
|
|
Petr Machata |
657e0b6 |
- Xcode* projects were added for sudoku and game_of_life examples.
|
|
Petr Machata |
657e0b6 |
- Xcode* projects were updated to work without TBB framework.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Fixed a data race in task scheduler destruction that on rare occasion
|
|
Petr Machata |
657e0b6 |
could result in memory corruption.
|
|
Petr Machata |
657e0b6 |
- Fixed idle spinning in thread bound filters in tbb::pipeline (1670).
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Open-source contributions integrated:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- MinGW-64 basic support by brsomoza (partially).
|
|
Petr Machata |
657e0b6 |
- Patch for atomic.h by Andrey Semashev.
|
|
Petr Machata |
657e0b6 |
- Support for AIX & GCC on PowerPC by Giannis Papadopoulos.
|
|
Petr Machata |
657e0b6 |
- Various improvements by Raf Schietekat.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 3.0 Update 2 commercial-aligned release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 3.0 Update 1 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Destructor of tbb::task_group class throws missing_wait exception
|
|
Petr Machata |
657e0b6 |
if there are tasks running when it is invoked.
|
|
Petr Machata |
657e0b6 |
- Interoperability layer with Intel Cilk Plus runtime library added
|
|
Petr Machata |
657e0b6 |
to protect TBB TLS in case of nested usage with Intel Cilk Plus.
|
|
Petr Machata |
657e0b6 |
- Compilation fix for dependent template names in concurrent_queue.
|
|
Petr Machata |
657e0b6 |
- Memory allocator code refactored to ease development and maintenance.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Improved interoperability with other Intel software tools on Linux in
|
|
Petr Machata |
657e0b6 |
case of dynamic replacement of memory allocator (1700)
|
|
Petr Machata |
657e0b6 |
- Fixed install issues that prevented installation on
|
|
Petr Machata |
657e0b6 |
Mac OS* X 10.6.4 (1711).
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 3.0 Update 1 commercial-aligned release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 3.0 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Decreased memory fragmentation by allocations bigger than 8K.
|
|
Petr Machata |
657e0b6 |
- Lazily allocate worker threads, to avoid creating unnecessary stacks.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- TBB allocator used much more memory than malloc (1703) - see above.
|
|
Petr Machata |
657e0b6 |
- Deadlocks happened in some specific initialization scenarios
|
|
Petr Machata |
657e0b6 |
of the TBB allocator (1701, 1704).
|
|
Petr Machata |
657e0b6 |
- Regression in enumerable_thread_specific: excessive requirements
|
|
Petr Machata |
657e0b6 |
for object constructors.
|
|
Petr Machata |
657e0b6 |
- A bug in construction of parallel_pipeline filters when body instance
|
|
Petr Machata |
657e0b6 |
was a temporary object.
|
|
Petr Machata |
657e0b6 |
- Incorrect usage of memory fences on PowerPC and XBOX360 platforms.
|
|
Petr Machata |
657e0b6 |
- A subtle issue in task group context binding that could result
|
|
Petr Machata |
657e0b6 |
in cancelation signal being missed by nested task groups.
|
|
Petr Machata |
657e0b6 |
- Incorrect construction of concurrent_unordered_map if specified
|
|
Petr Machata |
657e0b6 |
number of buckets is not power of two.
|
|
Petr Machata |
657e0b6 |
- Broken count() and equal_range() of concurrent_unordered_map.
|
|
Petr Machata |
657e0b6 |
- Return type of postfix form of operator++ for hash map's iterators.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 3.0 commercial-aligned release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 2.2 Update 3 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- All open-source-release changes down to TBB 2.2 U3 below
|
|
Petr Machata |
657e0b6 |
were incorporated into this release.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20100406 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. 20100310 open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Added support for Microsoft* Visual Studio* 2010, including binaries.
|
|
Petr Machata |
657e0b6 |
- Added a PDF file with recommended Design Patterns for TBB.
|
|
Petr Machata |
657e0b6 |
- Added parallel_pipeline function and companion classes and functions
|
|
Petr Machata |
657e0b6 |
that provide a strongly typed lambda-friendly pipeline interface.
|
|
Petr Machata |
657e0b6 |
- Reworked enumerable_thread_specific to use a custom implementation of
|
|
Petr Machata |
657e0b6 |
hash map that is more efficient for ETS usage models.
|
|
Petr Machata |
657e0b6 |
- Added example for class task_group; see examples/task_group/sudoku.
|
|
Petr Machata |
657e0b6 |
- Removed two examples, as they were long outdated and superceded:
|
|
Petr Machata |
657e0b6 |
pipeline/text_filter (use pipeline/square);
|
|
Petr Machata |
657e0b6 |
parallel_while/parallel_preorder (use parallel_do/parallel_preorder).
|
|
Petr Machata |
657e0b6 |
- PDF documentation updated.
|
|
Petr Machata |
657e0b6 |
- Other fixes and changes in code, tests, and examples.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Eliminated build errors with MinGW32.
|
|
Petr Machata |
657e0b6 |
- Fixed post-build step and other issues in VS projects for examples.
|
|
Petr Machata |
657e0b6 |
- Fixed discrepancy between scalable_realloc and scalable_msize that
|
|
Petr Machata |
657e0b6 |
caused crashes with malloc replacement on Windows.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20100310 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 2.2 Update 3 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Version macros changed in anticipation of a future release.
|
|
Petr Machata |
657e0b6 |
- Directory structure aligned with Intel(R) C++ Compiler;
|
|
Petr Machata |
657e0b6 |
now TBB binaries reside in <arch>/<os_key>/[bin|lib]
|
|
Petr Machata |
657e0b6 |
(in TBB 2.x, it was [bin|lib]/<arch>/<os_key>).
|
|
Petr Machata |
657e0b6 |
- Visual Studio projects changed for examples: instead of separate set
|
|
Petr Machata |
657e0b6 |
of files for each VS version, now there is single 'msvs' directory
|
|
Petr Machata |
657e0b6 |
that contains workspaces for MS C++ compiler (<example>_cl.sln) and
|
|
Petr Machata |
657e0b6 |
Intel C++ compiler (<example>_icl.sln). Works with VS 2005 and above.
|
|
Petr Machata |
657e0b6 |
- The name versioning scheme for backward compatibility was improved;
|
|
Petr Machata |
657e0b6 |
now compatibility-breaking changes are done in a separate namespace.
|
|
Petr Machata |
657e0b6 |
- Added concurrent_unordered_map implementation based on a prototype
|
|
Petr Machata |
657e0b6 |
developed in Microsoft for a future version of PPL.
|
|
Petr Machata |
657e0b6 |
- Added PPL-compatible writer-preference RW lock (reader_writer_lock).
|
|
Petr Machata |
657e0b6 |
- Added TBB_IMPLEMENT_CPP0X macro to control injection of C++0x names
|
|
Petr Machata |
657e0b6 |
implemented in TBB into namespace std.
|
|
Petr Machata |
657e0b6 |
- Added almost-C++0x-compatible std::condition_variable, plus a bunch
|
|
Petr Machata |
657e0b6 |
of other C++0x classes required by condition_variable.
|
|
Petr Machata |
657e0b6 |
- With TBB_IMPLEMENT_CPP0X, tbb_thread can be also used as std::thread.
|
|
Petr Machata |
657e0b6 |
- task.cpp was split into several translation units to structure
|
|
Petr Machata |
657e0b6 |
TBB scheduler sources layout. Static data layout and library
|
|
Petr Machata |
657e0b6 |
initialization logic were also updated.
|
|
Petr Machata |
657e0b6 |
- TBB scheduler reworked to prevent master threads from stealing
|
|
Petr Machata |
657e0b6 |
work belonging to other masters.
|
|
Petr Machata |
657e0b6 |
- Class task was extended with enqueue() method, and slightly changed
|
|
Petr Machata |
657e0b6 |
semantics of methods spawn() and destroy(). For exact semantics,
|
|
Petr Machata |
657e0b6 |
refer to TBB Reference manual.
|
|
Petr Machata |
657e0b6 |
- task_group_context now allows for destruction by non-owner threads.
|
|
Petr Machata |
657e0b6 |
- Added TBB_USE_EXCEPTIONS macro to control use of exceptions in TBB
|
|
Petr Machata |
657e0b6 |
headers. It turns off (i.e. sets to 0) automatically if specified
|
|
Petr Machata |
657e0b6 |
compiler options disable exception handling.
|
|
Petr Machata |
657e0b6 |
- TBB is enabled to run on top of Microsoft's Concurrency Runtime
|
|
Petr Machata |
657e0b6 |
on Windows* 7 (via our worker dispatcher known as RML).
|
|
Petr Machata |
657e0b6 |
- Removed old unused busy-waiting code in concurrent_queue.
|
|
Petr Machata |
657e0b6 |
- Described the advanced build & test options in src/index.html.
|
|
Petr Machata |
657e0b6 |
- Warning level for GCC raised with -Wextra and a few other options.
|
|
Petr Machata |
657e0b6 |
- Multiple fixes and improvements in code, tests, examples, and docs.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Open-source contributions integrated:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Xbox support by Roman Lut (Deep Shadows), though further changes are
|
|
Petr Machata |
657e0b6 |
required to make it working; e.g. post-2.1 entry points are missing.
|
|
Petr Machata |
657e0b6 |
- "Eventcount" by Dmitry Vyukov evolved into concurrent_monitor,
|
|
Petr Machata |
657e0b6 |
an internal class used in the implementation of concurrent_queue.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 2.2 Update 3 commercial-aligned release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 2.2 Update 2 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- PDF documentation updated.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- concurrent_hash_map compatibility issue exposed on Linux in case
|
|
Petr Machata |
657e0b6 |
two versions of the container were used by different modules.
|
|
Petr Machata |
657e0b6 |
- enforce 16 byte stack alignment for consistence with GCC; required
|
|
Petr Machata |
657e0b6 |
to work correctly with 128-bit variables processed by SSE.
|
|
Petr Machata |
657e0b6 |
- construct() methods of allocator classes now use global operator new.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 2.2 Update 2 commercial-aligned release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 2.2 Update 1 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- parallel_invoke and parallel_for_each now take function objects
|
|
Petr Machata |
657e0b6 |
by const reference, not by value.
|
|
Petr Machata |
657e0b6 |
- Building TBB with /MT is supported, to avoid dependency on particular
|
|
Petr Machata |
657e0b6 |
versions of Visual C++* runtime DLLs. TBB DLLs built with /MT
|
|
Petr Machata |
657e0b6 |
are located in vc_mt directory.
|
|
Petr Machata |
657e0b6 |
- Class critical_section introduced.
|
|
Petr Machata |
657e0b6 |
- Improvements in exception support: new exception classes introduced,
|
|
Petr Machata |
657e0b6 |
all exceptions are thrown via an out-of-line internal method.
|
|
Petr Machata |
657e0b6 |
- Improvements and fixes in the TBB allocator and malloc replacement,
|
|
Petr Machata |
657e0b6 |
including robust memory identification, and more reliable dynamic
|
|
Petr Machata |
657e0b6 |
function substitution on Windows*.
|
|
Petr Machata |
657e0b6 |
- Method swap() added to class tbb_thread.
|
|
Petr Machata |
657e0b6 |
- Methods rehash() and bucket_count() added to concurrent_hash_map.
|
|
Petr Machata |
657e0b6 |
- Added support for Visual Studio* 2010 Beta2. No special binaries
|
|
Petr Machata |
657e0b6 |
provided, but CRT-independent DLLs (vc_mt) should work.
|
|
Petr Machata |
657e0b6 |
- Other fixes and improvements in code, tests, examples, and docs.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Open-source contributions integrated:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- The fix to build 32-bit TBB on Mac OS* X 10.6.
|
|
Petr Machata |
657e0b6 |
- GCC-based port for SPARC Solaris by Michailo Matijkiw, with use of
|
|
Petr Machata |
657e0b6 |
earlier work by Raf Schietekat.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- 159 - TBB build for PowerPC* running Mac OS* X.
|
|
Petr Machata |
657e0b6 |
- 160 - IBM* Java segfault if used with TBB allocator.
|
|
Petr Machata |
657e0b6 |
- crash in concurrent_queue<char> (1616).
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 2.2 Update 1 commercial-aligned release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 2.2 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Incorporates all changes from open-source releases below.
|
|
Petr Machata |
657e0b6 |
- Documentation was updated.
|
|
Petr Machata |
657e0b6 |
- TBB scheduler auto-initialization now covers all possible use cases.
|
|
Petr Machata |
657e0b6 |
- concurrent_queue: made argument types of sizeof used in paddings
|
|
Petr Machata |
657e0b6 |
consistent with those actually used.
|
|
Petr Machata |
657e0b6 |
- Memory allocator was improved: supported corner case of user's malloc
|
|
Petr Machata |
657e0b6 |
calling scalable_malloc (non-Windows), corrected processing of
|
|
Petr Machata |
657e0b6 |
memory allocation requests during tbb memory allocator startup
|
|
Petr Machata |
657e0b6 |
(Linux).
|
|
Petr Machata |
657e0b6 |
- Windows malloc replacement has got better support for static objects.
|
|
Petr Machata |
657e0b6 |
- In pipeline setups that do not allow actual parallelism, execution
|
|
Petr Machata |
657e0b6 |
by a single thread is guaranteed, idle spinning eliminated, and
|
|
Petr Machata |
657e0b6 |
performance improved.
|
|
Petr Machata |
657e0b6 |
- RML refactoring and clean-up.
|
|
Petr Machata |
657e0b6 |
- New constructor for concurrent_hash_map allows reserving space for
|
|
Petr Machata |
657e0b6 |
a number of items.
|
|
Petr Machata |
657e0b6 |
- Operator delete() added to the TBB exception classes.
|
|
Petr Machata |
657e0b6 |
- Lambda support was improved in parallel_reduce.
|
|
Petr Machata |
657e0b6 |
- gcc 4.3 warnings were fixed for concurrent_queue.
|
|
Petr Machata |
657e0b6 |
- Fixed possible initialization deadlock in modules using TBB entities
|
|
Petr Machata |
657e0b6 |
during construction of global static objects.
|
|
Petr Machata |
657e0b6 |
- Copy constructor in concurrent_hash_map was fixed.
|
|
Petr Machata |
657e0b6 |
- Fixed a couple of rare crashes in the scheduler possible before
|
|
Petr Machata |
657e0b6 |
in very specific use cases.
|
|
Petr Machata |
657e0b6 |
- Fixed a rare crash in the TBB allocator running out of memory.
|
|
Petr Machata |
657e0b6 |
- New tests were implemented, including test_lambda.cpp that checks
|
|
Petr Machata |
657e0b6 |
support for lambda expressions.
|
|
Petr Machata |
657e0b6 |
- A few other small changes in code, tests, and documentation.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20090809 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 2.2 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Fixed known exception safety issues in concurrent_vector.
|
|
Petr Machata |
657e0b6 |
- Better concurrency of simultaneous grow requests in concurrent_vector.
|
|
Petr Machata |
657e0b6 |
- TBB allocator further improves performance of large object allocation.
|
|
Petr Machata |
657e0b6 |
- Problem with source of text relocations was fixed on Linux
|
|
Petr Machata |
657e0b6 |
- Fixed bugs related to malloc replacement under Windows
|
|
Petr Machata |
657e0b6 |
- A few other small changes in code and documentation.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 2.2 commercial-aligned release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 2.1 U4 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Incorporates all changes from open-source releases below.
|
|
Petr Machata |
657e0b6 |
- Architecture folders renamed from em64t to intel64 and from itanium
|
|
Petr Machata |
657e0b6 |
to ia64.
|
|
Petr Machata |
657e0b6 |
- Major Interface version changed from 3 to 4. Deprecated interfaces
|
|
Petr Machata |
657e0b6 |
might be removed in future releases.
|
|
Petr Machata |
657e0b6 |
- Parallel algorithms that use partitioners have switched to use
|
|
Petr Machata |
657e0b6 |
the auto_partitioner by default.
|
|
Petr Machata |
657e0b6 |
- Improved memory allocator performance for allocations bigger than 8K.
|
|
Petr Machata |
657e0b6 |
- Added new thread-bound filters functionality for pipeline.
|
|
Petr Machata |
657e0b6 |
- New implementation of concurrent_hash_map that improves performance
|
|
Petr Machata |
657e0b6 |
significantly.
|
|
Petr Machata |
657e0b6 |
- A few other small changes in code and documentation.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20090511 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Basic support for MinGW32 development kit.
|
|
Petr Machata |
657e0b6 |
- Added tbb::zero_allocator class that initializes memory with zeros.
|
|
Petr Machata |
657e0b6 |
It can be used as an adaptor to any STL-compatible allocator class.
|
|
Petr Machata |
657e0b6 |
- Added tbb::parallel_for_each template function as alias to parallel_do.
|
|
Petr Machata |
657e0b6 |
- Added more overloads for tbb::parallel_for.
|
|
Petr Machata |
657e0b6 |
- Added support for exact exception propagation (can only be used with
|
|
Petr Machata |
657e0b6 |
compilers that support C++0x std::exception_ptr).
|
|
Petr Machata |
657e0b6 |
- tbb::atomic template class can be used with enumerations.
|
|
Petr Machata |
657e0b6 |
- mutex, recursive_mutex, spin_mutex, spin_rw_mutex classes extended
|
|
Petr Machata |
657e0b6 |
with explicit lock/unlock methods.
|
|
Petr Machata |
657e0b6 |
- Fixed size() and grow_to_at_least() methods of tbb::concurrent_vector
|
|
Petr Machata |
657e0b6 |
to provide space allocation guarantees. More methods added for
|
|
Petr Machata |
657e0b6 |
compatibility with std::vector, including some from C++0x.
|
|
Petr Machata |
657e0b6 |
- Preview of a lambda-friendly interface for low-level use of tasks.
|
|
Petr Machata |
657e0b6 |
- scalable_msize function added to the scalable allocator (Windows only).
|
|
Petr Machata |
657e0b6 |
- Rationalized internal auxiliary functions for spin-waiting and backoff.
|
|
Petr Machata |
657e0b6 |
- Several tests undergo decent refactoring.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes affecting backward compatibility:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Improvements in concurrent_queue, including limited API changes.
|
|
Petr Machata |
657e0b6 |
The previous version is deprecated; its functionality is accessible
|
|
Petr Machata |
657e0b6 |
via methods of the new tbb::concurrent_bounded_queue class.
|
|
Petr Machata |
657e0b6 |
- grow* and push_back methods of concurrent_vector changed to return
|
|
Petr Machata |
657e0b6 |
iterators; old semantics is deprecated.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 2.1 Update 4 commercial-aligned release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 2.1 U3 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Added tests for aligned memory allocations and malloc replacement.
|
|
Petr Machata |
657e0b6 |
- Several improvements for better bundling with Intel(R) C++ Compiler.
|
|
Petr Machata |
657e0b6 |
- A few other small changes in code and documentaion.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- 150 - request to build TBB examples with debug info in release mode.
|
|
Petr Machata |
657e0b6 |
- backward compatibility issue with concurrent_queue on Windows.
|
|
Petr Machata |
657e0b6 |
- dependency on VS 2005 SP1 runtime libraries removed.
|
|
Petr Machata |
657e0b6 |
- compilation of GUI examples under Xcode* 3.1 (1577).
|
|
Petr Machata |
657e0b6 |
- On Windows, TBB allocator classes can be instantiated with const types
|
|
Petr Machata |
657e0b6 |
for compatibility with MS implementation of STL containers (1566).
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20090313 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. 20081109 open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Includes all changes introduced in TBB 2.1 Update 2 & Update 3
|
|
Petr Machata |
657e0b6 |
commercial-aligned releases (see below for details).
|
|
Petr Machata |
657e0b6 |
- Added tbb::parallel_invoke template function. It runs up to 10
|
|
Petr Machata |
657e0b6 |
user-defined functions in parallel and waits for them to complete.
|
|
Petr Machata |
657e0b6 |
- Added a special library providing ability to replace the standard
|
|
Petr Machata |
657e0b6 |
memory allocation routines in Microsoft* C/C++ RTL (malloc/free,
|
|
Petr Machata |
657e0b6 |
global new/delete, etc.) with the TBB memory allocator.
|
|
Petr Machata |
657e0b6 |
Usage details are described in include/tbb/tbbmalloc_proxy.h file.
|
|
Petr Machata |
657e0b6 |
- Task scheduler switched to use new implementation of its core
|
|
Petr Machata |
657e0b6 |
functionality (deque based task pool, new structure of arena slots).
|
|
Petr Machata |
657e0b6 |
- Preview of Microsoft* Visual Studio* 2005 project files for
|
|
Petr Machata |
657e0b6 |
building the library is available in build/vsproject folder.
|
|
Petr Machata |
657e0b6 |
- Added tests for aligned memory allocations and malloc replacement.
|
|
Petr Machata |
657e0b6 |
- Added parallel_for/game_of_life.net example (for Windows only)
|
|
Petr Machata |
657e0b6 |
showing TBB usage in a .NET application.
|
|
Petr Machata |
657e0b6 |
- A number of other fixes and improvements to code, tests, makefiles,
|
|
Petr Machata |
657e0b6 |
examples and documents.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- The same list as in TBB 2.1 Update 4 right above.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 2.1 Update 3 commercial-aligned release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 2.1 U2 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Added support for aligned allocations to the TBB memory allocator.
|
|
Petr Machata |
657e0b6 |
- Added a special library to use with LD_PRELOAD on Linux* in order to
|
|
Petr Machata |
657e0b6 |
replace the standard memory allocation routines in C/C++ with the
|
|
Petr Machata |
657e0b6 |
TBB memory allocator.
|
|
Petr Machata |
657e0b6 |
- Added null_mutex and null_rw_mutex: no-op classes interface-compliant
|
|
Petr Machata |
657e0b6 |
to other TBB mutexes.
|
|
Petr Machata |
657e0b6 |
- Improved performance of parallel_sort, to close most of the serial gap
|
|
Petr Machata |
657e0b6 |
with std::sort, and beat it on 2 and more cores.
|
|
Petr Machata |
657e0b6 |
- A few other small changes.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- the problem where parallel_for hanged after exception throw
|
|
Petr Machata |
657e0b6 |
if affinity_partitioner was used (1556).
|
|
Petr Machata |
657e0b6 |
- get rid of VS warnings about mbstowcs deprecation (1560),
|
|
Petr Machata |
657e0b6 |
as well as some other warnings.
|
|
Petr Machata |
657e0b6 |
- operator== for concurrent_vector::iterator fixed to work correctly
|
|
Petr Machata |
657e0b6 |
with different vector instances.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 2.1 Update 2 commercial-aligned release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 2.1 U1 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Incorporates all open-source-release changes down to TBB 2.1 U1,
|
|
Petr Machata |
657e0b6 |
except for:
|
|
Petr Machata |
657e0b6 |
- 20081019 addition of enumerable_thread_specific;
|
|
Petr Machata |
657e0b6 |
- Warning level for Microsoft* Visual C++* compiler raised to /W4 /Wp64;
|
|
Petr Machata |
657e0b6 |
warnings found on this level were cleaned or suppressed.
|
|
Petr Machata |
657e0b6 |
- Added TBB_runtime_interface_version API function.
|
|
Petr Machata |
657e0b6 |
- Added new example: pipeline/square.
|
|
Petr Machata |
657e0b6 |
- Added exception handling and cancellation support
|
|
Petr Machata |
657e0b6 |
for parallel_do and pipeline.
|
|
Petr Machata |
657e0b6 |
- Added copy constructor and [begin,end) constructor to concurrent_queue.
|
|
Petr Machata |
657e0b6 |
- Added some support for beta version of Intel(R) Parallel Amplifier.
|
|
Petr Machata |
657e0b6 |
- Added scripts to set environment for cross-compilation of 32-bit
|
|
Petr Machata |
657e0b6 |
applications on 64-bit Linux with Intel(R) C++ Compiler.
|
|
Petr Machata |
657e0b6 |
- Fixed semantics of concurrent_vector::clear() to not deallocate
|
|
Petr Machata |
657e0b6 |
internal arrays. Fixed compact() to perform such deallocation later.
|
|
Petr Machata |
657e0b6 |
- Fixed the issue with atomic<T*> when T is incomplete type.
|
|
Petr Machata |
657e0b6 |
- Improved support for PowerPC* Macintosh*, including the fix
|
|
Petr Machata |
657e0b6 |
for a bug in masked compare-and-swap reported by a customer.
|
|
Petr Machata |
657e0b6 |
- As usual, a number of other improvements everywhere.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20081109 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Added new serial out of order filter for tbb::pipeline.
|
|
Petr Machata |
657e0b6 |
- Fixed the issue with atomic<T*>::operator= reported at the forum.
|
|
Petr Machata |
657e0b6 |
- Fixed the issue with using tbb::task::self() in task destructor
|
|
Petr Machata |
657e0b6 |
reported at the forum.
|
|
Petr Machata |
657e0b6 |
- A number of other improvements to code, tests, makefiles, examples
|
|
Petr Machata |
657e0b6 |
and documents.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Open-source contributions integrated:
|
|
Petr Machata |
657e0b6 |
- Changes in the memory allocator were partially integrated.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20081019 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Introduced enumerable_thread_specific<T>. This new class provides a
|
|
Petr Machata |
657e0b6 |
wrapper around native thread local storage as well as iterators and
|
|
Petr Machata |
657e0b6 |
ranges for accessing the thread local copies (1533).
|
|
Petr Machata |
657e0b6 |
- Improved support for Intel(R) Threading Analysis Tools
|
|
Petr Machata |
657e0b6 |
on Intel(R) 64 architecture.
|
|
Petr Machata |
657e0b6 |
- Dependency from Microsoft* CRT was integrated to the libraries using
|
|
Petr Machata |
657e0b6 |
manifests, to avoid issues if called from code that uses different
|
|
Petr Machata |
657e0b6 |
version of Visual C++* runtime than the library.
|
|
Petr Machata |
657e0b6 |
- Introduced new defines TBB_USE_ASSERT, TBB_USE_DEBUG,
|
|
Petr Machata |
657e0b6 |
TBB_USE_PERFORMANCE_WARNINGS, TBB_USE_THREADING_TOOLS.
|
|
Petr Machata |
657e0b6 |
- A number of other improvements to code, tests, makefiles, examples
|
|
Petr Machata |
657e0b6 |
and documents.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Open-source contributions integrated:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- linker optimization: /incremental:no .
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20080925 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Same fix for a memory leak in the memory allocator as in TBB 2.1 U1.
|
|
Petr Machata |
657e0b6 |
- Improved support for lambda functions.
|
|
Petr Machata |
657e0b6 |
- Fixed more concurrent_queue issues reported at the forum.
|
|
Petr Machata |
657e0b6 |
- A number of other improvements to code, tests, makefiles, examples
|
|
Petr Machata |
657e0b6 |
and documents.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 2.1 Update 1 commercial-aligned release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 2.1 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Fixed small memory leak in the memory allocator.
|
|
Petr Machata |
657e0b6 |
- Incorporates all open-source-release changes since TBB 2.1, except for:
|
|
Petr Machata |
657e0b6 |
- 20080825 changes for parallel_do;
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20080825 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Added exception handling and cancellation support for parallel_do.
|
|
Petr Machata |
657e0b6 |
- Added default HashCompare template argument for concurrent_hash_map.
|
|
Petr Machata |
657e0b6 |
- Fixed concurrent_queue.clear() issues due to incorrect assumption
|
|
Petr Machata |
657e0b6 |
about clear() being private method.
|
|
Petr Machata |
657e0b6 |
- Added the possibility to use TBB in applications that change
|
|
Petr Machata |
657e0b6 |
default calling conventions (Windows* only).
|
|
Petr Machata |
657e0b6 |
- Many improvements to code, tests, examples, makefiles and documents.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- 120, 130 - memset declaration missed in concurrent_hash_map.h
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20080724 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Inline assembly for atomic operations improved for gcc 4.3
|
|
Petr Machata |
657e0b6 |
- A few more improvements to the code.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20080709 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- operator=() was added to the tbb_thread class according to
|
|
Petr Machata |
657e0b6 |
the current working draft for std::thread.
|
|
Petr Machata |
657e0b6 |
- Recognizing SPARC* in makefiles for Linux* and Sun Solaris*.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- 127 - concurrent_hash_map::range fixed to split correctly.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Open-source contributions integrated:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- fix_set_midpoint.diff by jyasskin
|
|
Petr Machata |
657e0b6 |
- SPARC* support in makefiles by Raf Schietekat
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20080622 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Fixed a hang that rarely happened on Linux
|
|
Petr Machata |
657e0b6 |
during deinitialization of the TBB scheduler.
|
|
Petr Machata |
657e0b6 |
- Improved support for Intel(R) Thread Checker.
|
|
Petr Machata |
657e0b6 |
- A few more improvements to the code.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 2.1 commercial-aligned release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 2.0 U3 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- All open-source-release changes down to, and including, TBB 2.0 below,
|
|
Petr Machata |
657e0b6 |
were incorporated into this release.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20080605 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Explicit control of exported symbols by version scripts added on Linux.
|
|
Petr Machata |
657e0b6 |
- Interfaces polished for exception handling & algorithm cancellation.
|
|
Petr Machata |
657e0b6 |
- Cache behavior improvements in the scalable allocator.
|
|
Petr Machata |
657e0b6 |
- Improvements in text_filter, polygon_overlay, and other examples.
|
|
Petr Machata |
657e0b6 |
- A lot of other stability improvements in code, tests, and makefiles.
|
|
Petr Machata |
657e0b6 |
- First release where binary packages include headers/docs/examples, so
|
|
Petr Machata |
657e0b6 |
binary packages are now self-sufficient for using TBB.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Open-source contributions integrated:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- atomics patch (partially).
|
|
Petr Machata |
657e0b6 |
- tick_count warning patch.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- 118 - fix for boost compatibility.
|
|
Petr Machata |
657e0b6 |
- 123 - fix for tbb_machine.h.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20080512 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Fixed a problem with backward binary compatibility
|
|
Petr Machata |
657e0b6 |
of debug Linux builds.
|
|
Petr Machata |
657e0b6 |
- Sun* Studio* support added.
|
|
Petr Machata |
657e0b6 |
- soname support added on Linux via linker script. To restore backward
|
|
Petr Machata |
657e0b6 |
binary compatibility, *.so -> *.so.2 softlinks should be created.
|
|
Petr Machata |
657e0b6 |
- concurrent_hash_map improvements - added few new forms of insert()
|
|
Petr Machata |
657e0b6 |
method and fixed precondition and guarantees of erase() methods.
|
|
Petr Machata |
657e0b6 |
Added runtime warning reporting about bad hash function used for
|
|
Petr Machata |
657e0b6 |
the container. Various improvements for performance and concurrency.
|
|
Petr Machata |
657e0b6 |
- Cancellation mechanism reworked so that it does not hurt scalability.
|
|
Petr Machata |
657e0b6 |
- Algorithm parallel_do reworked. Requirement for Body::argument_type
|
|
Petr Machata |
657e0b6 |
definition removed, and work item argument type can be arbitrarily
|
|
Petr Machata |
657e0b6 |
cv-qualified.
|
|
Petr Machata |
657e0b6 |
- polygon_overlay example added.
|
|
Petr Machata |
657e0b6 |
- A few more improvements to code, tests, examples and Makefiles.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Open-source contributions integrated:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Soname support patch for Bugzilla #112.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- 112 - fix for soname support.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 2.0 U3 commercial-aligned release (package 017, April 20, 2008)
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Corresponds to commercial 019 (for Linux*, 020; for Mac OS* X, 018)
|
|
Petr Machata |
657e0b6 |
packages.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 2.0 U2 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Does not contain open-source-release changes below; this release is
|
|
Petr Machata |
657e0b6 |
only a minor update of TBB 2.0 U2.
|
|
Petr Machata |
657e0b6 |
- Removed spin-waiting in pipeline and concurrent_queue.
|
|
Petr Machata |
657e0b6 |
- A few more small bug fixes from open-source releases below.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20080408 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- count_strings example reworked: new word generator implemented, hash
|
|
Petr Machata |
657e0b6 |
function replaced, and tbb_allocator is used with std::string class.
|
|
Petr Machata |
657e0b6 |
- Static methods of spin_rw_mutex were replaced by normal member
|
|
Petr Machata |
657e0b6 |
functions, and the class name was versioned.
|
|
Petr Machata |
657e0b6 |
- tacheon example was renamed to tachyon.
|
|
Petr Machata |
657e0b6 |
- Improved support for Intel(R) Thread Checker.
|
|
Petr Machata |
657e0b6 |
- A few more minor improvements.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Open-source contributions integrated:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Two sets of Sun patches for IA Solaris support.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20080402 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Exception handling and cancellation support for tasks and algorithms
|
|
Petr Machata |
657e0b6 |
fully enabled.
|
|
Petr Machata |
657e0b6 |
- Exception safety guaranties defined and fixed for all concurrent
|
|
Petr Machata |
657e0b6 |
containers.
|
|
Petr Machata |
657e0b6 |
- User-defined memory allocator support added to all concurrent
|
|
Petr Machata |
657e0b6 |
containers.
|
|
Petr Machata |
657e0b6 |
- Performance improvement of concurrent_hash_map, spin_rw_mutex.
|
|
Petr Machata |
657e0b6 |
- Critical fix for a rare race condition during scheduler
|
|
Petr Machata |
657e0b6 |
initialization/de-initialization.
|
|
Petr Machata |
657e0b6 |
- New methods added for concurrent containers to be closer to STL,
|
|
Petr Machata |
657e0b6 |
as well as automatic filters removal from pipeline
|
|
Petr Machata |
657e0b6 |
and __TBB_AtomicAND function.
|
|
Petr Machata |
657e0b6 |
- The volatile keyword dropped from where it is not really needed.
|
|
Petr Machata |
657e0b6 |
- A few more minor improvements.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20080319 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Support for gcc version 4.3 was added.
|
|
Petr Machata |
657e0b6 |
- tbb_thread class, near compatible with std::thread expected in C++0x,
|
|
Petr Machata |
657e0b6 |
was added.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- 116 - fix for compilation issues with gcc version 4.2.1.
|
|
Petr Machata |
657e0b6 |
- 120 - fix for compilation issues with gcc version 4.3.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20080311 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- An enumerator added for pipeline filter types (serial vs. parallel).
|
|
Petr Machata |
657e0b6 |
- New task_scheduler_observer class introduced, to observe when
|
|
Petr Machata |
657e0b6 |
threads start and finish interacting with the TBB task scheduler.
|
|
Petr Machata |
657e0b6 |
- task_scheduler_init reverted to not use internal versioned class;
|
|
Petr Machata |
657e0b6 |
binary compatibility guaranteed with stable releases only.
|
|
Petr Machata |
657e0b6 |
- Various improvements to code, tests, examples and Makefiles.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20080304 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Task-to-thread affinity support, previously kept under a macro,
|
|
Petr Machata |
657e0b6 |
now fully legalized.
|
|
Petr Machata |
657e0b6 |
- Work-in-progress on cache_aligned_allocator improvements.
|
|
Petr Machata |
657e0b6 |
- Pipeline really supports parallel input stage; it's no more serialized.
|
|
Petr Machata |
657e0b6 |
- Various improvements to code, tests, examples and Makefiles.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- 119 - fix for scalable_malloc sometimes failing to return a big block.
|
|
Petr Machata |
657e0b6 |
- TR575 - fixed a deadlock occurring on Windows in startup/shutdown
|
|
Petr Machata |
657e0b6 |
under some conditions.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20080226 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Introduced tbb_allocator to select between standard allocator and
|
|
Petr Machata |
657e0b6 |
tbb::scalable_allocator when available.
|
|
Petr Machata |
657e0b6 |
- Removed spin-waiting in pipeline and concurrent_queue.
|
|
Petr Machata |
657e0b6 |
- Improved performance of concurrent_hash_map by using tbb_allocator.
|
|
Petr Machata |
657e0b6 |
- Improved support for Intel(R) Thread Checker.
|
|
Petr Machata |
657e0b6 |
- Various improvements to code, tests, examples and Makefiles.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 2.0 U2 commercial-aligned release (package 017, February 14, 2008)
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Corresponds to commercial 017 (for Linux*, 018; for Mac OS* X, 016)
|
|
Petr Machata |
657e0b6 |
packages.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 2.0 U1 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Does not contain open-source-release changes below; this release is
|
|
Petr Machata |
657e0b6 |
only a minor update of TBB 2.0 U1.
|
|
Petr Machata |
657e0b6 |
- Add support for Microsoft* Visual Studio* 2008, including binary
|
|
Petr Machata |
657e0b6 |
libraries and VS2008 projects for examples.
|
|
Petr Machata |
657e0b6 |
- Use SwitchToThread() not Sleep() to yield threads on Windows*.
|
|
Petr Machata |
657e0b6 |
- Enhancements to Doxygen-readable comments in source code.
|
|
Petr Machata |
657e0b6 |
- A few more small bug fixes from open-source releases below.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- TR569 - Memory leak in concurrent_queue.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20080207 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Improvements and minor fixes in VS2008 projects for examples.
|
|
Petr Machata |
657e0b6 |
- Improvements in code for gating worker threads that wait for work,
|
|
Petr Machata |
657e0b6 |
previously consolidated under #if IMPROVED_GATING, now legalized.
|
|
Petr Machata |
657e0b6 |
- Cosmetic changes in code, examples, tests.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- 113 - Iterators and ranges should be convertible to their const
|
|
Petr Machata |
657e0b6 |
counterparts.
|
|
Petr Machata |
657e0b6 |
- TR569 - Memory leak in concurrent_queue.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20080122 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Updated examples/parallel_for/seismic to improve the visuals and to
|
|
Petr Machata |
657e0b6 |
use the affinity_partitioner (20071127 and forward) for better
|
|
Petr Machata |
657e0b6 |
performance.
|
|
Petr Machata |
657e0b6 |
- Minor improvements to unittests and performance tests.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20080115 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Cleanup, simplifications and enhancements to the Makefiles for
|
|
Petr Machata |
657e0b6 |
building the libraries (see build/index.html for high-level
|
|
Petr Machata |
657e0b6 |
changes) and the examples.
|
|
Petr Machata |
657e0b6 |
- Use SwitchToThread() not Sleep() to yield threads on Windows*.
|
|
Petr Machata |
657e0b6 |
- Engineering work-in-progress on exception safety/support.
|
|
Petr Machata |
657e0b6 |
- Engineering work-in-progress on affinity_partitioner for
|
|
Petr Machata |
657e0b6 |
parallel_reduce.
|
|
Petr Machata |
657e0b6 |
- Engineering work-in-progress on improved gating for worker threads
|
|
Petr Machata |
657e0b6 |
(idle workers now block in the OS instead of spinning).
|
|
Petr Machata |
657e0b6 |
- Enhancements to Doxygen-readable comments in source code.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- 102 - Support for parallel build with gmake -j
|
|
Petr Machata |
657e0b6 |
- 114 - /Wp64 build warning on Windows*.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20071218 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Full support for Microsoft* Visual Studio* 2008 in open-source.
|
|
Petr Machata |
657e0b6 |
Binaries for vc9/ will be available in future stable releases.
|
|
Petr Machata |
657e0b6 |
- New recursive_mutex class.
|
|
Petr Machata |
657e0b6 |
- Full support for 32-bit PowerMac including export files for builds.
|
|
Petr Machata |
657e0b6 |
- Improvements to parallel_do.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20071206 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Support for Microsoft* Visual Studio* 2008 in building libraries
|
|
Petr Machata |
657e0b6 |
from source as well as in vc9/ projects for examples.
|
|
Petr Machata |
657e0b6 |
- Small fixes to the affinity_partitioner first introduced in 20071127.
|
|
Petr Machata |
657e0b6 |
- Small fixes to the thread-stack size hook first introduced in 20071127.
|
|
Petr Machata |
657e0b6 |
- Engineering work in progress on concurrent_vector.
|
|
Petr Machata |
657e0b6 |
- Engineering work in progress on exception behavior.
|
|
Petr Machata |
657e0b6 |
- Unittest improvements.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20071127 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Task-to-thread affinity support (affinity partitioner) first appears.
|
|
Petr Machata |
657e0b6 |
- More work on concurrent_vector.
|
|
Petr Machata |
657e0b6 |
- New parallel_do algorithm (function-style version of parallel while)
|
|
Petr Machata |
657e0b6 |
and parallel_do/parallel_preorder example.
|
|
Petr Machata |
657e0b6 |
- New task_scheduler_init() hooks for getting default_num_threads() and
|
|
Petr Machata |
657e0b6 |
for setting thread stack size.
|
|
Petr Machata |
657e0b6 |
- Support for weak memory consistency models in the code base.
|
|
Petr Machata |
657e0b6 |
- Futex usage in the task scheduler (Linux).
|
|
Petr Machata |
657e0b6 |
- Started adding 32-bit PowerMac support.
|
|
Petr Machata |
657e0b6 |
- Intel(R) 9.1 compilers are now the base supported Intel(R) compiler
|
|
Petr Machata |
657e0b6 |
version.
|
|
Petr Machata |
657e0b6 |
- TBB libraries added to link line automatically on Microsoft Windows*
|
|
Petr Machata |
657e0b6 |
systems via #pragma comment linker directives.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Open-source contributions integrated:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- FreeBSD platform support patches.
|
|
Petr Machata |
657e0b6 |
- AIX weak memory model patch.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- 108 - Removed broken affinity.h reference.
|
|
Petr Machata |
657e0b6 |
- 101 - Does not build on Debian Lenny (replaced arch with uname -m).
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20071030 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. previous open-source release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- More work on concurrent_vector.
|
|
Petr Machata |
657e0b6 |
- Better support for building with -Wall -Werror (or not) as desired.
|
|
Petr Machata |
657e0b6 |
- A few fixes to eliminate extraneous warnings.
|
|
Petr Machata |
657e0b6 |
- Begin introduction of versioning hooks so that the internal/API
|
|
Petr Machata |
657e0b6 |
version is tracked via TBB_INTERFACE_VERSION. The newest binary
|
|
Petr Machata |
657e0b6 |
libraries should always work with previously-compiled code when-
|
|
Petr Machata |
657e0b6 |
ever possible.
|
|
Petr Machata |
657e0b6 |
- Engineering work in progress on using futex inside the mutexes (Linux).
|
|
Petr Machata |
657e0b6 |
- Engineering work in progress on exception behavior.
|
|
Petr Machata |
657e0b6 |
- Engineering work in progress on a new parallel_do algorithm.
|
|
Petr Machata |
657e0b6 |
- Unittest improvements.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20070927 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 2.0 U1 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Minor update to TBB 2.0 U1 below.
|
|
Petr Machata |
657e0b6 |
- Begin introduction of new concurrent_vector interfaces not released
|
|
Petr Machata |
657e0b6 |
with TBB 2.0 U1.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 2.0 U1 commercial-aligned release (package 014, October 1, 2007)
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Corresponds to commercial 014 (for Linux*, 016) packages.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 2.0 commercial-aligned release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- All open-source-release changes down to, and including, TBB 2.0 below,
|
|
Petr Machata |
657e0b6 |
were incorporated into this release.
|
|
Petr Machata |
657e0b6 |
- Made a number of changes to the officially supported OS list:
|
|
Petr Machata |
657e0b6 |
Added Linux* OSs:
|
|
Petr Machata |
657e0b6 |
Asianux* 3, Debian* 4.0, Fedora Core* 6, Fedora* 7,
|
|
Petr Machata |
657e0b6 |
Turbo Linux* 11, Ubuntu* 7.04;
|
|
Petr Machata |
657e0b6 |
Dropped Linux* OSs:
|
|
Petr Machata |
657e0b6 |
Asianux* 2, Fedora Core* 4, Haansoft* Linux 2006 Server,
|
|
Petr Machata |
657e0b6 |
Mandriva/Mandrake* 10.1, Miracle Linux* 4.0,
|
|
Petr Machata |
657e0b6 |
Red Flag* DC Server 5.0;
|
|
Petr Machata |
657e0b6 |
Only Mac OS* X 10.4.9 (and forward) and Xcode* tool suite 2.4.1 (and
|
|
Petr Machata |
657e0b6 |
forward) are now supported.
|
|
Petr Machata |
657e0b6 |
- Commercial installers on Linux* fixed to recommend the correct
|
|
Petr Machata |
657e0b6 |
binaries to use in more cases, with less unnecessary warnings.
|
|
Petr Machata |
657e0b6 |
- Changes to eliminate spurious build warnings.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Open-source contributions integrated:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Two small header guard macro patches; it also fixed bug #94.
|
|
Petr Machata |
657e0b6 |
- New blocked_range3d class.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- 93 - Removed misleading comments in task.h.
|
|
Petr Machata |
657e0b6 |
- 94 - See above.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20070815 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Changes to eliminate spurious build warnings.
|
|
Petr Machata |
657e0b6 |
- Engineering work in progress on concurrent_vector allocator behavior.
|
|
Petr Machata |
657e0b6 |
- Added hooks to use the Intel(R) compiler code coverage tools.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Open-source contributions integrated:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Mac OS* X build warning patch.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Bugs fixed:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- 88 - Fixed TBB compilation errors if both VS2005 and Windows SDK are
|
|
Petr Machata |
657e0b6 |
installed.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
20070719 open-source release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Minor update to TBB 2.0 commercial-aligned release below.
|
|
Petr Machata |
657e0b6 |
- Changes to eliminate spurious build warnings.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 2.0 commercial-aligned release (package 010, July 19, 2007)
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Corresponds to commercial 010 (for Linux*, 012) packages.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- TBB open-source debut release.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 1.1 commercial release (April 10, 2007)
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 1.0 commercial release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- auto_partitioner which offered an automatic alternative to specifying
|
|
Petr Machata |
657e0b6 |
a grain size parameter to estimate the best granularity for tasks.
|
|
Petr Machata |
657e0b6 |
- The release was added to the Intel(R) C++ Compiler 10.0 Pro.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 1.0 Update 2 commercial release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 1.0 Update 1 commercial release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Mac OS* X 64-bit support added.
|
|
Petr Machata |
657e0b6 |
- Source packages for commercial releases introduced.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 1.0 Update 1 commercial-aligned release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 1.0 commercial release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Fix for critical package issue on Mac OS* X.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 1.0 commercial release (August 29, 2006)
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Changes (w.r.t. TBB 1.0 beta commercial release):
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- New namespace (and compatibility headers for old namespace).
|
|
Petr Machata |
657e0b6 |
Namespaces are tbb and tbb::internal and all classes are in the
|
|
Petr Machata |
657e0b6 |
underscore_style not the WindowsStyle.
|
|
Petr Machata |
657e0b6 |
- New class: scalable_allocator (and cache_aligned_allocator using that
|
|
Petr Machata |
657e0b6 |
if it exists).
|
|
Petr Machata |
657e0b6 |
- Added parallel_for/tacheon example.
|
|
Petr Machata |
657e0b6 |
- Removed C-style casts from headers for better C++ compliance.
|
|
Petr Machata |
657e0b6 |
- Bug fixes.
|
|
Petr Machata |
657e0b6 |
- Documentation improvements.
|
|
Petr Machata |
657e0b6 |
- Improved performance of the concurrent_hash_map class.
|
|
Petr Machata |
657e0b6 |
- Upgraded parallel_sort() to support STL-style random-access iterators
|
|
Petr Machata |
657e0b6 |
instead of just pointers.
|
|
Petr Machata |
657e0b6 |
- The Windows vs7_1 directories renamed to vs7.1 in examples.
|
|
Petr Machata |
657e0b6 |
- New class: spin version of reader-writer lock.
|
|
Petr Machata |
657e0b6 |
- Added push_back() interface to concurrent_vector().
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
TBB 1.0 beta commercial release
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Initial release.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Features / APIs:
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
- Concurrent containers: ConcurrentHashTable, ConcurrentVector,
|
|
Petr Machata |
657e0b6 |
ConcurrentQueue.
|
|
Petr Machata |
657e0b6 |
- Parallel algorithms: ParallelFor, ParallelReduce, ParallelScan,
|
|
Petr Machata |
657e0b6 |
ParallelWhile, Pipeline, ParallelSort.
|
|
Petr Machata |
657e0b6 |
- Support: AlignedSpace, BlockedRange (i.e., 1D), BlockedRange2D
|
|
Petr Machata |
657e0b6 |
- Task scheduler with multi-master support.
|
|
Petr Machata |
657e0b6 |
- Atomics: read, write, fetch-and-store, fetch-and-add, compare-and-swap.
|
|
Petr Machata |
657e0b6 |
- Locks: spin, reader-writer, queuing, OS-wrapper.
|
|
Petr Machata |
657e0b6 |
- Memory allocation: STL-style memory allocator that avoids false
|
|
Petr Machata |
657e0b6 |
sharing.
|
|
Petr Machata |
657e0b6 |
- Timers.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Tools Support:
|
|
Petr Machata |
657e0b6 |
- Intel(R) Thread Checker 3.0.
|
|
Petr Machata |
657e0b6 |
- Intel(R) Thread Profiler 3.0.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Documentation:
|
|
Petr Machata |
657e0b6 |
- First Use Documents: README.txt, INSTALL.txt, Release_Notes.txt,
|
|
Petr Machata |
657e0b6 |
Doc_Index.html, Getting_Started.pdf, Tutorial.pdf, Reference.pdf.
|
|
Petr Machata |
657e0b6 |
- Class hierarchy HTML pages (Doxygen).
|
|
Petr Machata |
657e0b6 |
- Tree of index.html pages for navigating the installed package, esp.
|
|
Petr Machata |
657e0b6 |
for the examples.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Examples:
|
|
Petr Machata |
657e0b6 |
- One for each of these TBB features: ConcurrentHashTable, ParallelFor,
|
|
Petr Machata |
657e0b6 |
ParallelReduce, ParallelWhile, Pipeline, Task.
|
|
Petr Machata |
657e0b6 |
- Live copies of examples from Getting_Started.pdf.
|
|
Petr Machata |
657e0b6 |
- TestAll example that exercises every class and header in the package
|
|
Petr Machata |
657e0b6 |
(i.e., a "liveness test").
|
|
Petr Machata |
657e0b6 |
- Compilers: see Release_Notes.txt.
|
|
Petr Machata |
657e0b6 |
- APIs: OpenMP, WinThreads, Pthreads.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
Packaging:
|
|
Petr Machata |
657e0b6 |
- Package for Windows installs IA-32 and EM64T bits.
|
|
Petr Machata |
657e0b6 |
- Package for Linux installs IA-32, EM64T and IPF bits.
|
|
Petr Machata |
657e0b6 |
- Package for Mac OS* X installs IA-32 bits.
|
|
Petr Machata |
657e0b6 |
- All packages support Intel(R) software setup assistant (ISSA) and
|
|
Petr Machata |
657e0b6 |
install-time FLEXlm license checking.
|
|
Petr Machata |
657e0b6 |
- ISSA support allows license file to be specified directly in case of
|
|
Petr Machata |
657e0b6 |
no Internet connection or problems with IRC or serial #s.
|
|
Petr Machata |
657e0b6 |
- Linux installer allows root or non-root, RPM or non-RPM installs.
|
|
Petr Machata |
657e0b6 |
- FLEXlm license servers (for those who need floating/counted licenses)
|
|
Petr Machata |
657e0b6 |
are provided separately on Intel(R) Premier.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
------------------------------------------------------------------------
|
|
Petr Machata |
657e0b6 |
Intel and Cilk are registered trademarks or trademarks of Intel Corporation or its
|
|
Petr Machata |
657e0b6 |
subsidiaries in the United States and other countries.
|
|
Petr Machata |
657e0b6 |
|
|
Petr Machata |
657e0b6 |
* Other names and brands may be claimed as the property of others.
|