Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Open Source

Threading Building Blocks C++ Library Goes Open Source


Intel has made its Threading Building Blocks C++ template library an open source project under the terms of the GNU General Public License, Version 2. The Threading Building Blocks (TBB) software is a C++ template library for parallel programming on multicore-based systems.

At the same time Intel says it will continue to support the commercial version of TBB 2.0, which is available for $299. This product includes one year of technical support, upgrades, and new releases. The commercial version of Intel TBB is also included with the recently launched Intel C++ Compiler Professional Editions 10.0. There are no differences between the open source and commercial versions -- Intel plans to maintain one source base and do builds for both. The difference is in commercial support for the purchased version of TBB; support for the open source version is via threadingbuildingblocks.org, a new open source website.

TBB provides an abstraction for parallelism that avoids the low-level programming inherent in the direct use of threading packages such as p-threads or Windows threads. It uses generic programming to be efficient, but you express tasks instead of threads. Intel claims this lets you build scalable programs with effort, compared to C++ with threading packages.

According to Intel senior engineer James Reinders, the TBB binaries support Windows, Linux , and Mac OS. Release and debug libraries are included in the binaries, as with the commercial version. Sources can build on these platforms so that you can reproduce the binaries yourself. Source build for other platforms (in alpha testing) for Mac OS X ( Power Mac, G5), Solaris 10, and FreeBSD.

Reinders also told said that the focus on C++ will remain, although Intel wil continue to evaluate interest and proposals for .NET and Java versions of TBB.

"C++ remains our priority," Reinders said in a Dr. Dobb's interview. "Java and .NET are used in server environments a great deal where parallelism is an every day occurrence because of running multiple processes to deal with multiple connections and other parallelism. That means the urgency for parallelism solutions on Java and .NET is less than C++."


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.