2
2
The list of most significant changes made over time in
3
3
Intel(R) Threading Building Blocks (Intel(R) TBB).
4
4
5
+ Intel TBB 4.4 Update 1
6
+ TBB_INTERFACE_VERSION == 9001
7
+
8
+ Changes (w.r.t. Intel TBB 4.4):
9
+
10
+ - Added support for Microsoft* Visual Studio* 2015.
11
+ - Intel TBB no longer performs dynamic replacement of memory allocation
12
+ functions for Microsoft Visual Studio 2005 and earlier versions.
13
+ - For GCC 4.7 and higher, the intrinsics-based platform isolation layer
14
+ uses __atomic_* built-ins instead of the legacy __sync_* ones.
15
+ This change is inspired by a contribution from Mathieu Malaterre.
16
+ - Improvements in task_arena:
17
+ Several application threads may join a task_arena and execute tasks
18
+ simultaneously. The amount of concurrency reserved for application
19
+ threads at task_arena construction can be set to any value between
20
+ 0 and the arena concurrency limit.
21
+ - The fractal example was modified to demonstrate class task_arena
22
+ and moved to examples/task_arena/fractal.
23
+
24
+ Bugs fixed:
25
+
26
+ - Fixed a deadlock during destruction of task_scheduler_init objects
27
+ when one of destructors is set to wait for worker threads.
28
+ - Added a workaround for a possible crash on OS X* when dynamic memory
29
+ allocator replacement (libtbbmalloc_proxy) is used and memory is
30
+ released during application startup.
31
+ - Usage of mutable functors with task_group::run_and_wait() and
32
+ task_arena::enqueue() is disabled. An attempt to pass a functor
33
+ which operator()() is not const will produce compilation errors.
34
+ - Makefiles and environment scripts now properly recognize GCC 5.0 and
35
+ higher.
36
+
37
+ Open-source contributions integrated:
38
+
39
+ - Improved performance of parallel_for_each for inputs allowing random
40
+ access, by Raf Schietekat.
41
+
42
+ ------------------------------------------------------------------------
5
43
Intel TBB 4.4
6
44
TBB_INTERFACE_VERSION == 9000
7
45
46
+ Changes (w.r.t. Intel TBB 4.3 Update 6):
47
+
8
48
- The following features are now fully supported:
9
49
tbb::flow::composite_node;
10
50
additional policies of tbb::flow::graph_node::reset().
@@ -60,13 +100,15 @@ Intel TBB 4.3 Update 6
60
100
TBB_INTERFACE_VERSION == 8006
61
101
62
102
Changes (w.r.t. Intel TBB 4.3 Update 5):
103
+
63
104
- Supported zero-copy realloc for objects >1MB under Linux* via
64
105
mremap system call.
65
106
- C++11 move-aware insert and emplace methods have been added to
66
107
concurrent_hash_map container.
67
108
- install_name is set to @rpath/<library name> on OS X*.
68
109
69
110
Preview Features:
111
+
70
112
- Added template class async_node to the flow graph API. It allows a
71
113
flow graph to communicate with an external activity managed by
72
114
the user or another runtime.
@@ -75,6 +117,7 @@ Preview Features:
75
117
- extract() method of graph nodes now takes no arguments.
76
118
77
119
Bugs fixed:
120
+
78
121
- concurrent_unordered_{set,map} behaves correctly for degenerate
79
122
hashes.
80
123
- Fixed a race condition in the memory allocator that may lead to
@@ -85,9 +128,11 @@ Intel TBB 4.3 Update 5
85
128
TBB_INTERFACE_VERSION == 8005
86
129
87
130
Changes (w.r.t. Intel TBB 4.3 Update 4):
131
+
88
132
- Added add_ref_count() method of class tbb::task.
89
133
90
134
Preview Features:
135
+
91
136
- Added class global_control for application-wide control of allowed
92
137
parallelism and thread stack size.
93
138
- memory_pool_allocator now throws the std::bad_alloc exception on
@@ -96,6 +141,7 @@ Preview Features:
96
141
std::bad_alloc to std::invalid_argument and std::runtime_error.
97
142
98
143
Bugs fixed:
144
+
99
145
- scalable_allocator now throws the std::bad_alloc exception on
100
146
allocation failure.
101
147
- Fixed a race condition in the memory allocator that may lead to
@@ -104,6 +150,7 @@ Bugs fixed:
104
150
might be unable to modify the number of worker threads.
105
151
106
152
Open-source contributions integrated:
153
+
107
154
- (Added but not enabled) push_front() method of class tbb::task_list
108
155
by Raf Schietekat.
109
156
@@ -112,6 +159,7 @@ Intel TBB 4.3 Update 4
112
159
TBB_INTERFACE_VERSION == 8004
113
160
114
161
Changes (w.r.t. Intel TBB 4.3 Update 3):
162
+
115
163
- Added a C++11 variadic constructor for enumerable_thread_specific.
116
164
The arguments from this constructor are used to construct
117
165
thread-local values.
@@ -123,6 +171,7 @@ Changes (w.r.t. Intel TBB 4.3 Update 3):
123
171
concurrent unordered containers.
124
172
125
173
Preview Features:
174
+
126
175
- Interface-breaking change: typedefs changed for node predecessor and
127
176
successor lists, affecting copy_predecessors and copy_successors
128
177
methods.
@@ -132,6 +181,7 @@ Preview Features:
132
181
automatically using the node port with index 0 for an edge.
133
182
134
183
Open-source contributions integrated:
184
+
135
185
- Draft code for enumerable_thread_specific constructor with multiple
136
186
arguments (see above) by Adrien Guinet.
137
187
- Fix for GCC invocation on IBM* Blue Gene*
0 commit comments