隔壁的G吧,最近有搞了一堆所谓“测试”,引得隔壁的井蛙、虫粪们好一阵兴奋的蠕动,有不少都直接高潮了。
这次隔壁G吧,好不容易加上了spec17的测试,但细心的观众很容易发现这些超算 奇怪的地方。
虫芯3A5000的测试 ,有speed 1也有speed 4,还有rate 4。可偏偏唯独没有: 大家普遍用来衡量单线程性能的rate 1测试。
下面介绍一下背景知识:
spec17与spec06不同,spec06的speed就是rate=1时的测试;而spec17的speed和rate完全不同,speed测试允许使用OpenMP进行多线程加速,即使测试时设置thread=1,一些机智(鸡贼)的编译器,一些专门优化后的OpenMP库,还是可以“偷偷的”使用多线程运行。所以包括anandtech在内各测试机构测试单线程性能,已及各个cpu研发机构展示核心性能,使用spec17都是以 rate 1的成绩作为衡量处理器单线程性能的标准。
下面我们再来看看,隔壁G吧测试虫芯3a5000,spec17 int的结果:
spec17 int rate 1 隔壁G吧是特地没测(没敢放),图中 的rate1 2.97分的结果是知乎“军民团结如一人”测得的。
每个子题结果则是根据肖俊华老师的spec17 rate1 peak值按比例计算得到。
可看到:speed 测试 所谓单线程"Thread=1" 和 4线程的结果差距很小,多核效率仅28%。
而:rate测试,rate 1和 rate 4,结果的差异就很正常,多核效率则达到了虫芯罕见的 87%。
为啥说罕见?虫芯3a5000的spec06,按隔壁G吧的测试 单核26.5和多核81.2,多核效率约76%,显著低于spec17 rate的多核效率。而同样是spec06,飞腾2000/4的多核效率是61.1/(17.2*4)=88.8%即使核心更多的D2000,多核效率也到了约82%。
然鹅,诡异的是 :虫芯spec06的多核效率明显较低,spec17 rate的多核效率确大幅增加变得十分正常!?
加之据我了解,某国产OS长沙曾经使用自己构建的编译器和系统,测试过3a5000,其spec06 int成绩仅20分出头。
我们有理由怀疑:虫芯的编译器和库(都是龙芯背地里捣鼓的)做了些“奇怪的”“优化”。把本应单线程运行的测试“变成了”多线程运行,通过这种机智的方式,获得了比较漂亮的分数。
这次隔壁G吧,好不容易加上了spec17的测试,但细心的观众很容易发现这些超算 奇怪的地方。
虫芯3A5000的测试 ,有speed 1也有speed 4,还有rate 4。可偏偏唯独没有: 大家普遍用来衡量单线程性能的rate 1测试。
下面介绍一下背景知识:
spec17与spec06不同,spec06的speed就是rate=1时的测试;而spec17的speed和rate完全不同,speed测试允许使用OpenMP进行多线程加速,即使测试时设置thread=1,一些机智(鸡贼)的编译器,一些专门优化后的OpenMP库,还是可以“偷偷的”使用多线程运行。所以包括anandtech在内各测试机构测试单线程性能,已及各个cpu研发机构展示核心性能,使用spec17都是以 rate 1的成绩作为衡量处理器单线程性能的标准。
下面我们再来看看,隔壁G吧测试虫芯3a5000,spec17 int的结果:
spec17 int rate 1 隔壁G吧是特地没测(没敢放),图中 的rate1 2.97分的结果是知乎“军民团结如一人”测得的。
每个子题结果则是根据肖俊华老师的spec17 rate1 peak值按比例计算得到。
可看到:speed 测试 所谓单线程"Thread=1" 和 4线程的结果差距很小,多核效率仅28%。
而:rate测试,rate 1和 rate 4,结果的差异就很正常,多核效率则达到了虫芯罕见的 87%。
为啥说罕见?虫芯3a5000的spec06,按隔壁G吧的测试 单核26.5和多核81.2,多核效率约76%,显著低于spec17 rate的多核效率。而同样是spec06,飞腾2000/4的多核效率是61.1/(17.2*4)=88.8%即使核心更多的D2000,多核效率也到了约82%。
然鹅,诡异的是 :虫芯spec06的多核效率明显较低,spec17 rate的多核效率确大幅增加变得十分正常!?
加之据我了解,某国产OS长沙曾经使用自己构建的编译器和系统,测试过3a5000,其spec06 int成绩仅20分出头。
我们有理由怀疑:虫芯的编译器和库(都是龙芯背地里捣鼓的)做了些“奇怪的”“优化”。把本应单线程运行的测试“变成了”多线程运行,通过这种机智的方式,获得了比较漂亮的分数。