2017年9月,龙芯俱乐部组织团购龙芯3A主板。作为关注龙芯多年的粉丝,我参加了这次团购,买了一个龙芯3A3000主板。鉴于龙芯3A3000处理器即将发布,对龙芯3A3000处理器的性能没有详细的评价,我使用phronix-test-suite对龙芯3A3000处理器尽可能做出理性、中立、客观、全面的评价,不吹毛求疵,不夸大其成就,不避重就轻。
龙芯3A3000主板介绍
首先我们来拍一张照片,回顾一下龙芯3A3000主板的外观。
图1:龙芯3A3000主板照片。风扇下面是龙芯CPU。另外两个散热器下面是南桥和北桥。
图2是龙芯3A3000CPU卸下风扇后的近照,其中LS3A3000D-LP表示这是龙芯3A3000 CPU的低功耗版本
图3开机后BIOS信息,可以看到CPU主频1400MHZ,一级指令缓存64KB,一级数据缓存64KB,二级缓存4MB。
图4主板上的国产Unilc (Xi安紫光国鑫半导体)内存条
我得到的龙芯3A3000处理器不是最高性能的1.5GHz主频版本,而是性能稍低的1.4GHz版本。所以在估计龙芯3A3000(1.5GHz)的性能时,我应该把我的测试结果乘以1.07。另外需要注意的是龙芯3A3000笔记本搭载的龙芯3A3000主频限制在1.2GHZ。
拿到主板后,参考主板手册和百度贴吧手册,在龙芯俱乐部集团和龙芯用户开发者的帮助下,我安装了一台龙芯3A3000主机,安装了Debian巴斯特和龙芯操作系统。
作为龙芯的老粉丝,我用过龙符6003和8089D笔记本的龙芯盒,都是用的龙芯2F处理器。从个人经验来看,使用龙芯2F的图形界面只能说是“可用”,但使用起来还是太慢。相比龙芯2F,龙芯3A3000在性能上有了很大的进步,龙芯和德比安在使用上都可以算是真正的流畅。用Firefox浏览网页,看本地高清视频,非常流畅。从用户体验来看,龙芯3A3000完全可以满足办公、上网、听音乐、看视频的基本需求。
龙芯3A3000处理器性能评估方案
龙芯3A3000与主流x86处理器相比,差距在哪里?从性能上来说,龙芯3A 3000相当于哪个CPU,也就是说3A4000是哪个处理器要流式传输?龙芯3A3000与国内其他处理器相比,性能是高还是低?
为了回答以上问题,我使用了phoronix测试套件中提供的关于CPU性能的基准程序,详细对比了X270笔记本中的i5-7200U处理器和龙芯3A3000处理器。此外,openbenchmarking网站提供了许多不同处理器的性能测试结果,可以让人们更客观地评估系统的性能。
我在openbenchmarking网站上找到了腾飞1500A和腾飞2000+处理器的一些评估结果,我将在本次测试中比较这些数据。作为参考,我还查找了一些英特尔J1900处理器的性能数据。
最近Megacore处理器的性能进步很快,已经生产了ZX-C、KX-5000、KX-6000等多个系列的处理器,并在网络上进行了一些评测。但是我在Openbenchmarking网站上没有找到Megacore最新处理器的任何痕迹,所以本文无法比较Megacore和龙芯的性能。
为了比较同频两个CPU的性能差距,测试中关闭了Intel i5-7200U处理器的turbo模式,去掉了自动降频的电源管理,频率锁定在2.5GHz,i5-7200U处理器的最大turbo频率为3.1GHz,因此其实际峰值性能高于本次测试的数据。
在测试中,我们同时关注处理器的单核性能和多核性能。最近在评估Megacore KX6000系列处理器时,根据7等多线程程序的测试结果,得出KX6000相当于i5-7400处理器,但有意无意忽略了KX6000是8核8线程处理器,而i5-7400是4核4线程处理器。如果看单核性能,KX6000大概是i5-7400的一半。
以下是本次评测中几款处理器基本情况的对比。
英特尔i5-7200U
https://ark . Intel . com/products/95443/Intel-Core-i5-7200 U-处理器-3M-Cache-高达-3_10-GHz
英特尔J1900
https://ark . Intel . com/zh-cn/products/78867/Intel-Celeron-Processor-j 1900-2M-Cache-高达-2_42-GHz
龙芯3A 3000
http://www.loongson.cn/product/cpu/3/3A3000.html
phronix测试套件的7.8.0版本用于测试。
http://www.phoronix-test-suite.com/? k =下载
在搭载英特尔i5-7200U处理器的X270笔记本电脑和自组装龙芯3A3000电脑上进行了测试,龙芯3A3000在Debian测试系统上进行了测试。测试环境如表2所示:
在测试过程中,我发现了Loognix系统的一些测试结果,怀疑是Loognix实验室用1.5GHz Loognix 3A 3000处理器进行的。所以我不单独用Loongnix系统来测试这个处理器的性能。
龙芯3A3000使用的编译器选项请参考此链接
对于某些应用,编译时采用n32的abi,即加入参数-mabi=n32。
因为CPU性能是我最想知道的,所以我主要关心的是能反映CPU性能的测试,而不考虑磁盘、显卡、内存等硬件的测试。
测试程序介绍和测试结果分析
科学计算
1.scimark2
本次测试运行的是国家标准技术研究院程序员开发的科学和数值计算基准SimiMark 2.0的ANSI C版。测试包括快速傅里叶变换、雅可比连续过松弛、蒙特卡罗、稀疏矩阵乘法和密集逻辑单元矩阵分解基准。此测试是单核性能测试。
测试结果:
单击此处访问1
点击此处访问2
图5 sci标记2的性能比较
测试结果如图5所示。图中以龙芯3A3000(红色)(1.0)的性能为基础,比较i5-7200U(蓝色)和J1900(绿色)与龙芯3A3000的性能,数值越高性能越好。根据龙芯发布的消息,龙芯3A4000同频性能比3A3000提高30%,主频将从1.5GHz提高到2.0GHz,另外龙芯3A4000还将增加256位SIMD指令,L3缓存从8MB提高到12MB。SPEC CPU2006的分数会达到20分,是龙芯3A3000的两倍。
http://www . ICT . cas . cn/kycg/cgnb/201709/p 020170926639136974767 . pdf
因此,我们将3A4000的性能设置为2.0,作为性能预测的参考。
从图5的测试结果可以看出,在Scimark的蒙特卡洛测试中,3A3000的性能非常差,只有i5-7200U的不到10%,甚至还不到J1900的30%。这是很不正常的。可能有一种浮点运算是用软件模拟代替硬件浮点运算的。在其他测试中,3A3000的性能与J1900相当,有些测试优于J1900。与i5-7200U相比,J1900主频为1.99GHz,但其单核性能仅为i5-7200U的30%左右。
2.FFTE
FFTE是高桥大辅写的一个包,用来计算序列长度为(2 p) * (3 q) * (5 r)的1、2、3维离散傅里叶变换。单核性能测试。
测试结果:点击此处访问
3.fhourstones
求解Connect-4游戏,测试处理器的整体性能。单核性能测试。
测试结果:点击此处访问
4.gmpbench
用GMP 6.1.2数学库进行性能测试。注意gmpbench只考虑程序的整数性能,不考虑浮点性能。单核性能测试。https://gmplib.org/gmpbench.html
测试结果:点击此处访问
5.随从
Minion是一个开源的约束求解器,在设计上具有可扩展性。单线程性能测试。
https://constraintmodelling.org/minion/
测试结果:点击此处访问
6.mpcbench
GNU MPC是复数算术的c库。单线程性能测试。
https://openbenchmarking.org/result/1806164-FO-LOONGSON301
多相
这是谷歌多追指针追逐程序的一个标杆。
https://openbenchmarking.org/result/1806120-FO-LS3AMULTI28
图6 ffte、Fhourstone、Minion、多相性能测试
在以上测试中,我们找到了两个关于J1900的测试数据,其中ffte性能只有龙芯3A3000的2/3,fhourstone性能是龙芯的1.1倍。从整体性能来看,i5-7200U的上述性能测试是龙芯3A3000的2倍到4.5倍,集中在2.3倍左右。在这些测试中,我们预测龙芯3A4000的单核性能可以达到i5-7200U的85%左右。i5-7200U在gmpbench和mpcbench中的性能是龙芯3A3000的4.5倍左右,优势明显,可能与数学库或编译器的优化有关。
8子弹
子弹物理引擎。Bullet是一个开源物理模拟计算引擎,世界三大物理模拟引擎之一。单线程性能测试。
https://openbenchmarking.org/result/1806126-FO-LS3ABULLE82
9.姫野
himeno基准是压力泊松的线性解算器,使用点雅可比方法。
https://openbenchmarking.org/result/1806127-FO-LS3A3000H21
10.玩具安全认证
这是汤姆·凯瑞甘的简单象棋程序TSCP的性能测试,它有一个内置的性能基准。单线程性能测试。
https://openbenchmarking.org/result/1806104-FO-LS3ATSCPD75
图7子弹,希门诺和TSCP测试
在这组测试中,i5-7200U的优势是明显的,除了速度是TSCP棋艺测试3A3000的3.6倍,其他测试是龙芯3A3000的4倍,甚至是龙芯3A3000子弹碎布测试的30倍。我们分析了bullet的代码,发现X86处理器有很多与SIMD相关的代码和汇编语言优化。这是bullet在英特尔处理器下运行速度快的重要原因。对于Ragdoll测试,我们发现代码中有很多三角函数,但是龙芯的三角函数计算目前是有问题的。它没有启用硬件浮点,而是使用软件模拟,因此速度较慢。
11.高性能计算网关
由Sandia国家实验室开发的高性能共轭梯度算法是超级计算的科学基准程序。多线程测试。
https://openbenchmarking.org/result/1806094-FO-LS3AHPCGD08
https://openbenchmarking.org/result/1806202-FO-LS3AHPCGO04
12.正溴丙烷
NPB,NAS并行基准,是NASA为高端计算机系统开发的基准。该测试概要文件目前使用NPB的MPI版本。多线程测试。
https://openbenchmarking.org/result/1806097-FO-LS3ANPBDE97
13.n皇后区
N皇后问题求解器的OpenMP版本。问题大小18。多核性能测试。
https://openbenchmarking.org/result/1806109-FO-LS3ANQUEE29
14.mafft
100个丙酮酸脱羧酶序列的比较。多线程性能测试。
https://openbenchmarking.org/result/1806108-FO-LS3AMAFFT56
15.初级筛
素数筛选使用高度优化的厄拉多塞筛选方法来生成素数。prime screen基准测试CPU L1/L2高速缓存的性能。多线程性能测试。
https://openbenchmarking.org/result/1806103-FO-LS3APRIME23
图8 HCCG、NPB、北皇后区、马福特和初筛试验
以上测试为多线程性能测试,i5-7200U在HPCG测试中的性能是龙芯3A3000的3.76倍。在NPB测试中,龙芯在三个项目上超过了J1900,在另外两个项目上不如J1900。在N皇后问题、MAFFT和素数筛选的测试中,i5-7200U的性能大约是龙芯3A3000的两倍。如果龙芯3A4000的性能可以达到3A3000的两倍,那么龙芯3A4000在这些测试中的性能将达到i5-7200U。还是那句话,这是多线程测试!
编码算法
16.博丹
Botan是一个跨平台的C++开源加密库,支持大部分公共加密算法。(单线程测试)
https://openbenchmarking.org/result/1806093-FO-LS3ABOTAN50
使用
用GnuPG加密文件,算耗时。单线程性能测试。
https://openbenchmarking.org/result/1806105-FO-LS3AGNUPG86
图9 Botan和Gnupg测试
在博丹测试中,龙芯3A3000和i5-7200U在某些项目上的差距约为3倍。在AES的加解密测试中,AES和i5-7200U的性能相差近80倍!原因是i5-7200U有AES加解密硬件实现,非常高效,而龙芯3A3000没有这个功能,或者暂时用不上。此外,Botan中还有针对x86的汇编优化,在可以使用这些优化的测试中,X86处理器有很大的优势。
多媒体编码
18~22.encode-flac,encode-mp3,encode-ogg,encode-opus,encode-wavpack?
将音频文件转码为flac、mp3、ogg、opus和wavpack,并计算所需时间。
测试结果:点击此处访问
espeak
在这个测试中,用espeak语音合成引擎阅读《古腾堡科学大纲》项目并输出到WAV文件需要多长时间?单线程性能测试。
https://openbenchmarking.org/result/1806148-FO-LS3AESPEA06
24.dcraw
使用DCRAW将多个高分辨率RAW NEF图像文件转换为PPM图像格式,并统计所需时间。单线程性能测试。
https://openbenchmarking.org/result/1806140-FO-LS3ADCRAW96
25.怎样增添截尾功能
在这次测试中,mplayer的mencoder编码器程序和LIVAVCODEC系列用于测试系统的音频/视频编码。单线程性能测试。
https://openbenchmarking.org/result/1806145-FO-LS3AMENCO12
26.Vpxenc
这是一个标准的视频编码性能测试,使用Google的libvpx库和vpxenc命令实现VP8/WebM格式编码。单核性能测试。
https://openbenchmarking.org/result/1806148-FO-LS3AVPXEN59
图10多媒体相关性能测试
在音视频压缩编码的测试中,龙芯再次被英特尔处理器击败,无论是J1900还是i5-7200U。原因在于优化。这些多媒体应用已经针对x86处理器进行了优化,但没有针对龙芯处理器。
压缩算法
27.压缩-7
用自己的基准函数测试7程序的多线程性能。
https://openbenchmarking.org/result/1806036-FO-LOONGSON337
https://openbenchmarking.org/result/1806230-FO-LS3A7ZIPL48
28.压缩-g
用tar程序压缩Linux源码包,验证g程序的单线程性能。
https://openbenchmarking.org/result/1806039-FO-LS3A3000G15
优化的g程序
https://openbenchmarking.org/result/1806056-FO-LS3A3000G52
29.压缩-pb2
用并行b2算法压缩Linux内核源码包,统计所需时间。多线程程序。
https://openbenchmarking.org/result/1806109-FO-LS3APBZIP29
网络应用
30.街头流氓
Apache基准程序,评估标准是发出100万个请求和100个并发请求,这取决于系统每秒能处理多少。多线程性能测试。
https://openbenchmarking.org/result/1806159-FO-LS3AAPACH45
31.爵士
模糊测试。Ebizzy可以生成类似于网络服务器的工作负载。
https://openbenchmarking.org/result/1806152-FO-LS3AEBIZZ72
32.邮戳
这是NETAPP的一个基准测试,旨在模拟类似于Web和邮件服务器承担的任务的小文件测试。这个测试配置文件将设置邮戳为同时执行500个文件的25,000个事务,文件大小在5到512千字节之间。
https://openbenchmarking.org/result/1806151-FO-LS3APOSTM75
图11压缩算法和网络应用测试
从以上测试结果可以看出,龙芯3A3000和J1900在压缩算法和网络应用方面性能相近。与i5-7200U处理器相比,差距约为两倍。需要指出的是,除了g这种单线程测试外,其他所有测试都是多线程测试。
记忆测试
33.Cachebench
这是Calebench的性能测试,是LLCBench的一部分。Cachebench用于测试内存和缓存带宽的性能。
https://openbenchmarking.org/result/1806034-FO-LS3A3000C27
34.流
系统内存(RAM)性能基准测试。
测试结果:点击此处访问
图12内存访问性能测试
在流测试和CacheBench测试中,龙芯3A3000最终实现了相对于J1900的整体优势。另外,除了Cachebench中的两个数据明显相当于i5-7200U外,龙芯3A3000和i5-7200U的性能在其他测试内容上是相当的。就是因为龙芯处理器历史上内存访问性能很差,然后花了很大力气优化内存访问。可以预期龙芯3A4000的内存访问性能会更好。
最后根据openbenchmarking网站上找到的FT1500A和FT-2000+的数据,与龙芯3A3000进行对比。
龙芯3A3000的性能基本上优于FT1500A,但明显弱于FT-2000+。与FT1500A相比,FT-2000+的性能有了很大的提高,部分原因是工艺的改进,从28 nm提高到16nm;部分归功于建筑的更新。我们预测龙芯3A4000在继续使用28 nm工艺的前提下,单核性能将能够媲美甚至超越腾飞2000+处理器。由于腾飞2000+的处理器多达64核,龙芯在多核性能上要赶上腾飞还有很长的路要走。
3A3000在蒙特卡洛模拟中出人意料的糟糕表现,很可能是因为缺少一个关键函数的优化。
总结与展望
纵向看龙芯的发展,相比龙芯2F,龙芯3A3000的性能进步很大。技术上,从龙芯2F的90纳米增加到28纳米;龙芯3A3000处理器的。主频从龙芯2F的800兆赫兹提高到1.5兆赫兹..在用户的实际应用中,基本可以达到流畅使用的水平。龙芯3A3000与英特尔处理器相比,综合性能相当于英特尔J1900处理器,单核性能相当于英特尔i5-7200U的30%~40%。
通过本文进行的34次测试,我们发现龙芯3A3000性能不佳的原因如下:
同频性能弱。从同频性能来看,龙芯3A3000已经超过了J1900,但只有60% ~ 70%的intel i5-7200U。预计2019年龙芯3A4000在相同频率下性能至少提升30%。
主频太低。这是龙芯处理器不可避免的弱点,让很多粉丝担忧。诚然,主频不代表全部性能,但主频太低是绝对不可能的。J1900同频性能弱于龙芯3A3000,但由于其主频可达1.99GHz,核心频率可达2.4GHz,在多项测试中已经超过龙芯3A3000。Intel i5-7200U基频达到2.5GHz,核心频率可以达到3.1GHz..腾飞2000+的主频可以达到2.2GHz,而Megacore KX-6000的主频甚至可以达到3.0GHz,飞信和Megacore处理器在同频性能上可能弱于龙芯,但在更高的频率上仍然可以击败龙芯3A3000。
龙芯主频低的原因之一是工艺落后,现在还在用28nm工艺,而Intel,腾飞,Megacore已经在用14nm工艺了。根据龙芯的发展规划,到2020年龙芯将使用14nm工艺拍摄龙芯3C5000,主频可达2.5GHz。
系统软件不够优化。在测试中发现三角函数等数学函数太慢,似乎有些硬件浮点运算没有应用,龙芯缺乏优化的数学函数库。AES硬件实现缺少加密和解密指令。在测试中,我们发现使用Debian操作系统、GCC 7.3和1.4GHz龙芯操作系统、GCC 4.9编译器和1.5GHz龙芯3A3000的测试基本上是互为优的。我们认为编译器优化对于龙芯性能的充分发挥非常重要。在测试中,我们还发现4.14的Linux内核相比3.10的Linux内核会有相当大的性能提升,龙芯还缺少一个优化的Linux内核。
应用软件不够优化。由于MIPS架构缺乏软件生态,各种应用软件缺乏对MIPS架构的优化。具体表现就是很多软件都有针对X86系统的汇编优化。要建立龙芯的生态,充分发挥龙芯的性能,同等水平的优化是不可或缺的。
随着龙芯未来架构的优化和主频的提升,影响龙芯发展的瓶颈将不再是处理器的性能,而是软件生态的构建,即系统软件和应用软件的优化。其中各种应用软件的优化将是提升龙芯用户体验的捷径。其实龙芯已经意识到了这些问题,并提出向苹果学习“一个应用一个应用,一个特征一个特征,一个像素一个像素”进行优化。
目前龙芯3A4000的制膜工作正在进行,预计2019年初可以看到芯片。在3A4000出现之前,我们预测了3A4000的性能。根据我们的评估,我们相信3A4000的同频性能将从i5-7200U的60% ~ 70%提高到80%~90%。2.0GHz的单核性能是i5-7200U的2/3,多线程性能超过i5-7200U。龙芯3A4000和国内其他CPU相比,同频性能会超过飞信和Megacore,单核性能也会超过飞信2000+。但由于3A4000的28 nm技术落后,且频率仍然较低(2.0 GHz),龙芯3A4000的综合性能可能仍无法超过频率为3.0GHz的兆核KX-6000。如果Megacore KX-6000不能在2019年量产上市,龙芯3A4000可能成为2019年国内能买到的单核性能最强的国产独立处理器。
龙芯处理器与Intel和AMD高性能处理器还有巨大差距,龙芯还有很长的路要走。我们期待着龙芯在未来采用更好的技术和优化的微架构,也期待着龙芯在编译器、数学库、操作系统等系统软件支持方面有更好的表现,构建更好的应用软件生态系统,期待着龙芯3A4000、3B 4000和龙芯3C 5000早日成功。
以上评价仅由一名普通非计算机专业人员做出,不具有权威性,水平有限,时间短,数据众多,难免有错漏。请批评指正。
用毛主席的话,结束我的评价:
“我们正在前进。我们正在做一件前人从未做过的极其光荣伟大的事业。我们的目标必须实现。我们的目标一定会实现的。”
附录
各种测试结果的总结
龙芯3A 3000(龙芯):
https://openbenchmarking.org/result/1806113-TR-LSLABSLS380
https://openbenchmarking.org/result/1709288-TR-LOONGSON390
FT1500A:
https://openbenchmarking.org/result/1705187-KH-CPUSCIMAR08
I5-7200u
https://openbenchmarking.org/result/1806175-FO-I57200UDE18
https://openbenchmarking.org/result/1806174-FO-I57200UMU24
https://openbenchmarking.org/result/1806175-FO-I57200URA38
https://openbenchmarking.org/result/1806176-FO-I57200UCO93
https://openbenchmarking.org/result/1806179-FO-I57200UCR30
J1900
https://openbenchmarking.org/result/1404256-PL-1404206PL73
https://openbenchmarking.org/result/1404250-PL-1404206SO61
https://openbenchmarking.org/result/1404268-PL-J1900MULT15
https://openbenchmarking.org/result/1404272-PL-J1900SPEE11
https://openbenchmarking.org/result/1404275-PL-J1900PROC21
1.《mencoder 国产龙芯3A3000处理器性能全面评测》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《mencoder 国产龙芯3A3000处理器性能全面评测》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/junshi/1624925.html