Programming Your GPU with OpenMP
Performance Portability for GPUs
336 pp., 8 x 9 in, 120 b&w illus.
- Published: November 7, 2023
- Publisher: The MIT Press
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.
• 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.
“This book is an exceptional resource guiding readers on their path to becoming GPU programmers, offering a wealth of knowledge for anyone interested in mastering the art of programming GPUs using OpenMP.”
Jack Dongarra, Emeritus Professor, Electrical Engineering and Computer Science, University of Tennessee
“Programming GPUs doesn't need to be hard. This book does a fantastic job guiding you through the OpenMP features for heterogeneity and teaching you how leverage GPUs to accelerate your code.”
Michael Klemm, CEO, OpenMP Architecture Review Board
“I was delighted to read this book! With its careful separation of basic features from advanced topics, it is an excellent instructional aid as well as a suitable basis for self-learning.”
Barbara M. Chapman, Professor of Computer Science, Stony Brook University; co-author of Using OpenMP: Portable Shared Memory Parallel Programming (MIT Press)