# Why does a Geforce card perform 4x slower in double-precision than a Tesla card?

I've seen this mentioned in various places. From Wikipedia:

For equivalent single precision output, Fermi-based nVidia Geforce cards have four times less dual-precision performance [than Tesla cards].

I've heard vague explanations involving a 'multiplier.' Does it involve something physically disabled in the equivalent Geforce dies?

-

It's the difference between having dual-precision operations implemented in hardware and having to do a dual-precision operation as four single-precision operations.

For example, consider multiplying "16" by "43". If you had a native dual-digit multiplier, you would do it in one operation. If you only had a single-digit multiplier, you'd need to multiply 1 by 4, 1 by 3, 6 by 4, and 6 by 3, to do it. Like this:

``````   16
X 43
----
18 (6*3)
3  (3*1)
24  (4*6)
4   (4*1)
-----
688
``````

Notice that you needed to do 4 single-digit multiplications to do one two-digit multiplication, so it takes four times as long. So, if you don't have a dual-precision multiplier but only have a single-one, it takes you four times as long to do a double-precision multiplication.

-
what about the cost of the additions? how does that compare? – GreyCloud Feb 6 '12 at 10:56
Think about it, "34 + 17" requires you to do "4+7" and "3+1", then you have to add the result of those two additions. Then you have to add the carry. So four single-digit additions to do one doule-digit addition. – David Schwartz Feb 6 '12 at 10:58
This makes sense. So can each core of a Tesla GPU address 64 bits in one clock cycle, and each core of a Geforce GPU address 32 bits? – Peter Becich Feb 6 '12 at 22:56
It has nothing to do with addressing. It has to do with the width of the arithmetic units. – David Schwartz Feb 6 '12 at 23:12