| Abstract: | Intel® Threading Building Blocks (Intel® TBB) is a
commercially supported open-source C++ template library for parallel
programming of shared-memory hardware. TBB stresses a scalable and
nestable approach to parallelism, which is critical for successful
multi-core modular software. I will focus on the generic algorithms
portion of TBB, which enable programmers to express parallelism at a
high level, without becoming tangled in low level details of
threading. For example, TBB's parallel_reduce template lets the
programmer specify a parallel reduction over any recursively divisible
iteration space, using any associative operation. I'll also touch on
TBB's concurrent containers, which simplify common patterns of sharing
between parallel activities. TBB rounds out its concurrency support
with critical low-level components such as locks, atomic operations,
and a scalable memory allocator.
|