GPU Programming

On NVIDIA GPUs, what is the unit of 32 threads bundled together to execute the same instruction in lockstep called?

  1. AA warp
  2. BA grid
  3. CA page
Show answer and explanation

Answer: A. A warp

Inside the hardware, a block's threads are grouped into warps of 32, and the 32 threads of a warp execute the same instruction at the same time on different data. Running code written as threads in lockstep bundles like this is called SIMT. AMD GPUs call the similar unit a wavefront, of 64 or 32 threads. Block sizes should normally be multiples of 32.

  • A. Correct. It is the unit the hardware schedules.
  • B. A grid is the whole of one kernel launch.
  • C. A page is a unit of virtual memory.
Practice this topic Back to topic

More GPU Programming questions

  1. How does the GPU SIMT (single instruction, multiple threads) model differ from CPU SIMD instructions?
  2. Within one warp, a conditional branch sends half the threads to the if path and half to the else path (warp divergence). How is this generally executed?
  3. Both (1) and (2) above make half the threads run A and the other half run B. Which is correct about warp efficiency (32 threads per warp)?
  4. Which describes memory coalescing on a GPU?
  5. With i as each thread's index, reading the array every 32 elements as above is slower than reading a[i]. What is the main reason?