有人说20年前的超级电脑,和现在的手机速度差不多,是真的吗?

海蓝天天


正好我在超级计算机上有大量的研究,说一下我的见解:20年前的超级计算机和现在的手机没有太大可比性,就像在金庸武侠系列中我们很难比较扫地僧和张三丰谁更厉害一样,我们也不能将历史上不同时间节点上的两个事物拿来比较,因为每个时间点上的事物都有其历史意义。按计算任务来说,20年前的超算解决的问题更复杂,按技术成熟度来看,现在的手机芯片技术更成熟。

什么是超级计算机

对于手机,我们已经非常了解,当前性能最强的手机有苹果的iPhone X和华为的P30等。但是对于超级计算机,很多朋友并不了解。与普通的个人电脑和服务器相比,超级计算机(Supercomputer)是一种计算力极强的计算机,学术界通常称这一领域为高性能计算(High-Performance Computing)。超级计算机主要为最顶尖的科学研究服务,包括核聚变、石油勘探、量子力学、气候模拟、癌症研究、基因组学、分子动力学、飞机和航天器空气动力学和当前火热的各类民用人工智能。可见,超级计算机的服务对象是科学研究领域最前沿的方向,也是一个国家的技术命脉。

尽管超算的应用领域高大上,但其背后的计算机技术并没有那么神秘。与普通的计算机相比,超级计算机由超多个计算节点组成,其中节点指单台计算机。每个节点配有CPU、GPU以及专用处理器,节点之间用高速网络互联。目前,所有TOP500的超级计算机均运行的是Linux操作系统。

看看曾夺得TOP500第一名的天河二号。天河二号拥有16000个计算机节点,每个节点配备2个Intel Ivy Bridge架构Xeon处理器和3个Xeon Phi协处理器,共计3,120,000个计算核心。天河2号上运行的是国防科技大学开发的麒麟(Kylin Linux)操作系统。Ivy Bridge其实离我们的生活并不遥远,2012年以来个人电脑上的酷睿i3、i5和i7 CPU都是Ivy Bridge架构,只是天河2号上使用的这款CPU经常应用在服务器上,计算核心更多。

笔者在中山大学参观天河二号实拍图

可以说,超级计算机并不是一台计算机,而是一批性能强劲的计算机组成的计算机集群。超算最核心的技术还是在于CPU等芯片,而世界上最优秀的芯片公司IBM、Intel、AMD、Nvidia都是美国公司。

超算的计算性能

超算解决的是科学研究问题,科学研究对计算的精度要求非常高,也就是小数点后要保留多少位的问题。试想,用超算模拟核武器反应,小数点稍微差一点点,真的是差之毫厘谬以千里。因此,很多超算任务要使用高精度的浮点数,衡量超算计算能力的时候,一般使用每秒能计算的浮点运算次数(Floating Point Operations Per Second,FLOPS或flop/s)。目前的顶级超算的这个指标都在P级,即10的15次方。中美等各大国都在摩拳擦掌积极筹备建设E级超算,也就是10的18次方。

超级计算机领域有个专门的榜单,名为TOP500,以FLOPS指标来对各个超算的性能做比较,并每半年给出一个排名,有点像世界大学排名。

曾经登顶TOP500榜首的超算计算机性能

20年前的超算 v.s. 现在的手机

20年前的超算世界第一是美国国家核安全局下属Sandia国家实验室的 ASCI Red 超级计算机,它于1997年投入使用,2006年完成历史使命后退役。这正好也是一个划时代的超级计算机,它首次在算力上突破T级别,即10的12次方,峰值算力为1.3T左右。而且,这也是第一台采用大规模民用CPU芯片的超级计算机,使用的是Intel的奔腾系列CPU,每个奔腾CPU 200MHz,共计九千多个CPU。如果身在1999年,我们其实是可以购买奔腾CPU,并将其组装到自己的个人电脑上的,只是我们自己组装的一般只有一个CPU核。在 ASCI Red之前的超级计算机均是采用为超算专门设计制作的CPU芯片,造价不菲。当然,装下这么多CPU的超级计算机占地面积也非常大,共150平米。奔腾CPU的制程为350纳米。

ASCI Red实拍 来源:wikipedia

再来看看现在最强的手机,以2018年发布的苹果iPhone X系列为例,这款手机搭载了目前计算力最强的A12芯片。

比刚才提到的奔腾CPU更为先进的是,这款A12既有CPU又有GPU,而且是7纳米制程的。其中,A12包含的2颗CPU核心速度为2.49GHz,比刚才提到的奔腾快十倍;GPU则有并行加速效果,要知道1999年,专门生产GPU的NVidia才刚成立不久。

所以看起来,A12这款芯片各个指标完爆超算搭载的奔腾。但要注意,手机上的芯片并不是为科学计算而生,A12主要是为了放在iPhone和iPad,而人们使用这些设备一般就是聊聊天上上网,计算最密集的任务也就是玩玩游戏,做做视频了,手机上的芯片不能进行科学计算。刚才提到,衡量超算时,一般使用FLOPS,每秒浮点运算数。A12并没有提供这个数据,A12提供的数据为:每秒可进行5T个8位运算。尽管这个5T比ASCI Red的1.3T数字更大,但是这只是8位运算,而奔腾是32位运算,两者的精度差距很大。可以理解成A12的小数点后保留了两位,奔腾的小数点后保留了几万位,毕竟我们不需要在手机上模拟一次核聚变吧。所以但从单个芯片上来讲,A12在很多方面确实比奔腾优秀几十倍,但是从整体看来,A12不能做超算所专注的科学研究。

尽管上面比较是有些牵强,但也反应了芯片行业20年的发展:制程上从350纳米缩小到7纳米,单位面积上的电路增多了五十倍,主频从200MHz提升为2.5GHz,并在一块小芯片上融合了多个CPU和GPU。随着技术的发展,现在的超算也采用了主频更快的CPU和GPU,且将成千上万个芯片融合到一个系统中,对外提供超强的算力支持。

小结

金庸武侠系列中,我们很难比较扫地僧和张三丰谁更厉害一样,我们也不能将历史上不同时间节点上的两个事物拿来比较,因为每个时间点上的事物都有其历史意义。按计算任务来说,20年前的超算解决的问题更复杂,按技术成熟度来看,现在的手机芯片技术更成熟。


皮皮鲁的AI星球


我不懂超算,但是工作过程中有幸接触过一次,当时是个工业项目,请了一个瑞典技术团队,对一个部件的成型和模具设计进行模拟,这个公司同时也是瑞典军方的供应商,卖点就是用当年模拟核试验的一套软件和瑞典某大学的一台大型机进行模拟,模拟精度极高。

我觉得他们那个应该还算不上顶尖的超级计算机,应该就是几十年前的水准。

可是他们把运算结果导出来之后,只是展示结果,不是运算,光展示模拟结果,笔记本就卡得要死,就一个模拟的动画,十几G,我们想把那一段影像拷贝到手机或者平板上,都做不到,最后只好是在电脑上录视频,把这一段转成了视频。

由此可见,大型计算机的运算能力还是很牛的,至少现在,我们手中的小数据终端,像手机电脑之类的,还都完全比不上。


punkfox


这个问题很有意思啊,忍不住来答一发了。前面有回答说超级计算机和手机有许多不同点,不具有可比性,但它们都是电脑,都遵从冯.诺伊曼架构,而且超级计算机有一个衡量计算能力的指标,即每秒浮点运算速度,简称FLOPS。

至于20年前的超级计算机,我想起IBM公司的深蓝超级电脑。深蓝最轰动业界的事,是在1997年5月11日打败当时世界排名第一的国际象棋大师卡斯帕罗夫。

深蓝在1997年超级电脑排行榜上排第259名,每秒可以完成113.8亿次浮点运算,看起来很恐怖是不是?但在目前智能手机SOC芯片面前,这点算力简直不值一提:

  1. 骁龙855的浮点运算能力大约为每秒7万亿次,是深蓝的615倍多;

  2. 苹果A13芯片的浮点运算能力大约为每秒20万亿次,大概是深蓝的1757倍;

  3. 麒麟990具体浮点运算能力缺乏相关数据,但应该在骁龙855和A13之间;

为何小小的手机芯片能打败20年前的超级电脑?除摩尔定律的威力外,还有一个重要原因是,超级电脑对浮点数的运算更依赖CPU中的浮点运算单元,但其浮点运算能力相对于GPU、NPU是不够看的。

GPU、NPU采用的是单指令多数据/线程(SIMD/SIMT)的并行化计算,架构上采用众核架构,而且一个处理器支持多个硬件线程,相对于传统CPU的单处理器单线程架构,效率要高得多。

打个简单的比方,一个博士生做四则运算虽然速度不慢,但肯定比不过上百甚至上千个小学生同时做四则运算的速度。这就是CPU的单处理器单线程架构浮点运算效率比不过众核多线程架构的GPU的原因。

但是,这里必须要强调一点,CPU的浮点运算单元是专为高精度浮点运算设计,而GPU虽然浮点运算效率高,但处理的数据精度有限,比如英伟达和AMD的GPU支持的数据精度大多是单精度(FP32)和双精度(FP64)浮点运算,至于手机中的NPU(神经网络处理器),处理的数据精度更低,只支持半精度(FP16)浮点运算。

正因为如此,超级电脑提高性能一般采用高性能CPU,而不采用高性能GPU,因为流体力学、量子力学等科学领域需要高精度的浮点运算,必须由CPU完成。

总之,单纯从浮点运算效率上讲,目前手机的SOC芯片完虐20年前的超级电脑,但论浮点运算精度,两者就没有可比性了。


魔铁的世界


1999年的超算造价再怎么样花个好几亿美元稀松平常,但计算机发展也非常快,要比的话,估且拿摩尔定律测算下。

十八个月价格降一半,20年算降了14个一半,也就是2的14次方分之一,算下来大概16384分之一。电脑现在算2000块钱人民币,算下来相当于20年前3200万元人民币(500万美元)的计算机。

由此可以初步得出现在一般电脑大概相当于20年前500万美元的小型机。从现在一些个人电脑的使用来看,比如3D建模,渲染等,现在用个人电脑能完成的运算量,20年前一般得用小型机才能完成,我觉得这个测算比例基本靠谱。

手机的话比电脑算力差些,估计相当于20年前一两百万美元的小型机吧。想和20年前几个亿的超算比,我看现在的手机还差着好几百倍。


旺德福849


没有可比性,别被它那5t骗了,真实应用,没多少机会用八位的加乘。它没公布浮点运算力,但大概还能猜出来。八核2.4g,简单指令集,再怎么样也不可能比过i9的复杂指令集的处理能力,而i9的浮点运算能力是1t,还比不过20年前的超算1.3t,所以现在的手机芯片不可能比得上20年前的超算。另外简单指令集和复杂指令集真实性能差很远,别看加乘性能差不多,比如判断字符串长度,i9三指令能处理16字节,20年前超算的芯片四个指令能判断8个字节,一般的手机芯片四个指令只能判断两字节,所以简单指令集的浮点处理能力不能简单和超算比,就算公布了运算力,没两倍以上的差距真实性能也比不过超算。


高科技让人烦恼


差不多吧,当时制程很大,效率非常低,甚至使用的都不是现在的大规模集成电路,所以设备本身功耗高、效率低、计算速度慢。目前的手机处理器已经达到了2GHz时钟水平,7nm制程,就凭这两点,就足够碾压当时的超算了(当时其实也不算是超算,只是大型计算机而已)。而且最早的电脑程序是通过纸带输入的,不是现在这种放在内存里去固定地址取就可以了,读取和解译本身也会花费时间,在效率上无法相提并论。


榻榻米的榻榻


别胡扯了还超级电脑,20年普通电脑都比手机好一点。20年前电脑即是windows98一般只有一核,少量2核。硬件与手机相差无几,但是电数据共享机制,无论打开多少个,相同数据内存只有一个,在代码执行上比手机快得多


用户3485422457492


这根本不是一回事,不存在比较的可能。就好比现在的手枪和三十年前的导弹比,合适吗?芯片内容可是复杂的很,不同设计意图和功能没办法比较。


趣雅俗客


某些方面完爆那时候的超算,毕竟核心频率摆在那里不是用来好看的,其他的就不好说了,毕竟超算核心巨多,再垃圾的主频架不住核心多!


脑袋虫


没有可比性,超级电脑说的是并行执行能力,而现在的手机电脑大部分也只是多线程而非并行。举个例子,二十年前的超级电脑就是几百座独木桥,而现在手机可能就是双线高铁。不大好比较,因为执行的程序任务完全不同。


分享到:


相關文章: