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处理器,测试的得分就表明这个项目中测试系统相对基准系统性能的比值。
SPEC CPU2006测试子项目 by 盘骏/Lucifer
测试同样使用了接近最新的Intel C&Fortran Compiler编译器17.0 update 3,同时代码使用MicroQuill的SmartHeap 10.2进行编译以更好地管理堆(此堆非Stack堆栈的那个堆)。要生成AVX-512代码,我们在配置文件里面使用了-xcore-avx512开关以生成最适应skylake-sp的代码:
注意:对于AVX-512而言,它和功耗、Turbo Boost具有一个复杂的影响关系。必须得说,这种复杂性对用户来说整体上是更好的,但它也让理解系统的运行状态变得更加麻烦。如下图所示:
Skylake-SP上,Turbo Boost睿频技术具有6个峰值频率,按照负载的不同而不同
实际上具有的频率还更多!原有的Turbo Boost睿频技术让系统在不同数量核心负载时具有不同的频率,按照non-AVX/AVX2/AVX-51的不同,这个频率表的规模要乘以三倍,这个表笔者目前尚未能完全测试整理完善。总的来说,这个状况让系统在运行传统代码的时候可以具有尽量高的频率。在运行AVX-512代码的时候,不管是基频,还是Turbo频率,全线都会有所降低,这有时会带来一些负面影响。
AVX-512代码编译和SPEC CPU2006测试得到了Intel上海实验室的大力支持,特此鸣谢。
好文章,需要你的鼓励
工业升级的关键,或许在于智能本身。“工业+机器人”将成为通向下一阶段工业体系的核心抓手。——黄仁勋。
浙江大学等联合研究发现,AI强化学习效果取决于"模型-任务对齐"程度。当AI擅长某任务时,单样本训练、错误奖励等非常规方法也有效;但面对陌生任务时,这些方法失效,只有标准训练有用。研究团队通过大量实验证实,这种"舒适圈"现象比数据污染更能解释训练差异,为AI训练策略优化提供了新思路。
瑞士政府正式发布了自主研发的人工智能模型,该模型完全基于公共数据进行训练。这一举措标志着瑞士在AI技术自主化方面迈出重要一步,旨在减少对外国AI技术的依赖,同时确保数据安全和隐私保护。该模型的推出体现了瑞士对发展本土AI能力的战略重视。
巴赫切希尔大学研究团队通过对五种不同规模YOLO模型的量化鲁棒性测试发现,静态INT8量化虽能带来1.5-3.3倍速度提升,但会显著降低模型对噪音等图像损伤的抵抗能力。他们提出的混合校准策略仅在大型模型处理噪音时有限改善,揭示了效率与鲁棒性平衡的复杂挑战。