The following chapters on GPU computing discuss using GPUs for scientific computing. The topics include
- In chapter 9, you’ll gain an understanding of the GPU architecture and its benefits for general-purpose computation.
- In chapter 10, you’ll learn how to build a mental representation of the programming model for GPUs.
- In chapters 11 and 12, you’ll explore the available GPU programming languages. In chapter 11, we present basic examples in OpenACC and OpenMP, and in chapter 12, we cover a broad range of GPU languages, from lower level native languages like CUDA, OpenCL, and HIP to higher level ones like SYCL, Kokkos, and Raja.
- In chapter 13, you’ll learn about profiling tools and developing a workflow model that enhances programmer productivity.
GPUs were built to accelerate computation. With a single-minded focus on improving the frame rate for computer animation, GPU hardware developers went to great lengths to increase numerical operation throughput. These devices are simply general-purpose extreme accelerators for any massively parallel operation. They are called graphics processing units because they were developed for that application.