Commit 324e3794 authored by Graham Inggs's avatar Graham Inggs

Imported Upstream version 4.2~20140122

parent 7a5ba16f

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

......@@ -3,6 +3,91 @@ The list of most significant changes made over time in
Intel(R) Threading Building Blocks (Intel(R) TBB).
------------------------------------------------------------------------
Intel TBB 4.2 Update 3
TBB_INTERFACE_VERSION == 7003
- Added support for Microsoft* Visual Studio* 2013.
- Improved Microsoft* PPL-compatible form of parallel_for for better
support of auto-vectorization.
- Added a new example for cancellation and reset in the flow graph:
Kohonen self-organizing map (examples/graph/som).
- Various improvements in source code, tests, and makefiles.
Bugs fixed:
- Added dynamic replacement of _aligned_msize() previously missed.
- Fixed task_group::run_and_wait() to throw invalid_multiple_scheduling
exception if the specified task handle is already scheduled.
Open-source contributions integrated:
- A fix for ARM* processors by Steve Capper.
- Improvements in std::swap calls by Robert Maynard.
------------------------------------------------------------------------
Intel TBB 4.2 Update 2
TBB_INTERFACE_VERSION == 7002
Changes (w.r.t. Intel TBB 4.2 Update 1):
- Enable C++11 features for Microsoft* Visual Studio* 2013 Preview.
- Added a test for compatibility of TBB containers with C++11
range-based for loop.
Changes affecting backward compatibility:
- Internal layout changed for class tbb::flow::limiter_node.
Bugs fixed:
- When building for Intel(R) Xeon Phi(tm) coprocessor, TBB programs
no longer require explicit linking with librt and libpthread.
Open-source contributions integrated:
- Fixes for ARM* processors by Steve Capper, Leif Lindholm
and Steven Noonan.
- Support for Clang on Linux by Raf Schietekat.
- Typo correction in scheduler.cpp by Julien Schueller.
------------------------------------------------------------------------
Intel TBB 4.2 Update 1
TBB_INTERFACE_VERSION == 7001
Changes (w.r.t. Intel TBB 4.2):
- Added project files for Microsoft* Visual Studio* 2010.
- Initial support of Microsoft* Visual Studio* 2013 Preview.
- Enable C++11 features available in Intel(R) C++ Compiler 14.0.
- scalable_allocation_mode(TBBMALLOC_SET_SOFT_HEAP_LIMIT, <size>) can be
used to urge releasing memory from tbbmalloc internal buffers when
the given limit is exceeded.
Community Preview Features:
- Class task_arena no longer requires linking with a preview library,
though still remains a community preview feature.
- The method task_arena::wait_until_empty() is removed.
- The method task_arena::current_slot() now returns -1 if
the task scheduler is not initialized in the thread.
Changes affecting backward compatibility:
- Because of changes in internal layout of graph nodes, the namespace
interface number of flow::graph has been incremented from 6 to 7.
Bugs fixed:
- Fixed a race in lazy initialization of task_arena.
- Fixed flow::graph::reset() to prevent situations where tasks would be
spawned in the process of resetting the graph to its initial state.
- Fixed decrement bug in limiter_node.
- Fixed a race in arc deletion in the flow graph.
Open-source contributions integrated:
- Improved support for IBM* Blue Gene* by Raf Schietekat.
------------------------------------------------------------------------
Intel TBB 4.2
TBB_INTERFACE_VERSION == 7000
......@@ -471,7 +556,7 @@ Changes (w.r.t. Intel TBB 3.0 Update 4 commercial-aligned release):
- Added Community Preview feature: graph.
- Added automatic propagation of master thread FPU settings to
TBB worker threads.
- Added a public function to perform a sequentially consistent full
- Added a public function to perform a sequentially consistent full
memory fence: tbb::atomic_fence() in tbb/atomic.h.
Bugs fixed:
......@@ -495,7 +580,7 @@ Changes (w.r.t. Intel TBB 3.0 Update 3 commercial-aligned release):
- Added Community Preview feature: concurrent_priority_queue.
- Fixed library loading to avoid possibility for remote code execution,
see http://www.microsoft.com/technet/security/advisory/2269637.mspx.
- Added support of more than 64 cores for appropriate Microsoft*
- Added support of more than 64 cores for appropriate Microsoft*
Windows* versions. For more details, see
http://msdn.microsoft.com/en-us/library/dd405503.aspx.
- Default number of worker threads is adjusted in accordance with
......@@ -503,13 +588,13 @@ Changes (w.r.t. Intel TBB 3.0 Update 3 commercial-aligned release):
Bugs fixed:
- Calls of scalable_* functions from inside the allocator library
- Calls of scalable_* functions from inside the allocator library
caused issues if the functions were overridden by another module.
- A crash occurred if methods run() and wait() were called concurrently
for an empty tbb::task_group (1736).
- The tachyon example exhibited build problems associated with
- The tachyon example exhibited build problems associated with
bug 554339 on Microsoft* Visual Studio* 2010. Project files were
modified as a partial workaround to overcome the problem. See
modified as a partial workaround to overcome the problem. See
http://connect.microsoft.com/VisualStudio/feedback/details/554339.
------------------------------------------------------------------------
......
# Copyright 2005-2013 Intel Corporation. All Rights Reserved.
# Copyright 2005-2014 Intel Corporation. All Rights Reserved.
#
# This file is part of Threading Building Blocks.
#
......
# Copyright 2005-2013 Intel Corporation. All Rights Reserved.
# Copyright 2005-2014 Intel Corporation. All Rights Reserved.
#
# This file is part of Threading Building Blocks.
#
......@@ -36,8 +36,6 @@ WARNING_KEY = -Wall
DYLIB_KEY = -shared
LIBDL = -ldl
TBB_NOSTRICT = 1
CPLUS = g++
CONLY = gcc
LIB_LINK_FLAGS = -shared
......
# Copyright 2005-2013 Intel Corporation. All Rights Reserved.
# Copyright 2005-2014 Intel Corporation. All Rights Reserved.
#
# This file is part of Threading Building Blocks.
#
......@@ -47,7 +47,7 @@ RD?=rmdir
MD?=mkdir -p
NUL= /dev/null
SLASH=/
MAKE_VERSIONS=sh $(tbb_root)/build/version_info_aix.sh $(CPLUS) $(CPLUS_FLAGS) $(INCLUDES) >version_string.ver
MAKE_VERSIONS=sh $(tbb_root)/build/version_info_aix.sh $(VERSION_FLAGS) >version_string.ver
MAKE_TBBVARS=sh $(tbb_root)/build/generate_tbbvars.sh
ifdef LIBPATH
......@@ -71,6 +71,4 @@ MALLOC.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL)
MALLOC.LIB = $(MALLOC.DLL)
LINK_MALLOC.LIB = $(MALLOC.LIB)
TBB_NOSTRICT=1
TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh $(largs)
# Copyright 2005-2013 Intel Corporation. All Rights Reserved.
# Copyright 2005-2014 Intel Corporation. All Rights Reserved.
#
# This file is part of Threading Building Blocks.
#
......@@ -35,8 +35,6 @@ WARNING_AS_ERROR_KEY = -Werror
WARNING_KEY = -Wall
DYLIB_KEY = -shared
TBB_NOSTRICT = 1
CPLUS = g++
CONLY = gcc
LIB_LINK_FLAGS = -shared
......
# Copyright 2005-2013 Intel Corporation. All Rights Reserved.
# Copyright 2005-2014 Intel Corporation. All Rights Reserved.
#
# This file is part of Threading Building Blocks.
#
......@@ -54,7 +54,7 @@ RD?=rmdir
MD?=mkdir -p
NUL= /dev/null
SLASH=/
MAKE_VERSIONS=sh $(tbb_root)/build/version_info_linux.sh $(CPLUS) $(CPLUS_FLAGS) $(INCLUDES) >version_string.ver
MAKE_VERSIONS=sh $(tbb_root)/build/version_info_linux.sh $(VERSION_FLAGS) >version_string.ver
MAKE_TBBVARS=sh $(tbb_root)/build/generate_tbbvars.sh
ifdef LD_LIBRARY_PATH
......@@ -79,6 +79,4 @@ MALLOC.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL)
MALLOC.LIB = $(MALLOC.DLL)
LINK_MALLOC.LIB = $(MALLOC.LIB)
TBB_NOSTRICT=1
TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh $(largs)
# Copyright 2005-2013 Intel Corporation. All Rights Reserved.
# Copyright 2005-2014 Intel Corporation. All Rights Reserved.
#
# This file is part of Threading Building Blocks.
#
......@@ -128,7 +128,8 @@ rml: $(RML.DLL) $(RML_TBB_CLIENT.OBJ) $(RML_OMP_CLIENT.OBJ)
add_debug=$(basename $(1))_debug$(suffix $(1))
cross_suffix=$(if $(crosstest),$(if $(DEBUG_SUFFIX),$(subst _debug,,$(1)),$(call add_debug,$(1))),$(1))
RML_TESTS = test_job_automaton.$(TEST_EXT) test_thread_monitor.$(TEST_EXT) test_rml_tbb.$(TEST_EXT) test_rml_omp.$(TEST_EXT) test_rml_mixed.$(TEST_EXT) test_rml_omp_c_linkage.$(TEST_EXT)
RML_TESTS = test_job_automaton.$(TEST_EXT) test_thread_monitor.$(TEST_EXT)
RML_CUSTOM_TESTS = test_rml_tbb.$(TEST_EXT) test_rml_omp.$(TEST_EXT) test_rml_mixed.$(TEST_EXT) test_rml_omp_c_linkage.$(TEST_EXT)
test_rml_tbb.$(TEST_EXT): test_rml_tbb.$(OBJ) $(RML_TBB_CLIENT.OBJ) $(TBB_DEP_RML_TEST)
$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) test_rml_tbb.$(OBJ) $(RML_TBB_CLIENT.OBJ) $(TBB_DEP_RML_TEST) $(LIBS) $(LINK_FLAGS)
......@@ -145,11 +146,11 @@ rml_omp_stub.$(OBJ): rml_omp_stub.cpp
test_rml_omp_c_linkage.$(TEST_EXT): test_rml_omp_c_linkage.$(OBJ) rml_omp_stub.$(OBJ) omp_dynamic_link.$(OBJ)
$(CONLY) $(C_FLAGS) $(OUTPUT_KEY)$@ test_rml_omp_c_linkage.$(OBJ) rml_omp_stub.$(OBJ) omp_dynamic_link.$(OBJ) $(LIBS) $(LINK_FLAGS)
test_%.$(TEST_EXT): test_%.$(OBJ) $(TBB_DEP_NON_RML_TEST)
$(RML_TESTS): %.$(TEST_EXT): %.$(OBJ) $(TBB_DEP_NON_RML_TEST)
$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(TBB_DEP_NON_RML_TEST) $(LIBS) $(LINK_FLAGS)
### run_cmd is usually empty
rml_test: $(call cross_suffix,$(RML.DLL)) $(TEST_PREREQUISITE) $(RML_TESTS)
rml_test: $(call cross_suffix,$(RML.DLL)) $(TEST_PREREQUISITE) $(RML_TESTS) $(RML_CUSTOM_TESTS)
$(run_cmd) ./test_job_automaton.$(TEST_EXT) $(args)
$(run_cmd) ./test_thread_monitor.$(TEST_EXT) $(args)
$(run_cmd) ./test_rml_tbb.$(TEST_EXT) $(args)
......
# Copyright 2005-2013 Intel Corporation. All Rights Reserved.
# Copyright 2005-2014 Intel Corporation. All Rights Reserved.
#
# This file is part of Threading Building Blocks.
#
......@@ -36,7 +36,7 @@ DEBUG_SUFFIX=$(findstring _debug,_$(cfg))
#------------------------------------------------------------
# Define static pattern rules dealing with .cpp source files
#------------------------------------------------------------
$(warning CONFIG: cfg=$(cfg) arch=$(arch) compiler=$(compiler) os=$(tbb_os) runtime=$(runtime))
$(warning CONFIG: cfg=$(cfg) arch=$(arch) compiler=$(compiler) target=$(target) runtime=$(runtime))
default_tbb: $(TBB.DLL)
.PHONY: default_tbb tbbvars clean
......@@ -46,11 +46,6 @@ VPATH = $(tbb_root)/src/tbb/$(ASSEMBLY_SOURCE) $(tbb_root)/src/tbb $(tbb_root)/s
CPLUS_FLAGS += $(PIC_KEY) $(DEFINE_KEY)__TBB_BUILD=1
# A template to switch off strict-ansi for certain compilation units
# ifeq (1,$(TBB_NOSTRICT))
# KNOWN_NOSTRICT = <object-file-name>
# endif
# suppress warnings for build of itt_notify by GCC3
ifneq (,$(findstring gcc_cc3., $(compiler)_$(runtime)))
KNOWN_WARNINGS += itt_notify.$(OBJ)
......@@ -68,6 +63,7 @@ TBB_CPLUS.OBJ = concurrent_hash_map.$(OBJ) \
queuing_rw_mutex.$(OBJ) \
reader_writer_lock.$(OBJ) \
spin_rw_mutex.$(OBJ) \
x86_rtm_rw_mutex.$(OBJ) \
spin_mutex.$(OBJ) \
critical_section.$(OBJ) \
mutex.$(OBJ) \
......