# Why don't 2 GPUs double the graphics performance of a computer compared to a single GPU?

Obviously, if you have 2 GPUs, it is double the hardware, and thus it should be double the power of a single GPU (assuming all GPUs are the same, of course). So why is this not the case? I searched this question on Google and things about optimization and things came up, but I still don't understand.

• Depends. Try running two benchmarks in parallel, one per GPU.
– Raphael
Jul 23 '15 at 7:15

When you are using two processors, not every task your GPU's encounter is parallel by nature. There are a certain portion of tasks which are strictly serial, and can be processed by only one processor at a given time.

If a set of tasks were to be 100% parallel your dual GPU set up should give double the speed (in theory).

A little mathematics for you: Ahmdal's law for speedup is given by

$$S = \frac{1}{[B+\frac{(1-B)}{n}]}$$, where B is the percentage of tasks that is serial in nature, n is the number of processors and S is the speedup.

Put B=0 and you wil get S, ie Speedup=2.

Practically dual GPU gives us maximum 80% speedup.

• One can also encounter constraints in other parts of the system. For example, if (to be fully utilized) each GPU requires N bytes per second of main memory bandwidth and the CPU is using all but N bytes per second of it, then there would be no speedup from adding a GPU (there could even be a slowdown from increased resource contention). Jul 23 '15 at 15:49