Chapter 8

Multi-CPU and Multi-GPU Solutions


In modern computing systems it’s common to have multiple devices, both CPUs and GPUs. In terms of CPUs we’ll talk about sockets and cores. A socket is a physical socket on the motherboard into which a CPU is placed. A CPU may contain one or more cores. Each core is effectively a separate entity. A number of CPU and GPU sockets are located on a single node or computer system.

Knowing the physical arrangement of cores, sockets, and nodes allows for far more effective scheduling or distribution of tasks.


The principle of locality is seen quite well in GPUs and CPUs. Memory closer to the device (shared memory on the GPU, cache on the CPU) is quicker to access. Communication within ...

Get CUDA 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.