More than ever, multithreading is a requirement for good performance of systems with multi-core chips. This guide explains how to maximize the benefits of these processors through a portable C++ library that works on Windows, Linux, Macintosh, and Unix systems. With it, you’ll learn how to u…
Little more than the Intel PDFs
Cons: Not comprehensive enough, Difficult to understand, Too many errors
Best Uses: Expert
Describe Yourself: Developer
The book mostly consists of slightly-annotated variations of the threadbuildingblocks.com PDFs, albeit slightly easier to read thanks to the O’Reilly layout. But, for example, the parallel_scan description is exactly the same – and just as difficult to comprehend – as that in the “GettingStarted.pdf” over at tbb.
Alas the book is already out-of-date; the online documentation versions include C++0x Lambda expression examples, while the book includes a short comment on the possible future of Lambdas right at the end.
The book retains the online-docs helter-skelter launch into things, so if you were hoping the book might walk you into how things work with a little more grace, you’ll be dissapointed.
Lastly: The book continues the emphasis on algorithmic crunching; I was hoping that in the book they might at least invest a little additional time into describing independent parallelism, aka threading. Alas, aside from the stock parallel_while and pipeline documentation from the tbb site, it doesn’t really go into it. There is some coverage of the task scheduler, but it is an old version of the online documentation, so it explores how the task scheduler works rather than examining practical use cases.
With that said: It fails to inspire any real “wow” as to how TBB might really benefit a non-trivial parallelization task over the equally algorithm-centric OpenMP.