Using OpenMP—The Next Step

From Scientific and Engineering Computation

Using OpenMP—The Next Step

Affinity, Accelerators, Tasking, and SIMD

By Ruud van der Pas, Eric Stotzer and Christian Terboven

A guide to the most recent, advanced features of the widely used OpenMP parallel programming model, with coverage of major features in OpenMP 4.5.
Paperback $50.00 S £40.00

Overview

Author(s)

Praise

Summary

A guide to the most recent, advanced features of the widely used OpenMP parallel programming model, with coverage of major features in OpenMP 4.5.

This book offers an up-to-date, practical tutorial on advanced features in the widely used OpenMP parallel programming model. Building on the previous volume, Using OpenMP: Portable Shared Memory Parallel Programming (MIT Press), this book goes beyond the fundamentals to focus on what has been changed and added to OpenMP since the 2.5 specifications. It emphasizes four major and advanced areas: thread affinity (keeping threads close to their data), accelerators (special hardware to speed up certain operations), tasking (to parallelize algorithms with a less regular execution flow), and SIMD (hardware assisted operations on vectors).

As in the earlier volume, the focus is on practical usage, with major new features primarily introduced by example. Examples are restricted to C and C++, but are straightforward enough to be understood by Fortran programmers. After a brief recap of OpenMP 2.5, the book reviews enhancements introduced since 2.5. It then discusses in detail tasking, a major functionality enhancement; Non-Uniform Memory Access (NUMA) architectures, supported by OpenMP; SIMD, or Single Instruction Multiple Data; heterogeneous systems, a new parallel programming model to offload computation to accelerators; and the expected further development of OpenMP.

Paperback

$50.00 S | £40.00 ISBN: 9780262534789 392 pp. | 8 in x 9 in 250 b&w illus.

Endorsements

  • OpenMP has grown over its twenty-plus-year history to include vector units, NUMA, irregular parallelism, and GPUs, but books to help you learn OpenMP have not kept pace—until the excellent team of van der Pas, Stotzer, and Terboven wrote this one. If you want to update your knowledge of OpenMP and move beyond parallel loops and basic multithreading, this is the book for you.

    Tim Mattson

    Senior Principal Engineer, Intel; author of Patterns for Parallel Programming

  • This book is easy to read and well written. It has many practical examples and is a must have for everyone interested in making the best use of the OpenMP language.

    Michael Klemm

    CEO of the OpenMP Architecture Review Board