Menu

New Edition Required: Good Book, but Unfortunately Outdated

March 20, 2014

“Using OpenMP” is a good introduction and contains a few good performance tips.

This book was published in 2008, when version 2.5 of OpenMP was current. Back then, I would have given the book four stars. I would have deducted one star because, for example, there are errors in the sample code.

But the past 6 years have been a small eternity in the field of parallel programming. And here I find it negative that there is still no 2nd edition of the book. Consequently, it is now only 3 stars.

With version 3.0, which was also released in 2008, the “task” construct was introduced in OpenMP. This should actually be the starting point for parallelization with OpenMP today. The previous “for” pragma is not efficiently composable, meaning that sub-functions should not parallelize themselves, because then many more threads are started than there are processors available. This often leads to poor code or poor utilization.

And by version 4.0 at the latest, which appeared in mid-2013, a new edition of the book is required. This version supports SIMD instructions, user-defined reductions, and also supports GPU computing—the offloading of computational operations to graphics cards.

Otherwise, the book provides a good introduction with some good performance tips, such as the optimization of memory access patterns.

  • Barbara Chapman, Gabriele Jost, Ruud Van Der Pas
  • Using OpenMP
  • MIT Press
  • 2008

See also the review at Amazon.

categorySoftware Engineering