Welcome Guest | Login | Register
 
TBB Home

Latest News

DevX Article Series: In the first part of a two part series Dave Vanden Bout talks about parallel_for, parallel_scan, and parallel_sort and provides templates to help you get started using those algorithms quickly in Five Easy Pieces: TBB's parallel_* Constructs, Part 1.

DevX Featured Algorithm Series: Alexandra Weber Morales talks with Adrien Guillon, an undergraduate student in the computer science and mathematics specialist program at the University of Toronto, about his YetiSim application.  YetiSim uses TBB's parallel_reduce to "divide-and-conquer" as discussed in Intel Threading Building Blocks: parallel_reduce.

Online Documentation Available: TBB's Doxygen documentation is now available online from the Documentation page.

More

Blogs

Implementing task_group interface in TBB
"The TBB class task was designed for high-performance implementations of the TBB templates.  It's efficiency, particularly its emphasis on continuation-passing style, comes at some price in convenienc..."
Posted July 2, 2008 06:53:06 by Arch Robison (Intel)

Observations from Parallel Sorting Part I: the subtleties of tbb::parallel_reduce
"In this series of postings, I discuss two common sorting algorithms, mergesort and quicksort, and highlight some of the interesting issues that arise when creating parallel implementations using TBB.Â..."
Posted June 24, 2008 08:43:02 by Michael Voss (Intel)

Under the hood: Employing hooks to explore TBB task scheduler
"On a quest to understand the TBB scheduler and how it might be used to schedule tasks with order dependencies (i.e., a place where you’d like to block access to an object until it can get built), Iâ..."
Posted June 16, 2008 12:10:20 by Robert Reed (Intel)

More

Forums

Re: Data Structures with Atomic Operations
"I don't know what the performance tests do, but spin_rw_mutex is just a drop-in replacement with a little bit extra functionality only for internal use, so..."
Posted July 4, 2008 09:55:55 by Raf_Schietekat

Re: Data Structures with Atomic Operations
"Oh. Raf, sorry, not yet. It was difficult to run the same performance tests for the latest version as I made before due to your modifications to spin_rw_mutex and our code-freeze time. I do believe th..."
Posted July 4, 2008 07:27:16 by MAD\amalakho

Re: Data Structures with Atomic Operations
"Ah, some light evening reading, thanks... Now will "aj.guillon" be the champion for wait-free algorithms? I would relish a good fight between, e.g., a lock-free (wait-free?) skip list map like Java ap..."
Posted July 3, 2008 22:18:08 by Raf_Schietekat

More

Welcome to Threading Building Blocks.org!

Intel® Threading Building Blocks (TBB) offers a rich and complete approach to expressing parallelism in a C++ program. It is a library that helps you take advantage of multi-core processor performance without having to be a threading expert. Threading Building Blocks is not just a threads-replacement library. It represents a higher-level, task-based parallelism that abstracts platform details and threading mechanism for performance and scalability and performance.

Recent Articles

DevX Featured Algorithm Series: Alexandra Weber Morales talks with Richard Bowler, CTO of Aeshen LLC, about his PackRat application, which uses multithreading via a TBB pipeline to speed up file compression in Threading Building Blocks: The Pipeline Class.

DevX Article Series: In The Challenges of Developing Multithreaded Processing Pipelines Ryan Bloom talks about how developing applications for multi-core processors will require developers to introduce threading into their software to allow more instructions to be executed simultaneously. He then describes how to go about doing this and how it depends upon your objectives, knowledge and how soon you need to deploy your application.

DevX Featured Algorithm Series: Alexandra Weber Morales talks with the Coding with TBB Contest winner Vincent Tan about his use of parallel_for in par2cmdline 0.4 in Intel Threading Building Blocks: parallel_for().

More

Upcoming Events

HIPS-POHLL 2008: Intel's Arch Robison recently presented a keynote talk at this year's conference called "Optimization via Reflection on Work Stealing in TBB". HIPS-POHLL 2008 is a full-day workshop to be held at the IPDPS 2008 focusing on high level parallel programming models and performance optimization for high level languages and tools, and will bring together researchers working in these areas. Download the presentation in the Extras Section.

OSCON Open Source Convention (July 21-25, 2008 in Portland, OR)

Tutorials and presentations TBD.

More

Why TBB

For developers, the clear benefits of Threading Building Blocks are:

  1. TBB significantly reduces the number of lines of code required to develop multithreaded applications;
  2. TBB significantly reduces the programming complexity for developing multithreaded applications (by abstracting many details of thread management);
  3. TBB's task manager automatically analyzes the system the software is running on, chooses the optimal number of threads, and performs load balancing that spreads out the work evenly across all processor cores;
  4. As a result, TBB threaded applications automatically scale to fully utilize all available processing cores on whatever computer they run on -- including future systems that will have many more cores than are available (or affordable) today.

If you have experience developing multithreaded C++ software (new applications, or conversion of legacy applications for operation on multi-processor/multi-core systems), you owe it to yourself to experiment with Threading Building Blocks: try recoding a few sections of software you've threaded using traditional thread libraries, and notice the difference.

The links at the right provide access to TBB resources and means for you to participate in the Threading Building Blocks community. If you have a question, feel free to post it in the TBB forums. Use the top navigation bar to access TBB's documentation and download the stable or development releases. The articles below also provide a good introduction to TBB.

Thanks for visiting ThreadingBuildingBlocks.org. We hope this is just the beginning of your interest in TBB and your engagement in the Threading Building Blocks Open Source community.

Search 

Page & Feed options
Print | Email to a friend | Support | RSS

Bookmark This
 Digg this   del.icio.us

Resources


Do you use TBB for open source or commercial projects?