Skip to content

Commit ab775e4

Browse files
committed
Committing TBB 2019 source code
1 parent 615bb97 commit ab775e4

File tree

633 files changed

+3090
-47877
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

633 files changed

+3090
-47877
lines changed

CHANGES

+33
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,39 @@
22
The list of most significant changes made over time in
33
Intel(R) Threading Building Blocks (Intel(R) TBB).
44

5+
Intel TBB 2019
6+
TBB_INTERFACE_VERSION == 11000
7+
8+
Changes (w.r.t. Intel TBB 2018 Update 5):
9+
10+
- Lightweight policy for functional nodes in the flow graph is now
11+
a fully supported feature.
12+
- Reservation support in flow::write_once_node and flow::overwrite_node
13+
is now a fully supported feature.
14+
- Support for Flow Graph Analyzer and improvements for
15+
Intel(R) VTune(TM) Amplifier become a regular feature enabled by
16+
TBB_USE_THREADING_TOOLS macro.
17+
- Added support for std::new_handler in the replacement functions for
18+
global operator new.
19+
- Added C++14 constructors to concurrent unordered containers.
20+
- Added tbb::counting_iterator and tbb::zip_iterator.
21+
- Fixed multiple -Wextra warnings in TBB source files.
22+
23+
Preview Features:
24+
25+
- Extracting nodes from a flow graph is deprecated and disabled by
26+
default. To enable, use TBB_DEPRECATED_FLOW_NODE_EXTRACTION macro.
27+
28+
Changes affecting backward compatibility:
29+
30+
- Due to internal changes in the flow graph classes, recompilation is
31+
recommended for all binaries that use the flow graph.
32+
33+
Open-source contributions integrated:
34+
35+
- Added support for OpenBSD by Anthony J. Bentley.
36+
37+
------------------------------------------------------------------------
538
Intel TBB 2018 Update 5
639
TBB_INTERFACE_VERSION == 10005
740

Doxyfile

+1,327
Large diffs are not rendered by default.

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
# Intel(R) Threading Building Blocks 2018 Update 5
2-
[![Stable release](https://img.shields.io/badge/version-2018_U5-green.svg)](https://github.com/01org/tbb/releases/tag/2018_U5)
1+
# Intel(R) Threading Building Blocks 2019
2+
[![Stable release](https://img.shields.io/badge/version-2019-green.svg)](https://github.com/01org/tbb/releases/tag/2019)
33
[![Apache License Version 2.0](https://img.shields.io/badge/license-Apache_2.0-green.svg)](LICENSE)
44

55
Intel(R) Threading Building Blocks (Intel(R) TBB) lets you easily write parallel C++ programs that take

build/BSD.clang.inc

+110
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
# Copyright (c) 2005-2018 Intel Corporation
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
#
15+
#
16+
#
17+
#
18+
19+
COMPILE_ONLY = -c -MMD
20+
PREPROC_ONLY = -E -x c++
21+
INCLUDE_KEY = -I
22+
DEFINE_KEY = -D
23+
OUTPUT_KEY = -o #
24+
OUTPUTOBJ_KEY = -o #
25+
PIC_KEY = -fPIC
26+
WARNING_AS_ERROR_KEY = -Werror
27+
WARNING_KEY = -Wall
28+
TEST_WARNING_KEY = -Wextra -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor
29+
WARNING_SUPPRESS = -Wno-parentheses -Wno-non-virtual-dtor -Wno-dangling-else
30+
DYLIB_KEY = -shared
31+
EXPORT_KEY = -Wl,--version-script,
32+
LIBDL =
33+
34+
CPLUS = clang++
35+
CONLY = clang
36+
LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
37+
LIBS += -lpthread
38+
LINK_FLAGS = -Wl,-rpath-link=. -Wl,-rpath=. -rdynamic
39+
C_FLAGS = $(CPLUS_FLAGS)
40+
41+
ifeq ($(cfg), release)
42+
CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
43+
endif
44+
ifeq ($(cfg), debug)
45+
CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD
46+
endif
47+
48+
ifneq (,$(stdlib))
49+
CPLUS_FLAGS += -stdlib=$(stdlib)
50+
LIB_LINK_FLAGS += -stdlib=$(stdlib)
51+
endif
52+
53+
TBB_ASM.OBJ=
54+
MALLOC_ASM.OBJ=
55+
56+
ifeq (intel64,$(arch))
57+
ITT_NOTIFY = -DDO_ITT_NOTIFY
58+
CPLUS_FLAGS += -m64
59+
LIB_LINK_FLAGS += -m64
60+
endif
61+
62+
ifeq (ia32,$(arch))
63+
ITT_NOTIFY = -DDO_ITT_NOTIFY
64+
CPLUS_FLAGS += -m32 -march=pentium4
65+
LIB_LINK_FLAGS += -m32
66+
endif
67+
68+
ifeq (ppc64,$(arch))
69+
CPLUS_FLAGS += -m64
70+
LIB_LINK_FLAGS += -m64
71+
endif
72+
73+
ifeq (ppc32,$(arch))
74+
CPLUS_FLAGS += -m32
75+
LIB_LINK_FLAGS += -m32
76+
endif
77+
78+
ifeq (bg,$(arch))
79+
CPLUS = bgclang++
80+
CONLY = bgclang
81+
endif
82+
83+
#------------------------------------------------------------------------------
84+
# Setting assembler data.
85+
#------------------------------------------------------------------------------
86+
ASM = as
87+
ifeq (intel64,$(arch))
88+
ASM_FLAGS += --64
89+
endif
90+
ifeq (ia32,$(arch))
91+
ASM_FLAGS += --32
92+
endif
93+
ifeq ($(cfg),debug)
94+
ASM_FLAGS += -g
95+
endif
96+
97+
ASSEMBLY_SOURCE=$(arch)-gas
98+
#------------------------------------------------------------------------------
99+
# End of setting assembler data.
100+
#------------------------------------------------------------------------------
101+
102+
#------------------------------------------------------------------------------
103+
# Setting tbbmalloc data.
104+
#------------------------------------------------------------------------------
105+
106+
M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions
107+
108+
#------------------------------------------------------------------------------
109+
# End of setting tbbmalloc data.
110+
#------------------------------------------------------------------------------

build/BSD.inc

+74
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# Copyright (c) 2005-2018 Intel Corporation
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
#
15+
#
16+
#
17+
#
18+
19+
ifndef arch
20+
ifeq ($(shell uname -m),i386)
21+
export arch:=ia32
22+
endif
23+
ifeq ($(shell uname -m),ia64)
24+
export arch:=ia64
25+
endif
26+
ifeq ($(shell uname -m),amd64)
27+
export arch:=intel64
28+
endif
29+
endif
30+
31+
ifndef runtime
32+
clang_version:=$(shell clang -v 2>&1 | grep version | sed "s/.*version \([0-9]*\.[0-9]*\).*/\1/")
33+
os_version:=$(shell uname -r)
34+
os_kernel_version:=$(shell uname -r | sed -e 's/-.*$$//')
35+
export runtime:=cc$(clang_version)_kernel$(os_kernel_version)
36+
endif
37+
38+
native_compiler := clang
39+
export compiler ?= clang
40+
debugger ?= gdb
41+
42+
CMD=$(SHELL) -c
43+
CWD=$(shell pwd)
44+
RM?=rm -f
45+
RD?=rmdir
46+
MD?=mkdir -p
47+
NUL= /dev/null
48+
SLASH=/
49+
MAKE_VERSIONS=sh $(tbb_root)/build/version_info_linux.sh $(VERSION_FLAGS) >version_string.ver
50+
MAKE_TBBVARS=sh $(tbb_root)/build/generate_tbbvars.sh
51+
52+
ifdef LD_LIBRARY_PATH
53+
export LD_LIBRARY_PATH := .:$(LD_LIBRARY_PATH)
54+
else
55+
export LD_LIBRARY_PATH := .
56+
endif
57+
58+
####### Build settings ########################################################
59+
60+
OBJ = o
61+
DLL = so
62+
LIBEXT=so
63+
64+
TBB.LST =
65+
TBB.DEF =
66+
TBB.DLL = libtbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(DLL)
67+
TBB.LIB = $(TBB.DLL)
68+
LINK_TBB.LIB = $(TBB.LIB)
69+
70+
MALLOC.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL)
71+
MALLOC.LIB = $(MALLOC.DLL)
72+
LINK_MALLOC.LIB = $(MALLOC.LIB)
73+
74+
TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh $(largs)

build/FreeBSD.clang.inc

+2-91
Original file line numberDiff line numberDiff line change
@@ -16,95 +16,6 @@
1616
#
1717
#
1818

19-
COMPILE_ONLY = -c -MMD
20-
PREPROC_ONLY = -E -x c++
21-
INCLUDE_KEY = -I
22-
DEFINE_KEY = -D
23-
OUTPUT_KEY = -o #
24-
OUTPUTOBJ_KEY = -o #
25-
PIC_KEY = -fPIC
26-
WARNING_AS_ERROR_KEY = -Werror
27-
WARNING_KEY = -Wall
28-
TEST_WARNING_KEY = -Wextra -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor
29-
WARNING_SUPPRESS = -Wno-parentheses -Wno-non-virtual-dtor -Wno-dangling-else
30-
DYLIB_KEY = -shared
31-
EXPORT_KEY = -Wl,--version-script,
32-
LIBDL =
19+
include $(tbb_root)/build/BSD.clang.inc
3320

34-
CPLUS = clang++
35-
CONLY = clang
36-
LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
37-
LIBS += -lpthread -lrt
38-
LINK_FLAGS = -Wl,-rpath-link=. -Wl,-rpath=. -rdynamic
39-
C_FLAGS = $(CPLUS_FLAGS)
40-
41-
ifeq ($(cfg), release)
42-
CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
43-
endif
44-
ifeq ($(cfg), debug)
45-
CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD
46-
endif
47-
48-
ifneq (,$(stdlib))
49-
CPLUS_FLAGS += -stdlib=$(stdlib)
50-
LIB_LINK_FLAGS += -stdlib=$(stdlib)
51-
endif
52-
53-
TBB_ASM.OBJ=
54-
MALLOC_ASM.OBJ=
55-
56-
ifeq (intel64,$(arch))
57-
ITT_NOTIFY = -DDO_ITT_NOTIFY
58-
CPLUS_FLAGS += -m64
59-
LIB_LINK_FLAGS += -m64
60-
endif
61-
62-
ifeq (ia32,$(arch))
63-
ITT_NOTIFY = -DDO_ITT_NOTIFY
64-
CPLUS_FLAGS += -m32 -march=pentium4
65-
LIB_LINK_FLAGS += -m32
66-
endif
67-
68-
ifeq (ppc64,$(arch))
69-
CPLUS_FLAGS += -m64
70-
LIB_LINK_FLAGS += -m64
71-
endif
72-
73-
ifeq (ppc32,$(arch))
74-
CPLUS_FLAGS += -m32
75-
LIB_LINK_FLAGS += -m32
76-
endif
77-
78-
ifeq (bg,$(arch))
79-
CPLUS = bgclang++
80-
CONLY = bgclang
81-
endif
82-
83-
#------------------------------------------------------------------------------
84-
# Setting assembler data.
85-
#------------------------------------------------------------------------------
86-
ASM = as
87-
ifeq (intel64,$(arch))
88-
ASM_FLAGS += --64
89-
endif
90-
ifeq (ia32,$(arch))
91-
ASM_FLAGS += --32
92-
endif
93-
ifeq ($(cfg),debug)
94-
ASM_FLAGS += -g
95-
endif
96-
97-
ASSEMBLY_SOURCE=$(arch)-gas
98-
#------------------------------------------------------------------------------
99-
# End of setting assembler data.
100-
#------------------------------------------------------------------------------
101-
102-
#------------------------------------------------------------------------------
103-
# Setting tbbmalloc data.
104-
#------------------------------------------------------------------------------
105-
106-
M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions
107-
108-
#------------------------------------------------------------------------------
109-
# End of setting tbbmalloc data.
110-
#------------------------------------------------------------------------------
21+
LIBS += -lrt

build/FreeBSD.inc

+1-56
Original file line numberDiff line numberDiff line change
@@ -16,59 +16,4 @@
1616
#
1717
#
1818

19-
ifndef arch
20-
ifeq ($(shell uname -m),i386)
21-
export arch:=ia32
22-
endif
23-
ifeq ($(shell uname -m),ia64)
24-
export arch:=ia64
25-
endif
26-
ifeq ($(shell uname -m),amd64)
27-
export arch:=intel64
28-
endif
29-
endif
30-
31-
ifndef runtime
32-
clang_version:=$(shell clang -v 2>&1 | grep version | sed "s/.*version \([0-9]*\.[0-9]*\).*/\1/")
33-
os_version:=$(shell uname -r)
34-
os_kernel_version:=$(shell uname -r | sed -e 's/-.*$$//')
35-
export runtime:=cc$(clang_version)_kernel$(os_kernel_version)
36-
endif
37-
38-
native_compiler := clang
39-
export compiler ?= clang
40-
debugger ?= gdb
41-
42-
CMD=$(SHELL) -c
43-
CWD=$(shell pwd)
44-
RM?=rm -f
45-
RD?=rmdir
46-
MD?=mkdir -p
47-
NUL= /dev/null
48-
SLASH=/
49-
MAKE_VERSIONS=sh $(tbb_root)/build/version_info_linux.sh $(VERSION_FLAGS) >version_string.ver
50-
MAKE_TBBVARS=sh $(tbb_root)/build/generate_tbbvars.sh
51-
52-
ifdef LD_LIBRARY_PATH
53-
export LD_LIBRARY_PATH := .:$(LD_LIBRARY_PATH)
54-
else
55-
export LD_LIBRARY_PATH := .
56-
endif
57-
58-
####### Build settings ########################################################
59-
60-
OBJ = o
61-
DLL = so
62-
LIBEXT=so
63-
64-
TBB.LST =
65-
TBB.DEF =
66-
TBB.DLL = libtbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(DLL)
67-
TBB.LIB = $(TBB.DLL)
68-
LINK_TBB.LIB = $(TBB.LIB)
69-
70-
MALLOC.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL)
71-
MALLOC.LIB = $(MALLOC.DLL)
72-
LINK_MALLOC.LIB = $(MALLOC.LIB)
73-
74-
TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh $(largs)
19+
include $(tbb_root)/build/BSD.inc

0 commit comments

Comments
 (0)