<br><br><div class="gmail_quote">2008/11/23 Mark Hahn <span dir="ltr"><<a href="mailto:hahn@mcmaster.ca">hahn@mcmaster.ca</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
one thing I was surprised at is the substantial penalty that the current gtx280-based gpus pay for double-precision.<br>
I think I understand the SP throughput - since these are genetically<br>
graphics processors, their main flop-relevant op is blend:<br>
        pixA * alpha + pixB * beta</blockquote><div><br>This is most used in texture fetching. <br>Unfortunately, for nvidia cards texture fetching units can't do general purpose processing. <br>They can only do texture fetch operations like old gpus.<br>
 </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
that's 3 sp flops, and indeed the quoted 933 glops = 240 cores @ 1.3 GHz * 2mul1add/cycle. </blockquote><div><br>The most desnse instruction that the general purpose units (stream processors) can do multiply-add, so it's: 240 cores @ 1.3 GHz * 1mul1add/cycle = 624 gflops.<br>
 </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> I'm a little surprised<br>
that they quote only 78 DP gflops - 1/12 the SP rate.<br>
I counted ops when doing base-10 multiplication on paper,<br>
and it seemed to require only 4x each SP mul.  I guess the problem might simply be that each core isn't OOO like CPUs,<br>
or that emulating DP does't optimally utilize the available 2mul+add.</blockquote><div><br>As Gtx280-based gpus main purpose is games, the architecture is heavily focused on SP operations, like the cell processor.<br>
In cell, the DP  throughput is nearly 1/10 of it's SP throughput.<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<br>
note also: 78 DP Gflops/~200W.  3.2 GHz QC CPU: 51 DP Gflops/~200W.<br>
figuring power is a bit tricky, but price is even worse.  for power,<br>
NV claims <200W (not less than 150 in any of the GTX280 reviews, though).<br>
but you have to add in a host, which will probably be around 300W;<br>
assuming you go for the C1070, the final is 4*78/(800+300).<br>
a comparison CPU-based machine would be something like 2*51/350W.<br>
amusingly, almost the same DP flops per watt ;)</blockquote><div><br>But remember that it memory interface can do 100GB/s, four times the best Nehalens commercially available, and its cores can have 1024 threads (32 warps) so it has better conditions to sustain high throughput (if your application use coherent data acces, so we come back to what Michael said).<br>
 </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<br>
does anyone know whether the reputed hordes of commercial Cuda apps<br>
mostly stick to SP?<br>
</blockquote></div><br>As Cuda started to support DP only since gtx 280 was launched, I think the answer is yes. :)<br>