DP Unit的问题

一直说kepler一个sm是192个core,但是看了GK110架构图(版主们一定烂熟于心了),一个sm中绿色的确实是192个,但是还有黄色的64个DP Unit,这也就是为什么K20 峰值双精度浮点性能1.17 Tflops峰值单精度浮点性能3.52 Tflops 刚好也是1:3的比例的关系吗? 那我想知道,我做科学计算基本只用双精度,是不是那些单精度核就用不到了,那既不是很浪费。。如果没有DP Unit,GPU就做不了双精度的计算了吗?

楼主您好,

这192个SP是不同的,有的具有整数乘法的电路,有的没有;有的有双精度计算的电路,有的没有。但基本的单精度电路是都有的。

如果楼主只用到双精度,那么只能使用1/3的SP。这个没办法的。

补充回答一下LZ的最后一个问题,如果GPU里面没有DP单元,那么您确实无法直接计算双精度,但是您可以自己用软件实现一个,用多次单精度计算来实现双精度。

那这么理解,我如果把全用双精度的现有的程序,一部分要求可以降低精度的变量改用单精度,是不是能用上那些单精度的core,进而使能服务我的core多了,发挥了GPU性能,计算变快? 请指教~

如果一些运算可以被替换成单精度的加法或者乘法或者乘加,以及整数的加法之类的。

那么楼主果断可以替换,可以提高贵卡的利用率的。

不过需要指出的是,是否你这样替换后性能一定就快,那个不一定。

有的时候一步简单的double运算需要多步其他运算来弥补,那么不一定核算的。

请楼主三思。

感觉nvidia可以细化市场了,比如我们花2万买的卡,等于才用上差不多五千的钱,以后tesla可以出全双精度子系列了。。谢谢您的回复~

这个不一定出哦,毕竟单精度用途也是很多的,而且设计芯片,流片要花大量的金钱。

再说了,其他方案中,类似价格,双精度效能也不见得更有优势。

不过更强大的硬件总是可以期待一下的。

欢迎您常来论坛!