笔者最近在常常去的一个论坛里看到这么一个帖子,发贴的标题叫做:现在GTX470有没有性价比?而帖子的内容则是短短的几个字:CUDA比460多,位宽也比460多。
笔者纳闷不已,什么时候,CUDA可以用多和少来计算了?看来NVIDIA的CUDA Core、SP、CUDA已经搞晕了不少同学,看来再度的普及还是很有必要的。
SP就是显卡中的流处理器
对于显卡来说,它的参数可以说其复杂程度已经超过处理器了。尤其对于刚入门的用户来说,想要看懂显卡的参数可是要花上一些功夫的。在NVIDIA显卡中,SP、SM、CUDA等等一系列的英文实在让人看得头晕。尤其是在NVIDIA推出了Fermi架构的显卡核心后,又出现了一种叫做“CUDA Core”的东东,这个CUDA Core究竟是什么?它和CUDA或者之前的流处理器又有什么不同呢?
为此先来说说流处理器吧。流处理器的英文叫做Stream Processor,因此可以被简写成“SP”,比如常常看到的32 SP指的就是该显卡具备了32个流处理器。如果把显卡核心看成一个军团,那么流处理器就是其中的“师”,如果有32个流处理器,那么这个军团就有32个师,师的数量越多,当然战斗力就越强大。换句话来说,显卡的流处理器越多,那么性能也就越强大。
CUDA Core就是流处理器
只是名字不同而已
那么CUDA Core又是什么呢?其实这是NVIDIA在推出全新的Fermi架构后才出现的一个名词。简单的来说,CUDA Core就是上节所说的流处理器,类似的东西只是名字上的叫法不同而已。不过在架构上,CUDA Core和流处理器还是有所区别的。其中最大的差异在于数量结构上。继续说回流处理器,比方说在先前的流处理器架构中,每个师有8个旅,而在CUDA Core架构中,每个师则是有32个旅。很显然虽然同样都是1个师,但是理论上CUDA Core架构中的实际性能要比流处理器强上4倍。
以上也只是CUDA Core和流处理器最大的区别之一,当然还有很多其它的不同之处,不过鉴于太复杂了,因此改天再有机会单独的说说吧。 ●在Fermi架构中,NVIDIA用CUDA Core代替了之前的流处理器
CUDA是技术,可以用来寻找外星人
最后再来说说NVIDIA显卡中的CUDA。CUDA和CUDA Core没有任何关系,前者指是NVIDIA的一项名字叫做“通用计算”的技术,它是利用显卡强大的浮点运算能力,从而大幅提升计算机的浮点运算性能。比如用户可以利用CUDA技术,对图像和视频编辑、计算生物学和计算化学、流体力学模拟、CT图像重组、地震分析、光线追踪等超级复杂的计算。由此可见CUDA是一项技术,而这项技术是不以个数为论的。就像32寸的液晶显示器和46寸的液晶显示器,你总不能说32寸的液晶比46寸的多吧。 ●CUDA是一项技术,可以用来加速科学计算,比如蛋白质折叠计算、寻找外星人等等等等