Skip to Main Content
Intel Threading Building Blocks
book

Intel Threading Building Blocks

by James Reinders
July 2007
Intermediate to advanced content levelIntermediate to advanced
332 pages
10h 4m
English
O'Reilly Media, Inc.
Content preview from Intel Threading Building Blocks

The Aha! Factor

a•ha /ä-'hä/ interjection, Middle English: Depending on manner of utterance, used to express surprise, pleasure, irony, derision, mockery, contempt, or triumph.

Studying these examples will hopefully have you saying Aha! a few times as the possibilities unfold. Here is a short list of some Aha! moments I have seen through the eyes of others, and on my own:

Splitting ranges can be complex operations

Splitting a parallel range can be far more interesting than it first seems. You can play with the data in the region represented by the range. Oh, the possibilities! See Example 11-31.

Recursion maps to parallel_for

Recursive functions convert to parallelism using parallel_for easily. It is not obvious to use parallel_for for recursion—at least not until you have this Aha! moment. It makes sense because recursion is about splitting up work, and so is parallel_for. See the section “Quicksort: Visualizing Task Stealing,” later in this chapter. Sometimes direct use of the task scheduler may seem better; see the section “A Better Matrix Multiply (Strassen),” later in this chapter.

Use implicit synchronization

Implicit synchronization is better than using locks. Develop a mindset to think about using implicit synchronization and avoiding locks. See the section “Advanced Task Programming,” later in this chapter.

Memory is shared between tasks

It’s all in the shared memory. When discussing pipelines and other algorithms, and being careful to partition access to data, it is possible ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Intel® Xeon Phi™ Coprocessor Architecture and Tools: The Guide for Application Developers

Intel® Xeon Phi™ Coprocessor Architecture and Tools: The Guide for Application Developers

Rezaur Rahman

Publisher Resources

ISBN: 9780596514808Errata Page