我在测试K20的时候,发现K20能开的线程数和C2050能开的最大线程数是一样的,都为30K个线程,而且相同线程数下处理同样的数据大小K20所花的时间比C2050还要长,那请问K20的性能和优势体现在什么地方呢 ?
LZ您好,应该说kepler SM 3.5的K20对于fermi SM 2.0的C2050的提升是全方面的。
体现在:
1:硬件规模, K20拥有2496个CUDA CORES,即使按照等效频率折算,也远高于C2050的不足500个。K20还拥有更高的显存带宽和显存容量。
2:峰值效能,3.52Tflops的单精度浮点峰值和1.17Tflops的双精度浮点峰值都是远超C2050的。
3:计算能力版本,K20的计算能力版本为SM 3.5,和C2050的SM 2.0相比,提供了诸如Hyper Q,Dynamic Parallelism等新特性。
您可以参考NVIDIA官网的介绍页面
http://www.nvidia.cn/object/tesla-servers-cn.html
以及cuda C programming guide Appendix F ,这里有直观的表格对比不同计算能力的特性。
至于您的测试结果,我觉得值得商榷。
比如,“最大能开的线程数都为30K”,实际上K20 同时resident threads最大数量都已经接近这一数值,具体为(2496/192)*2048=26624;C2050则为(448/32)*1536=21504。而grid里面的线程数量可以远远高于这一数值。
以及,“而且相同线程数下处理同样的数据大小K20所花的时间比C2050还要长”,这取决于您的测试代码的情况,而并不代表K20的真实水平。
大致如上,供您参考。
祝您编码顺利~
修正了少数文字错误
严重感谢ICE的精彩点拨,他的点拨给我醍醐灌顶的感觉。谢谢,严重谢谢。
C2050的价格在7000多元,K20的价格在2W多元,价格也是一个抉择啊!!!:lol