Skip to main content
Programming Your GPU with OpenMP: Performance Portability for GPUs (Scientific and Engineering Computation)

Programming Your GPU with OpenMP: Performance Portability for GPUs (Scientific and Engineering Computation)

Current price: $80.00
Publication Date: November 7th, 2023
The MIT Press
The MIT Press Bookstore
2 on hand, as of Apr 19 6:11pm
On Our Shelves Now


The essential guide for writing portable, parallel programs for GPUs using the OpenMP programming model.

Today’s computers are complex, multi-architecture systems: multiple cores in a shared address space, graphics processing units (GPUs), and specialized accelerators. To get the most from these systems, programs must use all these different processors. In Programming Your GPU with OpenMP, Tom Deakin and Timothy Mattson help everyone, from beginners to advanced programmers, learn how to use OpenMP to program a GPU using just a few directives and runtime functions. Then programmers can go further to maximize performance by using CPUs and GPUs in parallel—true heterogeneous programming. And since OpenMP is a portable API, the programs will run on almost any system.

Programming Your GPU with OpenMP shares best practices for writing performance portable programs. Key features include:

  • The most up-to-date APIs for programming GPUs with OpenMP with concepts that transfer to other approaches for GPU programming.
  • Written in a tutorial style that embraces active learning, so that readers can make immediate use of what they learn via provided source code.
  • Builds the OpenMP GPU Common Core to get programmers to serious production-level GPU programming as fast as possible.

Additional features:

  • A reference guide at the end of the book covering all relevant parts of OpenMP 5.2.
  • An online repository containing source code for the example programs from the book—provided in all languages currently supported by OpenMP: C, C++, and Fortran.
  • Tutorial videos and lecture slides.

About the Author

Tom Deakin is Lecturer in Advanced Computer Systems at the University of Bristol, researching the performance portability of massively parallel high performance simulation codes. He has given tutorials and lecture series on parallel programming models including OpenMP, SYCL, and OpenCL.

Timothy G. Mattson is a senior principal engineer at Intel where he’s worked since 1993 on: the first TFLOP computer; the creation of MPI, OpenMP, and OpenCL; HW/SW co-design of many-core processors; data management systems; and the GraphBLAS API for expressing graph algorithms as sparse linear algebra.