Author's Blogs

YetiSim's Application of Threading Building Blocks
By Kevin Farnham Posted on 10/22/07 2
In earlier posts I reviewed three of the four winning submissions to the "Coding with TBB" contest that was launched at OSCON and which completed on August 31. In this post I look at the fourth winning entry, AJ Guillon's YetiSim. YetiSim is: a discrete event simulation library for C++ built with...
Hierarchically Tiled Arrays and Threading Building Blocks
By Kevin Farnham Posted on 09/28/07 0
A Hierarchically Tiled Array (HTA) "is a class designed to facilitate the writing of programs based on tiles in object-oriented languages. HTAs allow to exploit locality as well as to express parallelism with much less effort than other approaches." This description, from the HTA project's home p...
TBB Multithreading of par2cmdline: Coding Highlights
By Kevin Farnham Posted on 09/26/07 0
As promised in my last post, I took a closer look at the code changes and additions Vincent Tan made to multithread the par2cmdline utility using Threading Building Blocks. TBB-threaded par2cmdline implementation notes The README_FIRST.txt file that Vincent includes in his source download has a ...
TBB Multithreading of the par2cmdline Utility
By Kevin Farnham Posted on 09/26/07 1
I've taken a look at the source code for Vincent Tan's par2cmdline 0.4 with Intel Thread Building Blocks 2.0 project. This project was the grand prize winner in the Coding with TBB Contest that ran from late July through August. Contest entrants had to show how they applied Threading Building Blo...
Threading Building Blocks, PThreads, and Gentoo Linux
By Kevin Farnham Posted on 09/19/07 5
Tonight I spoke with a new (to me) person who has integrated Threading Building Blocks into an interesting application. This developer originally worked using pthreads, then decided about a month ago to switch to Threading Building Blocks (after his pthreads application only marginally improved p...
Threading Building Blocks Atomic Operations: Introduction
By Kevin Farnham Posted on 09/12/07 3
I've been curious about Threading Building Blocks atomic operations ever since I learned that they exist. In my 14 years of developing multithreaded applications on Unix and Windows systems, I never came across that kind of construct. Does something similar exist in traditional threading librarie...
Globalized TBB Environment Configuration on Linux
By Kevin Farnham Posted on 09/09/07 5
Last night I was chatting on the #tbb IRC channel with grad student who's experimenting with Threading Building Blocks. His platform is an Intel quad-core system running Fedora, and he was having a problem working with one of the TBB sample problems. We quickly realized that the user's environmen...
Intel's Destroy the Castle Threading Demo Application
By Kevin Farnham Posted on 08/28/07 2
"Destroy the Castle" is an application Intel engineers created to "show how games can take advantage of multi-core processors." The program was first shown at the 2006 Game Developers Conference. A version of Destroy the Castle that implements Threading Building Blocks is available, in addition t...
Threading Building Blocks Parallel_for Task Stealing Demo
By Kevin Farnham Posted on 08/15/07 3
To experiment with Threading Building Blocks task stealing, I further modified the sub_string_finder_extended.cpp program that I've used for my recent parallel_for testing. I had previously specified a grain size of 2000, which resulted in TBB applying an effective grain size of about 1107 and di...
Threading Building Blocks Scheduling and Task Stealing: Introduction
By Kevin Farnham Posted on 08/13/07 1
Assume you have N tasks to complete, all identically structured in terms of input and output data. If your data is stored in arrays, the simplest programming structure is to perform the calculations in a loop that iterates through the input arrays and writes results into the corresponding output ...