The power availability and large chip area of desktop GPUs enable them to have characteristics different to mobile GPUs.
Desktop GPUs have:
The large power budget of desktop GPUs enables them to have these features.
Desktop GPUs have shader architectures that put threads into thread
groups. These are known as warps or wavefronts. This mechanism means that the threads must operate in lock-step. If they
do not, for example, if there is a branch in the code and threads take different directions,
the threads are said to be divergent.
When threads are divergent, the two operations are split and
must be computed twice. This halves the processing speed.
Memory on desktop GPUs is organized in a hierarchy. Data is
loaded from main memory into local memories. The local memories
are organized in banks that are split, so there is one per thread
in the thread group. Threads can access banks reserved for other
threads, but when this happens accesses are serialized, reducing