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.
Chapter 9 Scaling and Data
Movement
The only thing better than porting a program to run on a CUDA GPU is
porting a program to run on more than one CUDA GPU! This chapter
describes CUDA’s facilities for using more than one GPU – threading
models, peer-to-peer, and inter-GPU synchronization – and the
data-movement layer that carries a program from a single GPU out to a
cluster: the GPUDirect family, collective communication, and direct
storage access.
As an example, we’ll explore single- and multi-threaded
implementations of the N-body problem that use multiple GPUs.