GPU Programming

How do the design philosophies of CPUs and GPUs differ?

  1. ACPUs use many simple cores for throughput; GPUs use a few powerful cores for single-task speed
  2. BOnly the names differ; the designs are the same
  3. CCPUs use a few powerful cores to finish individual tasks quickly; GPUs use many simple units to maximize total throughput
Show answer and explanation

Answer: C. CPUs use a few powerful cores to finish individual tasks quickly; GPUs use many simple units to maximize total throughput

CPUs devote circuitry to large caches, branch prediction and out-of-order execution to push a single thread as fast as possible. GPUs simplify those features and use the space for many more arithmetic units, running thousands of threads at once to maximize total throughput. Each thread may be slow, but for work that applies the same operation to large amounts of data, GPUs are many times faster.

  • A. It is the other way around.
  • B. Their designs differ greatly.
  • C. Correct. Latency-oriented versus throughput-oriented.
Practice this topic Back to topic

More GPU Programming questions

  1. Which characteristic best describes work that GPUs process quickly?
  2. Which processing tends to run inefficiently on a GPU?
  3. In GPU programming such as CUDA, what is a "kernel"?
  4. Which correctly orders the CUDA thread hierarchy from largest to smallest?
  5. A CUDA kernel computes each thread's index i with the expression above. What is i for the thread with blockIdx.x = 2, blockDim.x = 256 and threadIdx.x = 5?