mirror of
https://github.com/wjakob/tbb.git
synced 2026-08-30 17:10:41 +08:00
e32d75f876
The new release TBB is now under a new more
open license.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
The list of most significant changes made over time in
Intel(R) Threading Building Blocks (Intel(R) TBB).
Intel TBB 2017
TBB_INTERFACE_VERSION == 9100
Changes (w.r.t. Intel TBB 4.4 Update 5):
- static_partitioner class is now a fully supported feature.
- async_node class is now a fully supported feature.
- Improved dynamic memory allocation replacement on Windows* OS to skip
DLLs for which replacement cannot be done, instead of aborting.
- Intel TBB no longer performs dynamic memory allocation replacement
for Microsoft* Visual Studio* 2008.
- For 64-bit platforms, quadrupled the worst-case limit on the amount
of memory the Intel TBB allocator can handle.
- Added TBB_USE_GLIBCXX_VERSION macro to specify the version of GNU
libstdc++ when it cannot be properly recognized, e.g. when used
with Clang on Linux* OS. Inspired by a contribution from David A.
- Added graph/stereo example to demostrate tbb::flow::async_msg.
- Removed a few cases of excessive user data copying in the flow graph.
- Reworked split_node to eliminate unnecessary overheads.
- Added support for C++11 move semantics to the argument of
tbb::parallel_do_feeder::add() method.
- Added C++11 move constructor and assignment operator to
tbb::combinable template class.
- Added tbb::this_task_arena::max_concurrency() function and
max_concurrency() method of class task_arena returning the maximal
number of threads that can work inside an arena.
- Deprecated tbb::task_arena::current_thread_index() static method;
use tbb::this_task_arena::current_thread_index() function instead.
- All examples for commercial version of library moved online:
https://software.intel.com/en-us/product-code-samples. Examples are
available as a standalone package or as a part of Intel(R) Parallel
Studio XE or Intel(R) System Studio Online Samples packages.
Changes affecting backward compatibility:
- Renamed following methods and types in async_node class:
Old New
async_gateway_type => gateway_type
async_gateway() => gateway()
async_try_put() => try_put()
async_reserve() => reserve_wait()
async_commit() => release_wait()
- Internal layout of some flow graph nodes has changed; recompilation
is recommended for all binaries that use the flow graph.
Preview Features:
- Added template class streaming_node to the flow graph API. It allows
a flow graph to offload computations to other devices through
streaming or offloading APIs.
- Template class opencl_node reimplemented as a specialization of
streaming_node that works with OpenCL*.
- Added tbb::this_task_arena::isolate() function to isolate execution
of a group of tasks or an algorithm from other tasks submitted
to the scheduler.
Bugs fixed:
- Added a workaround for GCC bug #62258 in std::rethrow_exception()
to prevent possible problems in case of exception propagation.
- Fixed parallel_scan to provide correct result if the initial value
of an accumulator is not the operation identity value.
- Fixed a memory corruption in the memory allocator when it meets
internal limits.
- Fixed the memory allocator on 64-bit platforms to align memory
to 16 bytes by default for all allocations bigger than 8 bytes.
- As a workaround for crashes in the Intel TBB library compiled with
GCC 6, added -flifetime-dse=1 to compilation options on Linux* OS.
- Fixed a race in the flow graph implementation.
Open-source contributions integrated:
- Enabling use of C++11 'override' keyword by Raf Schietekat.
------------------------------------------------------------------------
575 lines
20 KiB
HTML
575 lines
20 KiB
HTML
<!DOCTYPE html>
|
|
<html xmlns:mso="urn:schemas-microsoft-com:office:office" xmlns:msdt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<style>
|
|
::selection {
|
|
background: #b7ffb7;
|
|
}
|
|
::-moz-selection {
|
|
background: #b7ffb7;
|
|
}
|
|
|
|
body {
|
|
font-family: Arial, Helvetica, sans-serif;
|
|
font-size: 16px;
|
|
width: 800px;
|
|
margin: 0 auto;
|
|
}
|
|
#banner {
|
|
/* Div for banner */
|
|
float:left;
|
|
margin: 0px;
|
|
margin-bottom: 10px;
|
|
width: 100%;
|
|
background-color: #0071C5;
|
|
z-index: 0;
|
|
}
|
|
#banner .logo {
|
|
/* Apply to logo in banner. Add as class to image tag. */
|
|
float: left;
|
|
margin-right: 20px;
|
|
margin-left: 20px;
|
|
margin-top: 15px;
|
|
padding-bottom: 5px;
|
|
}
|
|
h1 {
|
|
text-align: center;
|
|
font-size: 36px;
|
|
}
|
|
h1.title {
|
|
/* Add as class to H1 in banner */
|
|
font-family: "Intel Clear", Verdana, Arial, sans-serif;
|
|
font-weight:normal;
|
|
color: #FFFFFF;
|
|
font-size: 170%;
|
|
margin-right: 40px;
|
|
margin-left: 40px;
|
|
padding-right: 20px;
|
|
text-indent: 20px;
|
|
}
|
|
.h3-alike {
|
|
display:inline;
|
|
font-size: 1.17em;
|
|
font-weight: bold;
|
|
color: #0071C5;
|
|
}
|
|
h3 {
|
|
font-size: 1.17em;
|
|
font-weight: bold;
|
|
color: #0071C5;
|
|
}
|
|
.h4-alike {
|
|
display:inline;
|
|
font-size: 1.05em;
|
|
font-weight: bold;
|
|
}
|
|
pre {
|
|
font-family: "Consolas", Monaco, monospace;
|
|
font-size:small;
|
|
background: #fafafa;
|
|
margin: 0;
|
|
padding-left:20px;
|
|
}
|
|
#footer {
|
|
font-size: small;
|
|
}
|
|
code {
|
|
font-family: "Consolas", Monaco, monospace;
|
|
}
|
|
.code-block
|
|
{
|
|
padding-left:20px;
|
|
}
|
|
.changes {
|
|
margin: 1em 0;
|
|
}
|
|
.changes input:active {
|
|
position: relative;
|
|
top: 1px;
|
|
}
|
|
.changes input:hover:after {
|
|
padding-left: 16px;
|
|
font-size: 10px;
|
|
content: 'More';
|
|
}
|
|
.changes input:checked:hover:after {
|
|
content: 'Less';
|
|
}
|
|
.changes input + .show-hide {
|
|
display: none;
|
|
}
|
|
.changes input:checked + .show-hide {
|
|
display: block;
|
|
}
|
|
|
|
ul {
|
|
margin: 0;
|
|
padding: 0.5em 0 0.5em 2.5em;
|
|
}
|
|
ul li {
|
|
margin-bottom: 3px;
|
|
}
|
|
ul li:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
.disc {
|
|
list-style-type:disc
|
|
}
|
|
.circ {
|
|
list-style-type:circle
|
|
}
|
|
|
|
.single {
|
|
padding: 0 0.5em;
|
|
}
|
|
|
|
/* ------------------------------------------------- */
|
|
/* Table styles */
|
|
table{
|
|
margin-bottom:5pt;
|
|
border-collapse:collapse;
|
|
margin-left:0px;
|
|
margin-top:0.3em;
|
|
font-size:10pt;
|
|
}
|
|
tr{
|
|
vertical-align:top;
|
|
}
|
|
th,
|
|
th h3{
|
|
padding:4px;
|
|
text-align:left;
|
|
background-color:#0071C5;
|
|
font-weight:bold;
|
|
margin-top:1px;
|
|
margin-bottom:0;
|
|
color:#FFFFFF;
|
|
font-size:10pt;
|
|
vertical-align:middle;
|
|
}
|
|
th{
|
|
border:1px #dddddd solid;
|
|
padding-top:2px;
|
|
padding-bottom:0px;
|
|
padding-right:3px;
|
|
padding-left:3px;
|
|
}
|
|
td{
|
|
border:1px #dddddd solid;
|
|
vertical-align:top;
|
|
font-size:100%;
|
|
text-align:left;
|
|
margin-bottom:0;
|
|
}
|
|
td,
|
|
td p{
|
|
margin-top:0;
|
|
margin-left:0;
|
|
text-align:left;
|
|
font-size:inherit;
|
|
line-height:120%;
|
|
}
|
|
td p{
|
|
margin-bottom:0;
|
|
padding-top:5px;
|
|
padding-bottom:5px;
|
|
padding-right:5px;
|
|
padding-left:1px;
|
|
}
|
|
.noborder{
|
|
border:0px none;
|
|
}
|
|
.noborder1stcol{
|
|
border:0px none;
|
|
padding-left:0pt;
|
|
}
|
|
td ol{
|
|
font-size:inherit;
|
|
margin-left:28px;
|
|
}
|
|
td ul{
|
|
font-size:inherit;
|
|
margin-left:24px;
|
|
}
|
|
.DefListTbl{
|
|
width:90%;
|
|
margin-left:-3pt;
|
|
}
|
|
.syntaxdiagramtbl{
|
|
margin-left:-3pt;
|
|
}
|
|
.sdtbl{
|
|
}
|
|
.sdrow{
|
|
}
|
|
.sdtblp{
|
|
border:0px none;
|
|
font-size:inherit;
|
|
line-height:120%;
|
|
margin-bottom:0;
|
|
padding-bottom:0px;
|
|
padding-top:5px;
|
|
padding-left:0px;
|
|
padding-right:5px;
|
|
vertical-align:top;
|
|
}
|
|
.idepara, .ide_para{
|
|
border:0px none;
|
|
font-size:inherit;
|
|
line-height:120%;
|
|
margin-bottom:0;
|
|
padding-bottom:0px;
|
|
padding-top:5px;
|
|
padding-left:0px;
|
|
padding-right:5px;
|
|
vertical-align:top;
|
|
}
|
|
|
|
.specs {
|
|
border-collapse:collapse;
|
|
}
|
|
.specs td, .specs th {
|
|
font-size: 14px;
|
|
}
|
|
.specs td {
|
|
border: 1px solid black;
|
|
}
|
|
.specs td td, .specs td th {
|
|
border: none;
|
|
}
|
|
.specs td, .specs td td, .specs td th {
|
|
padding: 0 0.2em 0.2em;
|
|
text-align: center;
|
|
}
|
|
.specs td tr:last-child td,
|
|
.specs td tr:last-child th {
|
|
padding: 0 0.2em;
|
|
}
|
|
.serial-time {
|
|
}
|
|
.modified-time {
|
|
width: 6.5em;
|
|
}
|
|
.compiler {
|
|
}
|
|
.comp-opt {
|
|
}
|
|
.sys-specs {
|
|
width: 18em;
|
|
}
|
|
.note {
|
|
font-size:small;
|
|
font-style: italic;
|
|
}
|
|
</style>
|
|
<title>Intel® Threading Building Blocks Samples</title>
|
|
</head>
|
|
<body>
|
|
|
|
<div id="banner">
|
|
<img class="logo" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEMAAAAsCAYAAAA+aAX8AAAAAXNSR0IArs4c6QAAAARnQU1BAACx
|
|
jwv8YQUAAAAJcEhZcwAALiIAAC4iAari3ZIAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVh
|
|
ZHlxyWU8AAAIN0lEQVRoQ+WaCaxdUxSGW2ouatZWaVS15nkqkZhSVERQglLEPCam1BCixhqqCKUS
|
|
NIiYpxhqHmouIeaY5ylFzA/v1fev8+/j3N5737v3vtf3buNP/uy9/7X2Ovuse4a997m9mgltbW2L
|
|
wRHwcHgFfAx+AH+GCb/BT2fNmvUk5ZXwYOrrOsTcCU5CJ74pPBJeA5+Bn8LfOLmagf/f8Af4NrwD
|
|
ngg3wdTHh2pOMMB1Gejx8AE4M85mNqD/A7+D78GXkXQFTIMPwUfhdPg6/AxWTRw29b8QruPD9zwY
|
|
zPrwHPi2xxmg3QrfgDfD05BGU24EB1HvC3s7REXgtwDsDzeEY+Ak+AJsUfwE2sJdcBN37V4whiU4
|
|
+KGUM2JEBtpzUInZEa5g9y4FcYfAo+GLPmwOND2HFrXrnAUHWgnq0vzDB2+Bt0H9coPs1m3gmNvD
|
|
ZyITBu234Jp26XoQfCC80sfTAXVv7wOXskuPgnHoSvnTw9P49MDdyOauAQEXhWdC4Vd4ARxmc1OB
|
|
cW0Gv3U+lJDvKFa0ufMg4GXwR3gs7J57sRNoaWnR2+znLB2RkKds6jwItvbckIQiGO+eTkSby71t
|
|
qh100qtsUCJxmmpSw5i2gWebR1jWm2047T1gf0vyfViJEKi/TtHua7wMdNJs8U/zDzjUpqYA47k4
|
|
O704wY+kUZ2P+glQc5ldac9j323sF1cH2EB6h8BxYZdbRDeDOJ16UBJiHDFuMMdYbhjEGA8DxJ4h
|
|
jXIemmMpz6ccqbZ1JUlT/3SrHC+9XeB0MjzV9RHqKFAXVg2nBkH/lxxO8aZYbhjEKEuGQH1BuCKc
|
|
z1IAN61jAtiut1wZ+ByIkwa6r9t6ZmhSFZw9eL0gxiMw4SLLDYMYFZNRDbhpcpgwzXI5MOqSEvKM
|
|
Ue8D+xU4r/Xe+C8HB1ThkhFgNqAXk6FVqyZuA1LcItBXQd+WUvf6YMslwFZvMs7KvMP/SculwKa3
|
|
hfYPPsZpfsvS9QD9PRHbcOmUC9J+H2qfoRJ/0MHgFhHIQC8mQ8twxZ0Ji099vSGegn/TP0BdD/Db
|
|
Ycn0nna9yZiceQcetFwKDE/4oNtZCtDeXHoC7dWlU1Uyvs7U6sBHJ7FaBAPU82TYJUAzFnCU+1mq
|
|
COyfwGLi6k3G05l34BrL/wFxjA/0mKUcaNqBKiJODHclQ3sLCVqZprfEvVCLtThhiskRDFAvXhnv
|
|
QPlfi5uW7ytTL14Nr0Bd1pfDXy1Lv93h6koGLstCLR/SuPJ5SQBBD8hPZATbWs6BrdZk7B4dDNpT
|
|
Mjkw3bL0YjLOsxygPUWDyExtD1GNV6JAeyTUBlDCKtbrScYxhfjyj1s+B9o+dnifIj94AnpNyaC9
|
|
f3QwkNJCTnjOsvRiMi6xrHiaA3ycyYFNbcqBpisl/aoHWaspGdg03uIc43mb/gOilt3CREslQG80
|
|
GedmlkC1KyNPBnU9wOPWMp6Aut0S74HfwIQJ7ldTMjBPdBIiGWC0TRkQlseWNmR2tlwC9DmZjEmW
|
|
pQ/zOAKqtwdcrnW/DpOBPtp9Ii6F9lhL1yWIo2zUvVhxzYHeLVcG/QfT/iuTA3qwan+zGndVP8p2
|
|
k4G8E/wLW4D6PxTlnxgwaDEjaMe6n+USYOvqZKTbUrjQcor3ZSYHRtjULvCrmgwkfY5oRc9B+3Cb
|
|
S4FhIhS+gAtZLgH9Y6GWuQU6mwx9IEqYajlA+47CsZ6lGovFBDTNkA9xM4CmpXsAWySDUrPjqZQl
|
|
QBsfnSoB41UKAvS9ouJmDfpaDpTQ2WRcXYinCZm+pdyEtDClPgLloP0unABPp3lrpoZ+KkWskSgP
|
|
sVZMhlat2t7LQftE2aoCh0sVBOheXclyCYjTp7W19bUsZAQtJuPLTA39gOhg0D7PJtny1xj1tWA+
|
|
sUpAG2j7mZaqAh9tzPSVP+XStL+w/qY1XRlfWdOSYXvp7QKnU6Ayqk4jLZcB2zD4gv1iu52qkvG5
|
|
NKPsyrCuPs9aDtDeDr4EtS7RRyXNCgfYLPtYfoC33D0Hul6tE6jOfvsMhVqaT8PWG85PXR+WxlOP
|
|
pHUIHPNXDsif7NWAT773STdlX6vK4ebi4WRgWybZqFe86tBXUAw4BL+S7UTautTXo9yFcjdKPbsq
|
|
PuQTsKdbZ16YLzZrAgdRRvXLCF/Big/R/wXInn5dffdMt8opNs214Bz6cyqNbUDRcZwTIWjDt3m+
|
|
XtcBxq3pvL6p6mFftlFUE+i8JPxRCRGoawVbcVepGcF4V4eTGPNPHv+7NjUGAhzmQOl20fyhphlg
|
|
T4CxLcQw9WC9Gxb3P4Q37NY4CHJXCuhSW3JnwEXs0qNgSHqVbw210ZP2XwK0A65/6C6NgziaAU5X
|
|
wCIUHB4H86227gKH1+JtL3gd1N5sCdACbgZo5rtgnQKx+hLs/ixsdjBXBd2TtyKNhUOp1/dprgMQ
|
|
rx9x16fcn1KbttrIyf9OkICWw1KApvY2YyXbpSBobKf7OGXApFtI+5d3Qq1BDoL6V87GcDVc9Ivq
|
|
E4D+bjTQbc1i9demreDu8Ch0ffG6hdnmDMrvFbsSsAXczIGk3fwb4VYe+pwBB9Angkd83ADtqgkq
|
|
AjetdTTV1icDlfl+Qi3AP4elHEjaDXscHgFjPdNt4ID6S9B9sNLiKoelmuFuJbCpDJi+hvqz2qFw
|
|
iIfWc2AQusxPgvq484vH2eUgtpYHH0Hteeqb75ZwMQ+j+cDg9PlwFDwd6o9sr0KtbWI/tSPgp32M
|
|
76H+s6mNX3030df5neGq1OtbZDUbOIlFoFaha0L9j0qfCHeAerDqVtODU8+hNThZfR1fHHbpG6kx
|
|
9Or1LzUmVVz+HJXDAAAAAElFTkSuQmCC">
|
|
<h1 class="title">Intel® Threading Building Blocks Samples</h1>
|
|
</div>
|
|
|
|
<p>
|
|
This directory includes example usages of Intel® Threading Building Blocks (Intel® TBB).
|
|
</p>
|
|
|
|
<div class="changes">
|
|
<div class="h3-alike">System Requirements:</div>
|
|
<input type="checkbox">
|
|
<div class="show-hide">
|
|
<p>
|
|
For the most up to date system requirements, see the <a href="http://software.intel.com/en-us/articles/intel-threading-building-blocks-release-notes">release notes.</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="changes">
|
|
<div class="h3-alike">Directories</div>
|
|
<input type="checkbox" checked="checked">
|
|
<div class="show-hide">
|
|
<dl>
|
|
<dt><a href="GettingStarted/index.html">GettingStarted</a>
|
|
<dd>Examples from the Intel TBB <a href="http://software.intel.com/en-us/tbb-tutorial">Getting Started Guide</a>.
|
|
<dt><a href="concurrent_hash_map/index.html">concurrent_hash_map</a>
|
|
<dd>Examples using <code>concurrent_hash_map</code> container.
|
|
<dt><a href="concurrent_priority_queue/index.html">concurrent_priority_queue</a>
|
|
<dd>Examples using <code>concurrent_priority_queue</code> container.
|
|
<dt><a href="graph/index.html">graph</a>
|
|
<dd>Examples using Intel TBB Flow Graph feature.
|
|
<dt><a href="parallel_do/index.html">parallel_do</a>
|
|
<dd>Examples using <code>parallel_do</code> algorithm.
|
|
<dt><a href="parallel_for/index.html">parallel_for</a>
|
|
<dd>Examples using <code>parallel_for</code> algorithm.
|
|
<dt><a href="parallel_reduce/index.html">parallel_reduce</a>
|
|
<dd>Examples using <code>parallel_reduce</code> algorithm.
|
|
<dt><a href="pipeline/index.html">pipeline</a>
|
|
<dd>Examples using <code>pipeline</code> algorithm.
|
|
<dt><a href="task/index.html">task</a>
|
|
<dd>Examples using raw <code>task</code> interface.
|
|
<dt><a href="task_group/index.html">task_group</a>
|
|
<dd>Examples using <code>task_group</code> interface.
|
|
<dt><a href="task_arena/index.html">task_arena</a>
|
|
<dd>Examples using the <code>task_arena</code> feature.
|
|
<dt><a href="test_all/index.html">test_all</a>
|
|
<dd>Examples that test various components of Intel TBB.
|
|
<dt><a href="common/index.html">common</a>
|
|
<dd>Common files for building various examples. Should not be used directly. But if you copy an example to other place this folder should be copied also and should have the same relative path for copied example.
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="changes">
|
|
<div class="h3-alike">Build Instructions</div>
|
|
<input type="checkbox" checked="checked">
|
|
<div class="show-hide">
|
|
<br>
|
|
<div class="note">
|
|
Note: Some of the following directions refer to a shell window. This refers
|
|
to the command prompt environment/window normally used on your system:
|
|
<ul>
|
|
<li>cmd.exe command prompt window for Windows* systems
|
|
<li>sh, bash, csh, ksh, etc. (or compatible) shell window for Windows*, Linux*or OS X* systems
|
|
</ul>
|
|
</div>
|
|
<p>
|
|
Set up the environment for using Intel TBB:
|
|
</p>
|
|
<div class="h4-alike">To set up the environment for Windows* OS:</div>
|
|
<input type="checkbox">
|
|
<div class="show-hide">
|
|
|
|
<p>
|
|
It is <b>strongly</b> recommended to set up the environment when installing Intel TBB.
|
|
Do this by selecting the appropriate check-box during the install. However, if the environment is not set up
|
|
during installation, or you wish to build for an alternate architecture or Microsoft* Visual Studio* version,
|
|
it may be set up, for a given type of shell window, by using one of the following commands:
|
|
</p>
|
|
<dl>
|
|
<dt>For cmd.exe (command prompt):
|
|
<dd>
|
|
<pre>
|
|
<<i>installdir</i>>/bin/tbbvars.bat (arch) [vs]
|
|
</pre>
|
|
<dt>where:
|
|
<dd>
|
|
<li><i>(arch)</i> argument represents target architecture. Its possible values are 'ia32' or 'intel64'.
|
|
<li><i>[vs]</i> argument represents target version of Microsoft* Visual Studio*. Its possible values are:
|
|
<ul class='circ'>
|
|
<li><i>'vs<msvs_version>'</i> - to use TBB with Microsoft* Visual Studio* <i><msvs_version></i> runtime DLLs, e.g.: <code>tbbvars intel64 vs2015</code>
|
|
<br><i>Note:</i> for the most up to date supported versions of Microsoft* Visual Studio*, see the <a href="http://software.intel.com/en-us/articles/intel-threading-building-blocks-release-notes">release notes.</a>
|
|
<li><i>'all'</i> - to use TBB statically linked with Microsoft Visual C++ runtime.
|
|
<br>If <i>[vs]</i> is not set the <i>'all'</i> value will be used by default.
|
|
</ul>
|
|
</dl>
|
|
</div>
|
|
<br>
|
|
<div class="h4-alike">To set up the environment for Linux* OS and OS X*:</div>
|
|
<input type="checkbox">
|
|
<div class="show-hide">
|
|
<p>
|
|
The environment may be set up, for a given type of shell window, by using one of the following commands:
|
|
</p>
|
|
<dl>
|
|
<dt>For sh, bash, ksh, dash (or compatibles):
|
|
<dd>
|
|
<pre>
|
|
<b>.</b> <<i>installdir</i>>/bin/tbbvars.sh (arch) [platform [TBBROOT_detection_mode]]
|
|
</pre>
|
|
<dt>For csh (or compatibles):
|
|
<dd>
|
|
<pre>
|
|
source <<i>installdir</i>>/bin/tbbvars.csh (arch) [platform [TBBROOT_detection_mode]]
|
|
</pre>
|
|
<dt>where:
|
|
<dd>
|
|
<li><i>(arch)</i> argument represents target architecture. Its possible values are <i>'ia32'</i> or <i>'intel64'</i>.
|
|
<li><i>[platform]</i> argument represents target platform. Its possible values are <i>'linux'</i> or <i>'android'</i>.
|
|
<li><i>[TBBROOT_detection_mode]</i> argument represents TBBROOT path detection method. Its only possible value is <i>'auto_tbbroot'</i>. In this case the environment variable TBBROOT is detected automatically by using the tbbvars script directory path.
|
|
</dl>
|
|
Environment setup need only be performed once per shell window to be used.
|
|
<br>Always source tbbvars.sh or tbbvars.csh rather than executing them directly.
|
|
<br>If the arguments to the sourced script are ignored (consult documentation for your shell) the alternative way to specify target is environment variables COMPILERVARS_ARCHITECTURE to pass (arch) to the script and COMPILERVARS_PLATFORM to pass [platform].
|
|
|
|
</div>
|
|
<p>
|
|
Build each example by using one of the following methods:
|
|
</p>
|
|
<div class="h4-alike">To build by using a Microsoft* Visual Studio* project (Windows* systems):</div>
|
|
<input type="checkbox">
|
|
<div class="show-hide">
|
|
<ol>
|
|
<li>Identify the solution (*.sln) file for the example you wish to build and run. The *.sln file for each example is in the example's <i>msvs</i> sub-directory.
|
|
<li>Open the project by using one of the following methods:
|
|
<ul class="disc">
|
|
<li>Navigate to the *.sln file from My Computer, by using Windows Explorer, or by using another file browser. Double-click the *.sln file to invoke Microsoft* Visual Studio* and open the project.</li>
|
|
<li>Invoke Microsoft* Visual Studio* from the Start menu and use the "Open Project" dialog to navigate to and open the project.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Press <ctrl-F5> to build and run the example.</li>
|
|
<li>If you copied an example to another place separately from libraries you need to
|
|
set %TBBROOT% variable pointing to <installdir> folder.</li>
|
|
</ol>
|
|
</div>
|
|
<br>
|
|
<div class="h4-alike">To build by using a Xcode* IDE project (OS X* systems):</div>
|
|
<input type="checkbox">
|
|
<div class="show-hide">
|
|
<br>
|
|
<div class="note">
|
|
Note: XCode project instructions are not applicable for the Intel TBB Sample Bundle for Intel® System Studio
|
|
because Intel System Studio does not support OS X. For additional information, see the
|
|
<a href="https://software.intel.com/en-us/articles/intel-system-studio-release-notes">Release Notes</a>.
|
|
</div>
|
|
<ol>
|
|
<li>Identify the project (*.xcodeproj) file for the example you wish to build and run. The *.xcodeproj file is in the example's xcode sub-directory.</li>
|
|
<li>Open the project by using one of the following methods:
|
|
<ul class="disc">
|
|
<li>Navigate to the *.xcodeproj file by using the Finder.Double-click the *.xcodeproj file to invoke the Xcode* IDE and open the project.</li>
|
|
<li>Invoke the Xcode* IDE and use the "File -> Open" dialog to navigate to and open the project.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Press <Apple-R>, or press the "Build and Go" button in the toolbox, to build and run the example.
|
|
</li>
|
|
</ol>
|
|
</div>
|
|
<br>
|
|
<div class="h4-alike">To build by using a Makefile (Windows*, Linux* or OS X* systems):</div>
|
|
<input type="checkbox">
|
|
<div class="show-hide">
|
|
<ol>
|
|
<li>Open a shell window
|
|
<ul class="disc">
|
|
<li>For Windows* systems, make sure this shell window has the proper environment
|
|
defined for use with Microsoft* Visual Studio*. Such shell can be invoked from the Start menu, under Microsoft* Visual Studio*, Microsoft* Visual Studio Tools*, Microsoft* Visual Studio* Command Prompt.</li>
|
|
</ul>
|
|
<li>Set up the environment in this shell window for use with Intel TBB.
|
|
<br>See above for how to set up the environment for Windows*, Linux* or OS X* systems.
|
|
<li>Unless you installed Intel TBB yourself, you may not have write permissions to the directory
|
|
containing the example. In this case, make a copy of the example, and use the copy for the following steps.
|
|
<li>In the shell window, navigate to the directory for the example
|
|
(or to the directory for the copy of the example if you made one in the previous step).
|
|
<li>Use one or more of the following commands to build and run the example.
|
|
Here, make refers to the make command normally used on your system: this could be
|
|
nmake, gmake, or make on Windows* systems, or make or gmake on Linux* or OS X* systems.
|
|
<dl>
|
|
<dt><tt>make</tt>
|
|
<dd>Default build and run. Equivalent to 'make release test'.
|
|
<dt><tt>make release</tt>
|
|
<dd>Compile and link against the release version of Intel TBB runtime library. The resulting executable is left in the directory for the example.
|
|
<dt><tt>make debug</tt>
|
|
<dd>Compile and link against the debug version of Intel TBB runtime library. The resulting executable is left in the directory for the example.
|
|
<dt><tt>make test</tt>
|
|
<dd>Run an executable previously produced by one of the above commands.
|
|
<dt><tt>make <b>[</b>(above options or targets)<b>]</b> CXX=<b>{</b>icl, icc<b>}</b></tt>
|
|
<dd>Build and run as above, but use Intel® C++ Compiler instead of default, native compilers (e.g., icl instead of cl.exe on Windows* systems, or icc instead of g++ on Linux* or OS X* systems).
|
|
<dt><tt>make <b>[</b>(above options or targets)<b>]</b> offload=mic</tt>
|
|
<dd>Build and run the offload version of an example for Intel® Many Integrated Core (Intel® MIC) Architecture.
|
|
<br>
|
|
<div class="note">
|
|
Note: Only Intel® MIC Architecture with Linux* based host is currently supported.
|
|
</div>
|
|
<dt><tt>make clean</tt>
|
|
<dd>Remove any executables or intermediate files produced by the above commands.
|
|
</dl>
|
|
</ol>
|
|
</div>
|
|
<br>
|
|
</div>
|
|
</div>
|
|
|
|
<br>
|
|
<a href="../index.html">Up to parent directory</a> (available only in the Intel® Parallel Studio and Intel® System Studio Online Samples packages and the open-source version of Intel TBB)
|
|
<hr>
|
|
<div class="changes">
|
|
<div class="h3-alike">Legal Information:</div>
|
|
<input type="checkbox">
|
|
<div class="show-hide">
|
|
<br>
|
|
<div class="tablenoborder">
|
|
<table border="1" rules="all" frame="border" cellspacing="0" cellpadding="4" summary="">
|
|
<thead align="left">
|
|
<tr>
|
|
<th width="100%" align="left" class="cellrowborder" valign="top">
|
|
<p>Optimization Notice</p>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<tr>
|
|
<td width="100%" class="bgcolor(#f5f5f5)" valign="top" bgcolor="#f5f5f5">
|
|
<p>Intel's compilers may or may not optimize to the same
|
|
degree for non-Intel microprocessors for optimizations that
|
|
are not unique to Intel microprocessors. These optimizations
|
|
include SSE2, SSE3, and SSSE3 instruction sets and other
|
|
optimizations. Intel does not guarantee the availability,
|
|
functionality, or effectiveness of any optimization on
|
|
microprocessors not manufactured by Intel.
|
|
Microprocessor-dependent optimizations in this product are
|
|
intended for use with Intel microprocessors. Certain
|
|
optimizations not specific to Intel microarchitecture are
|
|
reserved for Intel microprocessors. Please refer to the
|
|
applicable product User and Reference Guides for more
|
|
information regarding the specific instruction sets covered by
|
|
this notice.
|
|
</p>
|
|
<p>Notice revision #20110804
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<p>
|
|
Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries.
|
|
<br>* Other names and brands may be claimed as the property of others.
|
|
<br>© 2016, Intel Corporation
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
</body>
|
|
</html> |