亚博app客户-亚博全站安卓版

龙芯飞腾谁更强 多款cpu实测对比-乌有之乡-亚博app客户

新铁流 2022-01-21 来源:新铁流

  龙芯3a5000是龙芯中科自主设计的最新型号桌面cpu,比上一代3a4000提升了50%的性能。本人通过真机实测,印证了3a5000无论是单核性能还是多核性能,确实都有50%的提升。上一代3a4000较更早的3a3000性能翻倍时,仿佛都不如现在这50%的提升更令人激动,因为3a5000不但性能终于贴近了主流桌面cpu的性能区间,还使用了完全自主设计的loongarch指令集,代表着一个全新时代的开端。  

  龙芯3a5000是一块里程碑

 

  龙芯3a5000的主频为2.5ghz,使用spec cpu2006 测试的 int_base(整数计算基本性能)单核成绩为26分以上,int_peak(整数计算峰值性能)单核成绩为30分以上。这样的性能如果与intel/amd的产品相比,仅仅是在主流的边缘,但却不应妄自菲薄,因为现在还能制约龙芯cpu性能的,几乎只剩下了cpu运行频率。

  不同cpu在相同频率下的性能,代表着cpu的核心设计水平,通常用ipc这个单位来衡量cpu核心的潜力。ipc的本意是指cpu每个时钟周期执行的指令数量,但现在大家把它引申为每ghz的性能,也很合适。通过专业的cpu测试软件对性能加以量化,把测试成绩换算到1ghz,这样cpu单核性能也就约等于 ipc * (频率/ghz),可以比较准确地估算出相同核心的cpu在不同频率下的性能。

  我把intel i5-4460、i9-10850k都固定于2.5ghz的频率,使用相近的gcc版本和编译优化参数进行spec cpu2006 int_base测试,把成绩与3a5000的实测结果作比较,在相同的频率下,它们的单核性能已经非常接近。  

  龙芯官宣的int_base单核成绩为26分以上,int_peak单核成绩为30分以上。我的int_base测试成绩为26.6,已经超过官宣成绩。我的编译优化配置非常简单,一是所知有限,二是因为我懒。因此我觉得如果细致调整编译参数,int_base的测试成绩还能有一些提升空间。但是测试spec cpu2006太耗精力和时间,因此我只求达标,不求最高。int_peak我就觉得不用测试了,就以官方说的30分为准,毕竟为每一个测试子项单独调配优化参数实在太费时间。

  intel的测试成绩就比较奇妙了,从酷睿4代到10代,ipc提升微小,甚至内存从ddr3 1600变成了ddr4 3200也没有让ipc大幅上升。intel恃着垄断地位不思进取,每代新品几乎只是依靠工艺改进,小幅度提高频率和降低功耗,cpu核心设计进步乏善可陈。挤牙膏收智商税,确信!在intel挤牙膏这段时间,龙芯已经逐渐把ipc追近,cpu频率也在不断向着主流水平前进,十年前因单核性能低而暂停的众核计划,现在也终于可以继续实行。

  然而,由于现在的主流桌面cpu大多有4ghz以上的睿频,一般能够长时间稳定运行的频率也超过3ghz,3a5000与主流cpu差距仍然很大。其实现在所有的国产cpu运行频率都还不高,即使是使用7nm工艺的鲲鹏cpu离3ghz的运行频率也还有距离,这是国产cpu共有的问题。一般来说,cpu核心设计越复杂,ipc就越高,但也越是难以达到较高的运行频率。要想以较小的代价提高cpu运行频率,那就得使用更先进的工艺,否则就需要大量的投入反复流片,寻找工艺和物理设计的短板,加以改进和规避。当cpu核心设计有较大改变,又需要重复这一烧钱的过程,虽然经验可以积累,但论经验又有谁能与intel和amd相比呢?

  国产cpu当前最欠缺的是单核性能,提高单核性能既要重视频率提升,更要重视ipc提升,必须双管齐下。提高频率需要与生产工艺大量磨合,需要很高的成本。而且最新的生产工艺目前处于被卡脖子的状态,我们还无法完全掌控。而增强cpu核心设计的能力,提高cpu同等频率下的性能,则不需要依赖太多外部条件,是我们能够自主掌握的最核心的本领。只有钻研,再钻研,积累,再积累,才能三年不鸣而一飞冲天!只有单核性能高了,多核才能有竞争力,否则一百只螳螂也挡不住顽童脚尖的嬉戏。

  为何如此强调单核性能呢?经常见到一些游戏用户抱怨,intel几十个核心的服务器cpu玩有的游戏时还不如4个核心的i5顺畅。这是因为桌面应用的特性决定了“一核有难,多核围观”是常态。web服务器可以把数千并发访问平均分配给所有核心,但浏览器对网页版面重排却只能从头到尾顺序进行。正因为桌面应用的特性,intel在酷睿8代之前,就没有超过4核的桌面cpu产品。即使是服务器,也有许多任务无法多核并行处理,如资源争用、等待前置条件、算法无法拆解等等都会使程序被迫串行运行。因此如果一款32核cpu的单核性能是另一款64核cpu的两倍,那么32个核心能发挥的实际效率也就高于64个核心。

  龙芯3a4000与飞腾ft-2000/4的生存之争

 

  龙芯3a5000的单核性能和多核性能都要比3a4000高50%,而整机价格相当,那么3a4000似乎就成了明日黄花,很快就会无人问津了。3a4000的命运果真注定了吗?可能并不如此!  

  当前所有的国产桌面、服务器cpu都还不能与消费市场的主流产品抗衡,无论是性价比,还是单纯的性能,都有很大差距。维持它们生存并加速它们进步的,主要是特别注重安全的信创市场。在这个限定的市场,各家国产cpu企业既要展现产品的先进性,也要体现路线的正确性。只有优秀的产品才能获得顾客的青睐,只有正确的路线才有无穷的潜力,错误的路线终究是涸泽而渔。信创市场的容量有限,国产cpu必须抓紧时机,快速进步,才能在一两年之后彻底进入普通消费市场时,仍有生存和竞争的能力。

  也就是说,3a4000其实不需要与3a5000竞争,它只要与其它国产cpu相比有些许优势,就仍然有生存的空间。正好最近我买了一套飞腾d2000的主板,飞腾d2000与上一款ft-2000/4相比,核心数量从4个扩展到了8个,但频率从2.6ghz降到了2.3ghz。它们使用的cpu核心完全相同,其它规格也基本一致。若论cpu的整体性能,d2000的8个核心肯定超过上一款ft-2000/4的4个核心,但论实际体验,有时可能会觉得更慢。d2000与3a4000比较的话,8核对4核,多核性能3a4000没有胜算,3a5000尚能一战。因此我是想把d2000的单核性能换算到2.6ghz,让它代替ft-2000/4来与3a4000比较一番。

  以前我调试linux for arm的程序,用的是树莓派4b,性能低得实在难以忍受,咬咬牙就买了飞腾的最新桌面cpu产品。实际使用感受确实比树莓派4b快多了,但对于cpu性能的量化,只能使用专业的测试工具软件来测试性能。测试cpu性能首选工具spec cpu,我暂时使用2006版,新版spec cpu2017我还没有很多问题没弄明白,以后有时间再测。

  spec cpu2006是一种行业标准化的性能测试工具,测试重点是cpu、内存、编译器。通常cpu本身和编译器及编译优化参数对测试结果的影响较大,而内存性能的影响相对较小,因此当内存性能和编译器版本差异不大时,就可以认为sepc cpu2006的测试成绩代表了cpu性能。实际上由于软件的运行离不开操作系统环境,linux核心和各种基础库的优化程度对cpu的性能发挥也有很大的影响,也会影响spec cpu2006的测试成绩。

  龙芯官宣3a4000在2.0ghz时的int_base单核成绩为19.1,实际大量出货的是1.8ghz的版本,把2.0ghz时的19.1换算到1.8ghz,得分应该是17.2。飞腾从来没有在网上的报道中公开过其cpu的单核测试成绩,但一直流传着来源未明的的“官方”说法,称ft-2000/4在2.6ghz时单核int_base成绩17.2,与1.8ghz的3a4000相同。但是这两个成绩都有疑问,曾有一些网友声称实测龙芯3a4000单核int_base仅13.x,也有一些网友声称用ft-2000/4实测出了超过21分的int_base成绩,都与宣方成绩冲突,又都没有能令人信服的证明。真实情况到底如何,我们也来测测看。

  stream内存访问性能测试

 

  在测试spec cpu2006之前,先测试一下它们各自的内存访问性能,这也和cpu的性能表现,以及各种软件的运行效率相关。使用stream开源程序来测试,比较简单,就让3a5000也参与一下吧!  

  stream是测试的内存访问性能的一个开源程序,可以在“863高性能计算机评测中心”的网页上找到简要介绍和源码下载地址。内存访问对cpu的计算能力要求不高,主要是考验cpu的内存控制器以及内存本身的性能。测试分为单线程内存访问和多线程内存访问,下图是单线程测试结果:  

  单线程的内存访问3a4000不敌3a5000可以理解,因为内存频率有差距,且3a5000在访存方面也有改进。但d2000被3a4000完败,速度甚至不到3a5000的一半,就有点匪夷所思,飞腾cpu的访存性能这么弱吗?这么弱的访存性能还做64核心的服务器cpu,不是赶鸭子上架吗?不过这只是单核测试的结果,下面再看看多线程内存访问的情况,d2000有8核,多线程测试是否可以翻盘呢?  

  从测试结果来看,d2000的内存访问性能比较令人失望,多线程测试仍然垫底。本来是想用d2000代替ft-2000/4来与3a4000进行对比,结果它自己都如此萎靡!如果飞腾的cpu能把内存访问性能增强,相信测试cpu性能成绩能提高一点。但也不能寄予太大希望,看看本文开始处几款cpu在相同频率下的性能对比,i5-4460的内存是ddr3 1600,i9-10850k的内存是ddr4 3200,内存性能差距一倍,但测试成绩并没有提高多少。

  内存性能更影响的是实际应用程序的运行效率,而不像spec cpu测试这样,主要是测试各种计算能力,并没有很大的数据样本。

  龙芯3a4000的 int_base测试(单核和多核)

 

  龙芯3a4000的测试很简单,我前几天尝试在3a5000上测试spec cpu2006时,把几个常用的编译优化参数简单拼凑了一下,就得到了26.6的int_base单核成绩,与龙芯官宣的26分(以上)相比,还富裕了不少。那么就继续使用这几个简单的参数来测试3a4000就好了,只是由于3a4000与3a5000架构不同,编译参数有一些适应性的改动。

  龙芯3a4000(1.8ghz) spec cpu2006 int_base单核实测结果为17.5分,如果折算到2.0ghz就是19.44分,与龙芯官宣的19.1相比仍然超出了不少。因原始测试报告比较冗长,为避免影响阅读,这里只截图其中最重要的部分。

  ----------------------------------------

  3a4000 (1.8ghz)int_base编译参数:  

  ----------------------------------------

  3a4000 (1.8ghz)int_base单核测试成绩:17.5。  

  ----------------------------------------

  3a4000 (1.8ghz)int_base多核(4线程)测试成绩:55.1。  

  飞腾d2000的int_base和int_peak测试

 

  测试飞腾d2000更加麻烦一些,我开始时使用与我测试3a5000/4000相似的编译器优化配置参数,但成绩不太理想,在2.3ghz的飞腾d2000上int_base单核得分仅15分。d2000的频率是2.3ghz,如果把成绩折算到ft-2000 /4的2.6ghz才16.96,离网传的17.2分还有差距,和某些网友说的21以上差得更远。然后我单独使用-o2和-ofast参数进行测试,测试成绩仅分别为13.6和14.4,证明我使用的编译优化参数确实有效,但效果又不明显。

  然后我请求声称实测超过21分的几位网友给予帮助,希望他们提供优化参数,但他们要么缄口不言,要么答非所问,要么把我拉黑,于是此事搁浅!后来有网友给我提供了一份疑是“飞腾官方泄露”的测试spec cpu2006用的cfg配置文件。我看到这个配置文件的第一眼,就几乎立即相信了这是官方的cfg文件。从下面的局部截图可以看到,这个文件用于64核的ft-2000 ,因为ft-2000 和4核的桌面版本ft-2000 /4以及8核的d2000都是相同的cpu核心,因些这个配置肯定是对d2000有效的。  

  同时我也发现这个配置文件中,对fp(浮点性能测试)可能启用了一些特殊优化的库文件。在base/peak编译配置的共用部分,一些测试浮点性能的子项单独配置了库文件的搜索路径,这些配置也加入了编译参数中。我不知道这些文件夹下有些什么库文件,也没有渠道得到它们,因此如果测试浮点性能,那么我的测试结果可能会比较差。不过本次我只打算测试整数性能,那么无论这些定向优化的库文件是否存在,都不会影响测试。  

  上面就是存放某些定向优化的库文件的路径(部分),好在从配置文件来看,这此库文件与整数性能测试无关。

  这个cfg文件中对peak(峰值)测试的优化配置参数十分复杂,我只能感叹编写者对gcc的熟悉,以及对测试出高分的执着,而不敢对那些参数设置改动半分。不过幸好base(基本)测试的编译配置还在我能理解的范围内,不至于太伤我的自尊。

  使用这个cfg文件测试出的飞腾d2000的int_base单核成绩是15.2,比我自己拼凑的优化参数稍高一些。把成绩折算到2.6ghz就是17.2分,也就与传言中的ft-2000/4官方成绩相同,也与知乎上“原来如此”对ft-2000/4的实测成绩相同,只是他测出的龙芯3a4000的成绩和我实测的差距非常大。3a4000仅13.x的单核成绩绝对是负优化的成果,不可能如他文中所说和测试ft-2000/4时使用的优化配置一样。  

  本文发出之前,有网友在与我测试d2000时相同的环境下,用ft-2000/4实测spec cpu2006,分别使用“-o2 -static”和“-o3”参数测试int_base,测试成绩都为16.x,与我测得的d2000成绩换算到2.6ghz后的得分相当。

  虽然我测试d2000的单核成绩已经达标,但我并不满意。因为龙芯3a5000/4000官宣成绩都留下了一些冗余,并且是用很简单的优化参数就超过了官宣成绩,那么飞腾d2000的官方优化配置是否也有冗余呢?

  经过我的反复尝试,只要对原有参数删、改,测试成绩就一定会降低,哪怕把-o3改成-ofast也会影响原有参数的平衡性,使总成绩降低。增加参数有的不影响,有的会使成绩降低!对于这种浑然一体、无懈可击的优化配置,我只能感叹自己能力不足,无法测试得到更好的成绩。最后只好聊胜于无地把“-march=arm8……”改成了“-march-arm8.1……”,再换了两根时序更好的内存条,以此表达我最后的倔强!测试结果大概……也许……可能对小数点两位之后的成绩有影响,四舍五入后到十分位还是一样,仍然只有15.2,折算到2.6ghz还是只有17.2。

  飞腾d2000 (2.3ghz) int_base编译参数:  

  ----------------------------------------

  飞腾d2000 (2.3ghz) int_peak编译参数:  

  ----------------------------------------

  飞腾d2000 (2.3ghz) int_base和int_peak单核测试成绩:15.2和15.7。  

  ----------------------------------------

  飞腾d2000 (2.3ghz) int_base和int_peak多核(8线程)测试成绩:  

  虽然飞腾d2000的频率和龙芯3a5000差距很小,但实测单核性能比1.8ghz的3a4000还要低,而ft-2000/4虽然频率比3a5000更高一些,但用d2000测试结果换算得到的ft-2000/4的成绩也仍然低于1.8ghz的3a4000。d2000测得的15.2的测试成绩换算到2.6ghz之后为17.2,与网传的飞腾官方成绩以及知乎网友“原来如此”的测试成绩完全一样。d2000的bese和peak测试成绩非常接近,从编译参数的复杂度就能看得出,已经尽力了,就是这个样子!为了便于比较,下面把它们的成绩放到一起看一看。其中ft-2000/4的多核成绩,如果用d2000的8核int_base成绩除2后再折算就只有48,可能比实际成绩低,因此这里直接用官方公布的55分的成绩。不知道这个55分是base还是peak,我就把它当成base来用吧。另外3a5000的多核成绩也直接使用官方公布的80分成绩,因为我自己测试的int_base多核成绩才79.x,还有一点点差距。按照3a4000的单核与多核性能比例来算,3a5000多核int_base应该有83以上才对,可能龙芯loongarch的系统优化还没有完全放出来吧!  

  ft-2000/4与3a4000同样是4个核心,无论单核性能还是多核性能,3a4000都完胜。ft-2000/4的主频是2.6ghz,3a4000的主频仅1.8ghz。飞腾最新的d2000频率不升反降,单核性能更是完败于3a4000。3a5000主频率仅比d2000高了0.2ghz,单核性能却高了75%。多核性能方面,3a5000的4个核心与d2000的8个核心仅有6%的性能差距。由于单核性能远胜,3a5000在桌面应用中实际表现也会超过d2000。这是龙芯多年致力于提高cpu核心设计水平,增强单核同频性能带来的胜利。

  最有意思的还是每ghz的测试成绩,飞腾2015年发布的首款arm架构的cpu是ft-1500a,这款cpu实测的每ghz的测试成绩也是6.x。现在已经6年了,飞腾的cpu除了工艺和频率不断变化之外,cpu核心几乎没有长进。而龙芯呢,这6年把每ghz的性能翻了一倍,3a5000的cpu核心虽然只是在3a4000的基础上小幅改进,但也有10%的ipc提升。下一代3a6000将会启用新的cpu核心,ipc将会更高,且龙芯的cpu频率也在稳定提升,将会进一步缩小与主流cpu产品的差距。

  总之,同样4核的飞腾ft-2000/4和龙芯3a4000相比,2.6ghz的ft-2000/4性能完败于1.8ghz的3a4000。这还不算ft-2000/4是16nm工艺,而3a4000是28nm工艺,工艺水平差了整整十年。而飞腾d2000因为单核性能不升反降,以至于8个核心的整体性能差一点点被4个核心的龙芯3a5000逼平!

  龙芯3a4000生存无忧矣!!!

  后记

 

  如果说龙芯3a5000的单核性能只有桌面高端cpu产品的50%,那么飞腾d2000就只有30%的样子,龙芯只要能把cpu频率继续提高,就能与主流产品匹敌。而飞腾要是再不努力提高ipc,cpu频率也不升反降,用64核的cpu战平intel 2014年的14核产品标榜,搞飞腾“电竞主机”这类宣传噱头,不知道将来拿什么去面对消费市场挑剔的顾客!

  真心希望飞腾不要继续在同一款核心上反复折腾,从核心代号来看都已经更新几代了,但ipc还依然如故。2015年在hot chips大会上向全世界同行宣传的9.6/ghz的ipc至今没有实现。应该正视与国际主流的差距,安安心心提升自己的设计水平,仅依靠先进工艺和多核心现在就已经进入了性能瓶颈。

  对于国产cpu的cpu性能,无论是浮夸宣传,还是恶意贬低,只能瞒一时,无法瞒一世,造谣者也不要以为国产cpu只有信创用户,在一个封闭的圈子里就可以肆无忌惮,只要普通用户有了实测的条件,立马就能戳穿这些谎言!

「 支持乌有之乡!」

亚博app客户-亚博全站安卓版

您的打赏将用于网站日常运行与维护。
帮助我们办好网站,宣传红色文化!

注:配图来自网络无亚博app客户的版权标志图像,侵删!

扫描下方二维码,订阅乌有之乡网刊微信

相关文章

openharmony操作系统与龙芯2k1000la芯片完成适配,龙架构平台获得开源鸿蒙认证

“中国人要有自己的cpu芯片!”

一个高扬毛泽东思想大旗的典范—— 参观龙芯公司、读《龙芯的足迹》有感

最新推荐

习近平同坦桑尼亚总统哈桑举行会谈

《毛岸英》第12集

《香山叶正红》 第17集

两日热点

混合所有制不能一路向右

如何正确理解人民公社制度

《中越联合声明》宣告美国在越南的两手策略全部破产

网站地图