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.

  • $\begingroup$ Depends. Try running two benchmarks in parallel, one per GPU. $\endgroup$ – 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.

  • 2
    $\begingroup$ 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). $\endgroup$ – Paul A. Clayton Jul 23 '15 at 15:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.