各位老师好。最近我所在的组里可能要采购一批服务器做VASP计算,经过我的初步调研,有一个问题有困惑,希望已经用上可扩展系列处理器的老师能给解答。 问题概述:希望知道可扩展系列处理器的ipc效率(或称之为架构加成系数,定义见测试方法)比V4系列强多少,比V2系列又强多少(可选,主要用于和天河2租赁机时比较性价比)。 问题来源:采购的时候需要计算V4处理器和可扩展处理器的性价比区别,因此需要先估算其实际软件性能,这不得不涉及到ipc效率的区别。因为如果ipc都一样,显然V4的处理器性价比更高,而如果可扩展处理器的ipc效率更高,则有可能可扩展处理器有更高的性价比。 测试方法: 现定义单个处理器的总性能估算如下:Performance per CPU=Cores*Full load frenquency*ipc coefficient , 其中Cores 是处理器的核心数,Fullload frenquency 是处理器的满载睿频频率,ipc coefficient 即ipc 效率,现规定V3 V4 系统的ipc 效率系数为1 。 测试软件最好使用VASP 。需要注意的是,VASP 需要在编译的时候加入-xCORE-AVX512 来启用AVX-512 指令集优化,不然将得到与V4 接近的ipc 效率。编译可参考帖子(http://bbs.keinsci.com/thread-5743-1-1.html), 为了减少软件并行损失的问题,希望都使用合理的npar 值。测试使用相同的VASP 版本跑相同的测试文件。设在可扩展处理器系统上下使用c1 个核心跑的时间为t1 ,可扩展处理器系统的满载频率为f1 ;在V4 系统上使用c2 个核心跑的时间为t2 ,V4 系统的满载频率为f2. 则可扩展处理器的ipc 系数为 (t2*f2*c2)/(t1*f1*c1) 。与V2 系统的对比同理。 附: Ipc 效率差别的来源:主要有两方面,其一是不同代的cpu 的微架构的区别,导致轻微的效率差距,其二是新的指令集的引入使得ipc 效率发生很大变化,例如V1 V2 系列的CPU 只有AVX 指令集, V3 V4 系列的CPU 有AVX2 指令集 ,而可扩展处理器则有AVX-512 指令集。这三者在执行可矢量化的密集型浮点运算的时候理论性能是依次翻倍的。论坛里(http://bbs.keinsci.com/thread-9855-1-1.html) 有不少人说ipc效率和V4的一样,这可能来源于他们并没有打开AVX-512的编译优化,而有一位老师(id 五十八)则提到使用AVX-512 正确编译的VASP 的ipc 效率可以相比于V4 系统有大幅提升,根据他给出的信息,其一,四路6140 系统是双路2697v3 系统的6 倍,则可以计算出ipc 效率系数为2.26 (算法参考上面公式),这里面定义V3 V4 系统的ipc 效率倍率为1.0 。其二,单路6140 轻松干掉双路2697v3 ,则可以估算ipc 效率系数为1.5. 因为id 五十八老师给出的信息比较笼统,因此只能估算出ipc 系数正确编译之后应该大于1.5 ,但是具体是多少还需要详细的测试。@五十八 另,如果不得不使用Gaussian测试,可能直接拿到的二进制发行版并没有AVX-512优化,需要拿到源码加入-xCORE-AVX512重新编译才能正确发挥可扩展处理器系统的能力。 希望各位老师能不吝赐教,能给出一个AVX-512编译后的VASP的ipc效率系数,这样也可以给买了至强可扩展处理器的其他老师一些帮助。谢谢。
|