前两篇讲了二进制,计算机乘除法,还有计算机的优点——速度非常非常非常快,缺点:跟人类方程式比,计算机的计算结果完全不精确,没有小数,只能用浮点数近似值模拟小数。

几款科学计算显卡对比(接地气系列认识计算机)(1)

那我们可以扩展来想一下。没有小数,没有无理数,默认都是二进制整数的计算机,是没有球面等等完美四维物体的。也就是说,计算机体系只能模拟三维。那计算机先天的缺陷就很大了,比如不能实现圆球体,不能模拟很多日常。但是为啥游戏还是用计算机跑的呢?因为也是维度问题计算机是用二维模拟三维,更具体的以后讲。但是计算机的优点是速度,那就可以用一堆无限小的整数来模拟小数,实现近似值的计算。

现在,就算AMD锐龙3系或者英特尔i3的CPU,都可以实现512位,1024位的浮点数计算这没错,但是它们的优点是深度,不是广度。桌面X86计算机,就算民用的,性能在应付极高精度的模拟计算上也是足够的。问题就是规模。让它们同时处理3个512位小数就很勉强,10个别想了。CPU的优点是速度,那就等这个周期结束计算下一个。著名的测性能软件superPI,就是测圆周率计算速度,这个软件非常有代表性,CPU的周期很快,3GHZ意味着一秒钟可以计算30亿次。这就是人类的缺点了,方程写的再花哨,你速度上不去。

几款科学计算显卡对比(接地气系列认识计算机)(2)

CPU的不足之处就是同时计算一堆不行。有办法嘛?有,搞阵列集合,买1万台计算机,不过这个办法的代价是成本。那有没有更有性价比的办法?有,显卡。

关注我吧,说人话接地气,还有干货满满的文笔贡献者。

显卡就是一堆低性能CPU的组合。因为性能低下,所以每个计算单元功耗低。因为功能简单,所以每个计算单元很小,毕竟它需要的电路跟晶体管很少嘛。绞尽脑汁我画了个例子看看。

几款科学计算显卡对比(接地气系列认识计算机)(3)

因为单个计算单元需要的晶体管很少,所以显卡的计算单元面积就很小。那在同一面积上,显卡可以集成一堆计算单元搞计算。实际上,显卡的设计目的就不是游戏,90年代初显卡出现的时候,这玩意儿就是为了辅助批量计算而产生。但是这玩意儿计算图形很有一套,CPU不能比,慢慢的就成了跑游戏为主流了。我看看很多人有兴趣的话,下期就写认识显卡,从英特尔初代核显讲,那个结构简单的堪比计算器。

几款科学计算显卡对比(接地气系列认识计算机)(4)

那用显卡跑啥呢?矩阵算法是一种常见的所谓“大数据算法”,都是起名字骗钱的玩意儿。既然每个计算单元都计算精度低的数,那成百上千个数一起计算,速度就比CPU快了不是。毕竟,现在入门的GTX1050ti,也有768个计算单元,可以看成768个小CPU核心。1050ti有1.6到1.8GHZ的频率就是一秒钟16亿到18亿个周期,每个周期同时可以跑768组32位长的浮点数计算。这不是就比CPU强了?

几款科学计算显卡对比(接地气系列认识计算机)(5)

本期结束吧。为啥我讲维度概念?因为计算机也没有绝对的3D概念。游戏的三维,也是屏幕上跑一堆不断变化的二维图让你看,这个过程就是游戏渲染。尽管本人对图形完全没研究,但是也可以认识一下计算机基本体系逻辑里的图形表示。省得以后说显卡的文章,很多人看了没概念,就可以回头看看这个不是。