不知道测试时linx是不是这样跑的:开10线程(这软件超线程是真负优化),然后在任务管理器里,把主程序的相关性勾选偶数一半,然后再点开始,这样才能跑出最优性能,功耗还能低一点。
linpack测试的是双精度通用计算性能。7900x@3.3g的理论极限是
3.3G x 10c x 512bit/64bit (双精度) x2 (fma=add+mul) x2 (2 avx512/c) = 1056GFLOPS (双精度)
635GFLOPS这成绩大概跑出了60%的性能。
我估计这次的avx512最多只有68%。phi的avx512 ipc不到1.7,我估计这次模拟的avx512效率也差不多。
broadwell e我记得大概是能跑出80%的理论性能,如果有条件的话也可以对比一下6950x同频下的性能和功耗。
根据那位写opencl/cuda/cpu版waifu2x作者的测试[3],在没有各级缓存带宽瓶颈的情况下(寄存器测试,类似aida64的gpgpu测试出来的理论单双精度性能):
参考[1],Intel(R) Xeon Phi(TM) CPU 7210 @ 1.30GHz:avx512的ipc只有1.69,延迟是6周期。我猜phi是原生512单元,所以256也是一个性能。
m256: vfmaps:throughput: IPC= 1.68
m256: vfmapd:throughput: IPC= 1.68
m512: vfmaps:throughput: IPC= 1.69
m512: vfmapd:throughput: IPC= 1.68
m512: vfmapd: latency: CPI= 6.04
参考[2],Intel(R) Core(TM) i7-5600U CPU @ 2.60GHz:avx256的ipc有2,延迟是5周期。
m256: vfmaps:throughput: IPC= 2.00
m256: vfmapd:throughput: IPC= 2.00
m256: vfmapd: latency: CPI= 5.00
不过3.6g都炸了,4组avx256单元太恐怖了。。。。。。。。
|