A modern GPU has 5,000 to 100,000 logical processors, far more than a CPU's 8 to 128 cores. They are organized hierarchically: thousands of threads in thread blocks, thread blocks in grids. All threads in a warp (32 or 64 threads) execute the same instruction on different data. If threads in a warp take different control paths (one goes to an if-branch, another to an else), the hardware executes both paths, disabling unused threads—a penalty called divergence.
GPUs tolerate stalls better than CPUs. While some threads wait for memory, others compute, so the GPU stays productive if there are enough threads. This means a GPU can hide latency with parallelism: use 10,000 threads instead of 1,000, and waits disappear in the noise. The tradeoff is memory: each thread needs its own registers and local memory, and a GPU's memory hierarchy is different from a CPU's.