parent
							
								
									89710d5275
								
							
						
					
					
						commit
						657e0b6918
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -6,3 +6,4 @@ Getting_Started.pdf | ||||
| /Design_Patterns.pdf | ||||
| tbb*/ | ||||
| /tbb40_20110809oss_src.tgz | ||||
| /tbb40_20120408oss_src.tgz | ||||
|  | ||||
							
								
								
									
										168
									
								
								CHANGES.txt
									
									
									
									
									
								
							
							
						
						
									
										168
									
								
								CHANGES.txt
									
									
									
									
									
								
							| @ -1,26 +1,143 @@ | ||||
| TBB 4.0 Update 4 | ||||
| 
 | ||||
| Changes (w.r.t. TBB 4.0 Update 3): | ||||
| 
 | ||||
| - The TBB memory allocator transparently supports large pages on Linux. | ||||
| - A new flow_graph example, logic_sim, was added. | ||||
| - Support for DirectX* 9 was added to GUI examples. | ||||
| 
 | ||||
| Community Preview Features: | ||||
| 
 | ||||
| - Added: aggregator, a new concurrency control mechanism. | ||||
| 
 | ||||
| Bugs fixed: | ||||
| 
 | ||||
| - The abort operation on concurrent_bounded_queue now leaves the queue | ||||
|     in a reusable state. If a bad_alloc or bad_last_alloc exception is | ||||
|     thrown while the queue is recovering from an abort, that exception | ||||
|     will be reported instead of user_abort on the thread on which it | ||||
|     occurred, and the queue will not be reusable. | ||||
| - Steal limiting heuristic fixed to avoid premature stealing disabling | ||||
|     when large amount of __thread data is allocated on thread stack. | ||||
| - Fixed a low-probability leak of arenas in the task scheduler. | ||||
| - In STL-compatible allocator classes, the method construct() was fixed | ||||
|     to comply with C++11 requirements. | ||||
| - Fixed a bug that prevented creation of fixed-size memory pools | ||||
|     smaller than 2M. | ||||
| - Significantly reduced the amount of warnings from various compilers. | ||||
| 
 | ||||
| Open-source contributions integrated: | ||||
| 
 | ||||
| - Multiple improvements by Raf Schietekat. | ||||
| - Basic support for Clang on Mac OS X* by Blas Rodriguez Somoza. | ||||
| - Fixes for warnings and corner-case bugs by Blas Rodriguez Somoza | ||||
|     and Edward Lam. | ||||
| 
 | ||||
| ------------------------------------------------------------------------ | ||||
| TBB 4.0 Update 3 | ||||
| 
 | ||||
| Changes (w.r.t. TBB 4.0 Update 2): | ||||
| 
 | ||||
| - Modifications to the low-level API for memory pools: | ||||
|     added support for aligned allocations; | ||||
|     pool policies reworked to allow backward-compatible extensions; | ||||
|     added a policy to not return memory space till destruction; | ||||
|     pool_reset() does not return memory space anymore. | ||||
| - Class tbb::flow::graph_iterator added to iterate over all nodes | ||||
|     registered with a graph instance. | ||||
| - multioutput_function_node has been renamed multifunction_node. | ||||
|     multifunction_node and split_node are now fully-supported features. | ||||
| - For the tagged join node, the policy for try_put of an item with | ||||
|     already existing tag has been defined: the item will be rejected. | ||||
| - Matching the behavior on Windows, on other platforms the optional | ||||
|     shared libraries (libtbbmalloc, libirml) now are also searched | ||||
|     only in the directory where libtbb is located. | ||||
| - The platform isolation layer based on GCC built-ins is extended. | ||||
| 
 | ||||
| Backward-incompatible API changes: | ||||
| 
 | ||||
| - a graph reference parameter is now required to be passed to the | ||||
|     constructors of the following flow graph nodes: overwrite_node,  | ||||
|     write_once_node, broadcast_node, and the CPF or_node. | ||||
| - the following tbb::flow node methods and typedefs have been renamed: | ||||
|        Old                             New | ||||
|     join_node and or_node: | ||||
|        inputs()                 ->     input_ports() | ||||
|        input_ports_tuple_type   ->     input_ports_type | ||||
|     multifunction_node and split_node: | ||||
|        ports_type               ->     output_ports_type | ||||
| 
 | ||||
| Bugs fixed: | ||||
| 
 | ||||
| - Not all logical processors were utilized on systems with more than | ||||
|     64 cores split by Windows into several processor groups. | ||||
| 
 | ||||
| ------------------------------------------------------------------------ | ||||
| TBB 4.0 Update 2 commercial-aligned release | ||||
| 
 | ||||
| Changes (w.r.t. TBB 4.0 Update 1 commercial-aligned release): | ||||
| 
 | ||||
| - concurrent_bounded_queue now has an abort() operation that releases  | ||||
|     threads involved in pending push or pop operations. The released  | ||||
|     threads will receive a tbb::user_abort exception. | ||||
| - Added Community Preview Feature:  concurrent_lru_cache container,  | ||||
|     a concurrent implementation of LRU (least-recently-used) cache. | ||||
| 
 | ||||
| Bugs fixed: | ||||
| 
 | ||||
| - fixed a race condition in the TBB scalable allocator. | ||||
| - concurrent_queue counter wraparound bug was fixed, which occurred when | ||||
|     the number of push and pop operations exceeded ~>4 billion on IA32. | ||||
| - fixed races in the TBB scheduler that could put workers asleep too | ||||
|     early, especially in presense of affinitized tasks. | ||||
| 
 | ||||
| ------------------------------------------------------------------------ | ||||
| TBB 4.0 Update 1 commercial-aligned release | ||||
| 
 | ||||
| Changes (w.r.t. TBB 4.0 commercial-aligned release): | ||||
| 
 | ||||
| - Memory leaks fixed in binpack example. | ||||
| - Improvements and fixes in the TBB allocator. | ||||
| 
 | ||||
| ------------------------------------------------------------------------ | ||||
| TBB 4.0 commercial-aligned release | ||||
| 
 | ||||
| Changes (w.r.t. TBB 3.0 Update 8 commercial-aligned release): | ||||
| 
 | ||||
| Improvements: | ||||
| - concurrent_priority_queue is now a supported feature. Capacity control methods were removed. | ||||
| - Flow graph is now a supported feature of TBB, rather than being a community preview feature. | ||||
| - A new memory backend has been implemented in the TBB allocator. It can return small memory blocks to the OS and thus later reuse that memory for large object allocation. | ||||
| - Improved partitioning algorithms for parallel_for and parallel_reduce to better handle load imbalance. | ||||
| - The convex_hull example has been refactored to produce reproducible performance results. | ||||
| - The Major Interface version has changed from 5 to 6. Deprecated interfaces might be removed in future releases. | ||||
| - concurrent_priority_queue is now a fully supported feature. | ||||
|     Capacity control methods were removed. | ||||
| - Flow graph is now a fully supported feature. | ||||
| - A new memory backend has been implemented in the TBB allocator. | ||||
|     It can reuse freed memory for both small and large objects, and | ||||
|     returns unused memory blocks to the OS more actively. | ||||
| - Improved partitioning algorithms for parallel_for and parallel_reduce | ||||
|     to better handle load imbalance. | ||||
| - The convex_hull example has been refactored for reproducible | ||||
|     performance results. | ||||
| - The major interface version has changed from 5 to 6. | ||||
|     Deprecated interfaces might be removed in future releases. | ||||
| 
 | ||||
| Community Preview Features: | ||||
| - Added Community Preview Feature: serial subset of TBB for modeling a sequential execution of a parallel algorithm. This release introduces serial parallel_for. | ||||
| - Added Community Preview Feature: or_node (accepts multiple inputs, forwarding each input separately to successors), split_node (accepts tuples, and forwards each element to a corresponding successor), and multioutput_function_node (accepts one input, and passes the input and a tuple of output ports to the function body to support outputs to multiple successors). | ||||
| - Added Community Preview Feature: Scalable Memory Pools (more control on memory source, grouping, collective deallocatation). | ||||
| 
 | ||||
| - Added: serial subset, i.e. sequential implementations of TBB generic | ||||
|     algorithms (currently, only provided for parallel_for). | ||||
| - Preview of new flow graph nodes: | ||||
|     or_node (accepts multiple inputs, forwards each input separately | ||||
|       to all successors), | ||||
|     split_node (accepts tuples, and forwards each element of a tuple | ||||
|       to a corresponding successor), and | ||||
|     multioutput_function_node (accepts one input, and passes the input | ||||
|     and a tuple of output ports to the function body to support outputs | ||||
|     to multiple successors). | ||||
| - Added: memory pools for more control on memory source, grouping, | ||||
|     and collective deallocation. | ||||
| 
 | ||||
| ------------------------------------------------------------------------ | ||||
| TBB 3.0 Update 8 commercial-aligned release | ||||
| 
 | ||||
| Changes (w.r.t. TBB 3.0 Update 7 commercial-aligned release): | ||||
| 
 | ||||
| - Task priorities has become an official feature of TBB, | ||||
| - Task priorities become an official feature of TBB, | ||||
|     not community preview as before. | ||||
| - Atomics API extended, and implementation refactored. | ||||
| - Added task::set_parent() method. | ||||
| @ -37,12 +154,12 @@ Community Preview Features: | ||||
| 
 | ||||
| - Graph community preview feature was renamed to flow graph. | ||||
|     Multiple improvements in the implementation. | ||||
|     Binpack example of the feature was added. | ||||
|     Binpack example was added for the feature. | ||||
| - A number of improvements to concurrent_priority_queue. | ||||
|     Shortpath example was added for the feature. | ||||
| - TBB runtime loader functionality was added (Windows*-only). | ||||
|     This allows set exact versions of TBB library to be used in run-time, | ||||
|     while setting directories for the library search. | ||||
| - TBB runtime loaded functionality was added (Windows*-only). | ||||
|     It allows to specify which versions of TBB should be used, | ||||
|     as well as to set directories for the library search. | ||||
| - parallel_deterministic_reduce template function was added. | ||||
| 
 | ||||
| ------------------------------------------------------------------------ | ||||
| @ -56,8 +173,8 @@ Changes (w.r.t. TBB 3.0 Update 6 commercial-aligned release): | ||||
| 
 | ||||
| Community Preview Features: | ||||
| 
 | ||||
| - Graph's dining_philosophers example added | ||||
| - A number of improvements to graph and concurrent_priority_queue | ||||
| - Graph's dining_philosophers example added. | ||||
| - A number of improvements to graph and concurrent_priority_queue. | ||||
| 
 | ||||
| 
 | ||||
| ------------------------------------------------------------------------ | ||||
| @ -77,11 +194,11 @@ Open-source contributions integrated: | ||||
| 
 | ||||
| Bugs fixed: | ||||
| 
 | ||||
| - Failure to locate Cilk runtime library to enable Cilk/TBB interop. | ||||
| - Failure to enable interoperability with Intel(R) Cilk(tm) Plus runtime | ||||
|     library, and a crash caused by invoking the interoperability layer | ||||
|     after one of the libraries was unloaded. | ||||
| - Data race that could result in concurrent_unordered_map structure | ||||
|     corruption after call to clear() method. | ||||
| - Crash caused by invoking Cilk/TBB interop after one of the libraries | ||||
|     is unloaded. | ||||
| - Stack corruption caused by PIC version of 64-bit CAS compiled by Intel | ||||
|     compiler on Linux. | ||||
| - Inconsistency of exception propagation mode possible when application | ||||
| @ -178,8 +295,8 @@ Changes (w.r.t. TBB 3.0 Update 1 commercial-aligned release): | ||||
| 
 | ||||
| - Destructor of tbb::task_group class throws missing_wait exception | ||||
|     if there are tasks running when it is invoked. | ||||
| - Cilk-TBB interop layer added to protect TBB TLS in case of | ||||
|     "Cilk-TBB-Cilk nesting" usage model. | ||||
| - Interoperability layer with Intel Cilk Plus runtime library added | ||||
|     to protect TBB TLS in case of nested usage with Intel Cilk Plus. | ||||
| - Compilation fix for dependent template names in concurrent_queue. | ||||
| - Memory allocator code refactored to ease development and maintenance. | ||||
| 
 | ||||
| @ -1087,8 +1204,8 @@ Features / APIs: | ||||
| - Timers. | ||||
| 
 | ||||
| Tools Support: | ||||
| - Thread Checker 3.0. | ||||
| - Thread Profiler 3.0. | ||||
| - Intel(R) Thread Checker 3.0. | ||||
| - Intel(R) Thread Profiler 3.0. | ||||
| 
 | ||||
| Documentation: | ||||
| - First Use Documents: README.txt, INSTALL.txt, Release_Notes.txt, | ||||
| @ -1119,4 +1236,7 @@ Packaging: | ||||
|     are provided separately on Intel(R) Premier. | ||||
| 
 | ||||
| ------------------------------------------------------------------------ | ||||
| Intel and Cilk are registered trademarks or trademarks of Intel Corporation or its | ||||
| subsidiaries in the United States and other countries. | ||||
| 
 | ||||
| * Other names and brands may be claimed as the property of others. | ||||
|  | ||||
							
								
								
									
										8
									
								
								sources
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								sources
									
									
									
									
									
								
							| @ -1,5 +1,5 @@ | ||||
| c3c66663c10261ff03d1b071ab74e659  tbb40_20110809oss_src.tgz | ||||
| 683109a2b732ecd56185d9019667718f  Design_Patterns.pdf | ||||
| 907eed2e81e0d29a93848a26e0fbfa5d  Getting_Started.pdf | ||||
| 131f0f2ae4311794dfa37b7a9172c54e  Reference.pdf | ||||
| 74fca4778a2c624631c157b07beab7ec  Tutorial.pdf | ||||
| 6c2a2838cdaf55f7af57788d97b43b8b  Getting_Started.pdf | ||||
| 56f3f5407481402e7653e57525f2c79b  Reference.pdf | ||||
| 08d5cbf5d6ba946784aa578b03586c5e  Tutorial.pdf | ||||
| 734b356da7fe0ed308741f3e6018251e  tbb40_20120408oss_src.tgz | ||||
|  | ||||
| @ -5,7 +5,7 @@ diff -up tbb30_20110419oss/build/linux.gcc.inc\~ tbb30_20110419oss/build/linux.g | ||||
|   | ||||
|  ITT_NOTIFY = -DDO_ITT_NOTIFY | ||||
|  ifeq ($(cfg), release) | ||||
| -        CPLUS_FLAGS = $(ITT_NOTIFY) -O2 -DUSE_PTHREAD
 | ||||
| -        CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
 | ||||
| +        CPLUS_FLAGS = $(CXXFLAGS) $(ITT_NOTIFY) -O2 -DUSE_PTHREAD
 | ||||
|  endif | ||||
|  ifeq ($(cfg), debug) | ||||
| @ -13,6 +13,6 @@ diff -up tbb30_20110419oss/build/linux.gcc.inc\~ tbb30_20110419oss/build/linux.g | ||||
| +        CPLUS_FLAGS = $(CXXFLAGS) -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD
 | ||||
|  endif | ||||
|   | ||||
|  ifneq (0,$(cpp0x)) | ||||
|  ifneq (00,$(lambdas)$(cpp0x)) | ||||
| 
 | ||||
| Diff finished.  Tue Jul 26 14:02:54 2011 | ||||
|  | ||||
							
								
								
									
										5
									
								
								tbb.pc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								tbb.pc
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | ||||
| Name: Threading Building Blocks | ||||
| Description: The Threading Building Blocks library abstracts low-level threading details | ||||
| URL: http://www.threadingbuildingblocks.org/ | ||||
| Version: _FEDORA_VERSION | ||||
| Libs: -ltbb | ||||
							
								
								
									
										32
									
								
								tbb.spec
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								tbb.spec
									
									
									
									
									
								
							| @ -1,18 +1,20 @@ | ||||
| %define releasedate 20110809 | ||||
| %define releasedate 20120408 | ||||
| %define major 4 | ||||
| %define minor 0 | ||||
| %define update 4 | ||||
| %define dotver %{major}.%{minor} | ||||
| %define sourcebasename tbb%{major}%{minor}_%{releasedate}oss | ||||
| 
 | ||||
| %define sourcefilename %{sourcebasename}_src.tgz | ||||
| 
 | ||||
| Summary: The Threading Building Blocks library abstracts low-level threading details | ||||
| Name: tbb | ||||
| Version: %{dotver} | ||||
| Release: 3.%{releasedate}%{?dist} | ||||
| Release: 4.%{releasedate}%{?dist} | ||||
| License: GPLv2 with exceptions | ||||
| Group: Development/Tools | ||||
| URL: http://threadingbuildingblocks.org/ | ||||
| Source0: http://threadingbuildingblocks.org/uploads/77/175/4.0/tbb40_20110809oss_src.tgz | ||||
| Source0: http://threadingbuildingblocks.org/uploads/77/185/4.0%%20update%%204/tbb40_20120408oss_src.tgz | ||||
| 
 | ||||
| # Upstream regularly replaces the "Latest" documentation with what's | ||||
| # actually Latest at that point.  These sources may no longer match | ||||
| @ -29,6 +31,11 @@ Source3: %{docurl}/%{source_3} | ||||
| Source4: %{docurl}/%{source_4} | ||||
| Source5: %{docurl}/%{source_5} | ||||
| 
 | ||||
| # These two are downstream sources. | ||||
| Source6: tbb.pc | ||||
| Source7: tbbmalloc.pc | ||||
| Source8: tbbmalloc_proxy.pc | ||||
| 
 | ||||
| Patch1: tbb-3.0-cxxflags.patch | ||||
| Patch2: tbb-4.0-mfence.patch | ||||
| BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) | ||||
| @ -75,7 +82,10 @@ C++ library. | ||||
| 
 | ||||
| %build | ||||
| make %{?_smp_mflags} CXXFLAGS="$RPM_OPT_FLAGS" tbb_build_prefix=obj | ||||
| 
 | ||||
| for file in %{SOURCE6} %{SOURCE7} %{SOURCE8}; do | ||||
|     sed 's/_FEDORA_VERSION/%{major}.%{minor}.%{update}/' ${file} \ | ||||
|         > $(basename ${file}) | ||||
| done | ||||
| cp -p "%{SOURCE1}" "%{SOURCE2}" "%{SOURCE3}" "%{SOURCE4}" "%{SOURCE5}" . | ||||
| 
 | ||||
| %install | ||||
| @ -84,7 +94,7 @@ mkdir -p $RPM_BUILD_ROOT/%{_libdir} | ||||
| mkdir -p $RPM_BUILD_ROOT/%{_includedir} | ||||
| 
 | ||||
| pushd build/obj_release | ||||
|     for file in libtbb{,malloc}; do | ||||
|     for file in libtbb{,malloc{,_proxy}}; do | ||||
|         install -p -D -m 755 ${file}.so.2 $RPM_BUILD_ROOT/%{_libdir} | ||||
|         ln -s $file.so.2 $RPM_BUILD_ROOT/%{_libdir}/$file.so | ||||
|     done | ||||
| @ -96,6 +106,11 @@ pushd include | ||||
|     \; | ||||
| popd | ||||
| 
 | ||||
| for file in %{SOURCE6} %{SOURCE7} %{SOURCE8}; do | ||||
|     install -p -D -m 644 $(basename ${file}) \ | ||||
| 	$RPM_BUILD_ROOT/%{_libdir}/pkgconfig/$(basename ${file}) | ||||
| done | ||||
| 
 | ||||
| %post -p /sbin/ldconfig | ||||
| 
 | ||||
| %postun -p /sbin/ldconfig | ||||
| @ -113,6 +128,7 @@ rm -rf ${RPM_BUILD_ROOT} | ||||
| %doc %{source_1} | ||||
| %{_includedir}/tbb | ||||
| %{_libdir}/*.so | ||||
| %{_libdir}/pkgconfig/*.pc | ||||
| 
 | ||||
| %files doc | ||||
| %defattr(-,root,root,-) | ||||
| @ -122,6 +138,12 @@ rm -rf ${RPM_BUILD_ROOT} | ||||
| %doc %{source_5} | ||||
| 
 | ||||
| %changelog | ||||
| * Thu Jun  7 2012 Petr Machata <pmachata@redhat.com> - 4.0-4.20120408 | ||||
| - Rebase to 4.0 update 4 | ||||
| - Refresh Getting_Started.pdf, Reference.pdf, Tutorial.pdf | ||||
| - Provide pkg-config files | ||||
| - Resolves: #825402 | ||||
| 
 | ||||
| * Thu Apr 05 2012 Karsten Hopp <karsten@redhat.com> 4.0-3.20110809 | ||||
| - tbb builds now on PPC(64) | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										5
									
								
								tbbmalloc.pc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								tbbmalloc.pc
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | ||||
| Name: Threading Building Blocks Scalable Allocator | ||||
| Description: Implementation of Scalable Memory Allocator of Threading Building Blocks | ||||
| URL: http://www.threadingbuildingblocks.org/ | ||||
| Version: _FEDORA_VERSION | ||||
| Libs: -ltbbmalloc | ||||
							
								
								
									
										5
									
								
								tbbmalloc_proxy.pc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								tbbmalloc_proxy.pc
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | ||||
| Name: Threading Building Blocks Scallable Malloc Proxy | ||||
| Description: Implementation of proxy that redirects memory allocation calls to TBB Scalable Memory Allocator | ||||
| URL: http://www.threadingbuildingblocks.org/ | ||||
| Version: _FEDORA_VERSION | ||||
| Libs: -ltbbmalloc_proxy | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user