Intel Skylake-SP处理器评测(二) 原创

SPEC CPU是SPEC组织推出的一套CPU子系统评估软件,SPEC CPU2006版本包括了12项整数运算和17项浮点运算,可以用来评估系统的计算性能。

  SPEC CPU是一个应用广泛的大型CPU性能测试项目,SPEC是标准性能评估公司(Standard Performance Evaluation Corporation)的简称,这是一个由计算机厂商、系统集成商、大学、研究机构、咨询等多家公司组成的非营利性组织,这个组织的目标是建立、维护一套用于评估计算机系统的标准。除了SPEC CPU之外,SPECviewperf系列产品也是常见的测试工作站/图形卡部件所用到的测试软件,类似的项目还有如SPECjbb 2015(Java应用性能)、SPEC SFS2015(文件服务器性能)等。

  SPEC CPU是SPEC组织推出的一套CPU子系统评估软件,目前最新版本是SPEC CPU2017,于2017年6月20日发布,但此次测试来不及使用这个测试,我们使用的仍然是SPEC CPU2006,它包括CINT2006和CFP2006两个子项目,分别用于测量整数性能和浮点性能。SPEC CPU的测试组件均来源于真实的应用程序,并经过修改以降低对IO子系统的影响,在测试中,测试系统的处理器、内存子系统和使用到的编译器(SPEC CPU测试提供的是源代码,并且允许测试用户按照规则进行一定的编译优化)都会影响最终的测试性能,而I/O(磁盘)、网络、操作系统和图形子系统对于SPEC CPU2006的影响非常之小。

  SPEC CPU2006包括了12项整数运算和17项浮点运算,除此之外,还有两个随机数产生测试程序998.sperand(整数)和999.specrand(浮点),它们虽然也包含在套件中并得到运行,但是它们并不进行计时以获得得分。这两个测试主要是用来验证一些其他组件中会用到的PRNG随机数生成功能的正确性。各个测试组件基本上由C和Fortran语言编写,有7个测试项目使用了C++语言,而Fortran语言均用来编写浮点部分。SPEC CPU2006以一台Sun Ultra Enterpirse 2工作站作为基准参考系统,系统基于一颗296MHz的UltraSPARC II处理器,测试的得分就表明这个项目中测试系统相对基准系统性能的比值。

Intel Skylake-SP处理器评测(一)
SPEC CPU2006测试子项目 by 盘骏/Lucifer

  测试同样使用了接近最新的Intel C&Fortran Compiler编译器17.0 update 3,同时代码使用MicroQuill的SmartHeap 10.2进行编译以更好地管理堆(此堆非Stack堆栈的那个堆)。要生成AVX-512代码,我们在配置文件里面使用了-xcore-avx512开关以生成最适应skylake-sp的代码:

Intel Skylake-SP处理器评测(二)
笔者个人是不太喜欢MIC和Xeon具有不同的编译开关的

注意:对于AVX-512而言,它和功耗、Turbo Boost具有一个复杂的影响关系。必须得说,这种复杂性对用户来说整体上是更好的,但它也让理解系统的运行状态变得更加麻烦。如下图所示:

Intel Skylake-SP处理器评测(二)
Skylake-SP上,Turbo Boost睿频技术具有6个峰值频率,按照负载的不同而不同

  实际上具有的频率还更多!原有的Turbo Boost睿频技术让系统在不同数量核心负载时具有不同的频率,按照non-AVX/AVX2/AVX-51的不同,这个频率表的规模要乘以三倍,这个表笔者目前尚未能完全测试整理完善。总的来说,这个状况让系统在运行传统代码的时候可以具有尽量高的频率。在运行AVX-512代码的时候,不管是基频,还是Turbo频率,全线都会有所降低,这有时会带来一些负面影响。

  AVX-512代码编译和SPEC CPU2006测试得到了Intel上海实验室的大力支持,特此鸣谢。

来源:至顶网CBSi企业方案解决中心频道

0赞

好文章,需要你的鼓励

2017

07/13

11:52

分享

点赞

邮件订阅
白皮书