Prefer to read without ads? Become a member — from $10/month — and support the work. Already a member? Log in to read ad-free on this device.

3 Software Architecture

This chapter will give an overview of the CUDA software architecture. Just as Chapter 2 gave an overview of the hardware platform and how it interacts with CUDA, we’ll start with a description of the software platforms and operating environments supported by CUDA.

Next, each software abstraction in CUDA will be briefly described, from devices and contexts to modules and kernels to memory. This section may refer back to Chapter 2 when describing how certain software abstractions are supported by the hardware.

Finally, we will spend some time contrasting the CUDA runtime and driver API and examining how CUDA source code is translated into microcode that operates on the GPU.

This chapter is an overview – most of these topics are described in great detail in later chapters.

In this chapter