Chapter 1Heterogeneous Parallel Computing with CUDA

What's in this chapter?

  • Understanding heterogeneous computing architectures
  • Recognizing the paradigm shift of parallel programming
  • Grasping the basic elements of GPU programming
  • Knowing the differences between CPU and GPU programming

The high-performance computing (HPC) landscape is always changing as new technologies and processes become commonplace, and the definition of HPC changes accordingly. In general, it pertains to the use of multiple processors or computers to accomplish a complex task concurrently with high throughput and efficiency. It is common to consider HPC as not only a computing architecture but also as a set of elements, including hardware systems, software tools, programming platforms, and parallel programming paradigms.

Over the last decade, high-performance computing has evolved significantly, particularly because of the emergence of GPU-CPU heterogeneous architectures, which have led to a fundamental paradigm shift in parallel programming. This chapter begins your understanding of heterogeneous parallel programming.

Parallel Computing

During the past several decades, there has been ever-increasing interest in parallel computation. The primary goal of parallel computing ...

Get Professional CUDA C Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.