PCEVA,PC绝对领域,探寻真正的电脑知识
12
返回列表 发新帖
打印 上一主题 下一主题
开启左侧

论指令集和超线程的作用与重要性

[复制链接]
21#
chungexcy  楼主| 发表于 2015-9-19 00:39 | 显示全部楼层
本帖最后由 chungexcy 于 2015-9-19 00:50 编辑
547737657 发表于 2015-9-19 00:11
楼主,能否加入一些AMD处理器的跑分?或者来个链接,对比下,明年ZEN出来再挖坟? ...

首先我没有AMD处理器吧,有的坛友可以自己测试后把告诉我结果,数据可靠的我也会贴到前面。
其次这个程序是完全针对 intel i系列二代以后的 CPU 优化的。AMD处理器不一定能发挥出全部性能。

这是作者以前帖过的数据,你可以参考一下。
                              
時間 [sec] 性能[GFLOPS] 効率[%] 消費電力[W]
FMA版  i7-4700MQ @ Win8.1       38.23        161.29        52.5    39         
CUDA版 GTX765M         @ Win8.1 20.80        296.40        22.3    57         
OpenCL版 A10-7850K @ Linux      21.16        291.41        39.7    53         
FMA版 A10-7850K @ Linux         80.96        76.17         64.3    95         
waifu2x-caffe GTX765M(参考)    20.21        301.7(多分)   22.8    66         

22#
chungexcy  楼主| 发表于 2015-9-19 00:45 | 显示全部楼层
小夜叉 发表于 2015-9-18 22:49
有AVX 1无AVX2    6C12T和有AVX2 4C8T 价格一样,选哪个?

这个。。。要看你具体的应用。最好找对应项目的对比评测。
我这个只是浮点性能测试,需要开发者极限优化才可能有这个效果。
不要光相信我这个单独的测试skylake能翻sandy bride一倍。多数情况下,多核性能还是6核心占优。

23#
chungexcy  楼主| 发表于 2015-9-20 01:31 发自PCEVA移动客户端 | 显示全部楼层
Y6-0785 发表于 2015-9-19 13:08
AMD表现很差,并且温度不高,应该就是优化不够。
Athlon X4 760K 4.7G
all: 21.3793 sec, 59.5531 GFLOPS

有可能优化问题。不过x4和a10不是同一架构吗,怎么看上去差别这么大
24#
chungexcy  楼主| 发表于 2015-9-20 14:36 | 显示全部楼层
Y6-0785 发表于 2015-9-20 12:09
A10-7850K是压路机,比X4 760K的打桩机新一代。
7850K 3.7G 76.2,换算到1G是20.6。
760K 4.7G 60.8,换 ...

A10-7850K看上去性能比较的合理。
A10每个模块(两个核心)的浮点计算单元只有一个FMA,数量刚好是Haswell的一半(Haswell每个核心有两个FMA,所以超线程能提升45%)。
也就是说A10单位频率性能也差不多是双核Haswell/Skylake的一半多点。

25#
chungexcy  楼主| 发表于 2015-9-20 19:05 | 显示全部楼层
本帖最后由 chungexcy 于 2015-9-20 19:10 编辑
Y6-0785 发表于 2015-9-20 17:22
那就把A家双模块四核跟I家双核无HT相比。
由4590S推出Haswell双核1G无HT的成绩是23.3,由5600U推出Broadwe ...

关于A10的FMA效率问题我是这么看的。
A10相当于两个核心同时去抢一个计算单元,所以应该要比Intel带虚拟核心(HT)的两个线程去用两个单元的相对效率高。所以A10的效率是比Skylake带ht的一半好的。
至于和Intel一个核心去使用两份计算单元的i5系列,由于存在指令集多发射和并行等技术,Intel不带HT的性能自然比A10强不少。

至于为什么x4、a8不如a10。。。我有一个猜测。你去看一下你的x4、a8,CPU-Z显示的指令集支持情况。
本来我是想贴图的,但是发现搜出来A8-5600K居然有两种版本。给我感觉老版本的cpuz只显示到avx,新版本的显示fma3/4,但这一点从道理上是说不通的。这要么是cpuz有错(我倾向于不这样认为),要么是amd其实更新过一代(我也不了解amd的cpu也不好说)。


26#
chungexcy  楼主| 发表于 2015-9-21 12:35 | 显示全部楼层
overthink 发表于 2015-9-21 10:17
说不定用得到,但是普通用户没感觉

理想很丰满,现实很骨干。FMA的适用性实际远不如AVX翻倍来的方便。
FMA能有提升其实很局限。除非像这个程序大量运行矩阵乘法: c=a*b+c,AVX做这件事则需要两步,能有可观的提升还必须瓶颈在运算单元而不在缓存和内存的。
所以如果下一代引入avx-512,并且像sandy bridge那样把L1带宽再次翻倍,那么将会有很多软件性能都再翻倍。现在sandy bridge很多时候都比前一代快近一倍的,比如photoshop、视频解码效率。

27#
chungexcy  楼主| 发表于 2015-9-22 14:40 | 显示全部楼层
本帖最后由 chungexcy 于 2015-9-22 15:00 编辑
Y6-0785 发表于 2015-9-22 13:56
5600K跑的是Win7(自动更新所有补丁),760K跑的是Win10,都支持AVX、FMA3、FMA4。
我觉得AMD不会偷偷 ...

那就应该是老版本CPU-Z显示问题。既然都支持FMA3,指令集相同,那么在你和作者的A10,程序应该都是用的FMA优化。

我大概有一个新的猜测。我找了一个 A10 的截图,你看 L1 inst. 缓存。A8 是 64k,A10 是 96k,指令发射也从 2way 升级到了 3way (这里应该是指令执行效率的关键)。然后 A8 (13Gflops) 的单位性能正好是 A10 (20Gflops) 的 2/3?

这个程序我确信L1 data 缓存不是瓶颈(寄存器刚好够放运算中间结果的热数据)。而且作者程序性能的关键部分对指令集并行要求很高。我看代码,每连续两条FMA指令,用的数据是没有交叉的,也就是说理论上是可以同时独立执行的,发射越多并行效率越好。而 Intel的 L1 inst. 是 8way。

我认为 AMD L1 inst. 缓存的发射数限制了性能的发挥。你能试一试在bat文件里的那一行后面加一个 -j 2 再跑一次吗,看看性能又能发挥多少(意思是只用两个线程)?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
28#
chungexcy  楼主| 发表于 2015-10-2 06:09 | 显示全部楼层
本帖最后由 chungexcy 于 2015-10-2 06:57 编辑
Y6-0785 发表于 2015-9-28 03:39
不好意思,拖了几天才跑。X4 760K 4.7G 双线程 35.1299sec,36.2427GFLOPS,换算到1G是7.7,大约是四线程 ...

好的,谢谢啦。我之前的猜想也没有得到验证,还是不确信为什么有这个差距。

two-way set associative cache代表一条指令可以被同时存放在cache的两个位置,这肯定涉及同时取指令的效率问题,没有更多的数据也不好继续分析。
不过wiki上的描述是增加way,会增大缓存查找时间,但会降低缓存miss率。

64kb 2 way 和 96kb 3 way ,这图估计的差距应该还是蛮大的,看上去小了不少。。。
我把你的数据贴到2楼补充部分了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
29#
chungexcy  楼主| 发表于 2015-10-2 11:11 | 显示全部楼层
547737657 发表于 2015-9-19 00:11
楼主,能否加入一些AMD处理器的跑分?或者来个链接,对比下,明年ZEN出来再挖坟? ...

二楼贴了一些 AMD 处理器的成绩,你可以来看看。

30#
chungexcy  楼主| 发表于 2015-10-2 11:47 | 显示全部楼层
暴疯狂笑 发表于 2015-10-2 07:56
消费者花钱买性能,不是花钱买支持。

能用 和 好用:天壤之别。

其实我本来没打算测试AMD的,后面有坛友问,又刚好有人测了下就帖前面了。

在游戏方面,两家的差距其实是最小的。其他任何有高性能要求的,服务器、超算,cpu部分多是intel或者IBM。

做我这件同样的事情,6700k用4s,超频的760K用21s,p9700用55s。如果再考虑每w性能,差距更大。
31#
chungexcy  楼主| 发表于 2015-10-5 07:20 发自PCEVA移动客户端 | 显示全部楼层
Xudan 发表于 2015-10-5 02:08
看来intel的cpu每年确实是在进步,只不过那些游戏程序员没有用到新特性。

是的,在服务器领域,算上核心数的提升非常恐怖。
sandy bridge那带e7最多10核,而haswell的e7能到18核了。
本来skylake的avx单元也要翻倍的,结果被推迟了到e5/e7,而skylake的e7预测能到28核。。。
32#
chungexcy  楼主| 发表于 2015-11-10 14:32 | 显示全部楼层
本帖最后由 chungexcy 于 2015-11-10 15:07 编辑
royalk 发表于 2015-9-18 16:53
可以,加吧
4线程,all是223.434,filter是245.022
8线程前边截图里有了

royalk您好,之前请您用6700k跑了一个waifu2x。最近那个作者更新了一个版本,在我的5200u上有了50%的提升,效率直逼理论的74-77%。可否请您再帮忙用skylake测一下新版本的效率提升?方便的话也请再用一张大图再试试(比如这张http://bbs.pceva.com.cn/forum.php?mod=attachment&aid=MzI5MDEwfGYyYjAxZGVkfDE0NDcxMzY5OTZ8MTA1MTI5fDEyMzc5OQ%3D%3D¬humb=yes)。

新的下载地址是http://pan.baidu.com/s/1o65ZpF0
注意:run.bat最好不要重新用bat_for_cpu.exe生成(因为改了其他参数--block_size 1024,生成新的就会覆盖),直接运行就好。如果换大图,麻烦重命名一下,谢谢啦

PS,如果方便的话,bat里去掉--disable-gpu这个地方,看看你的960是不是也提升了,还是只提升了cpu性能。我估计只是cpu而已。
33#
chungexcy  楼主| 发表于 2015-11-10 23:42 发自PCEVA移动客户端 | 显示全部楼层
royalk 发表于 2015-11-10 19:11
明天我抽空跑一下,最近平台变动比较大,一直没空跑

麻烦了,等您方便时候跑跑吧。
x265那个就不麻烦您了,毕竟已经有别的成绩了。
34#
chungexcy  楼主| 发表于 2015-11-14 11:54 | 显示全部楼层
本帖最后由 chungexcy 于 2015-11-14 11:56 编辑
royalk 发表于 2015-11-13 17:57
不好意思主板来迟了,平台刚搭好,用一张57M的JPG跑了一下,比之前的版本提升蛮多的,得50%了。

太感谢啦你6700k的实际运行频率是多少?是4.0G还是超频了?

确实提升很大,我看了代码的改动,AVX/FMA的核心计算部分没变,这块应该已经几乎100%。这次应该是修正了计算部分以外浪费的时间。我越来越期待canonlake的消费级8核+AVX512了。

我测试了sandybridge,也是提升50%。在5200@2.5g上,分别有120/128的成绩。

而且这次修正大大提高了不带超线程的效率(比之前高了80%),sandybridge的avx非超线程反而更快(4-5%),而haswell的fma超线程提高10%,感觉已经是到理论极限,超线程也就没太大作用了。像之前优化不到位,超线程的作用还是挺大。

PS. 这个版本已经可以用来烤机测试散热了。我发现运行这个版本,功耗没增加,核心利用率提升,导致温度高了不少。核心温度/实际功耗比,比运行linx和prime95还大。虽然同频下绝对温度和功耗不是最高的,但在TDP限制睿频幅度的平台上(5200u)温度比这两位还高。。。

35#
chungexcy  楼主| 发表于 2017-1-3 13:04 | 显示全部楼层
tx97 发表于 2017-1-1 15:30
早就看到这个帖子,奈何只有一个e3v2,就没有贴测试成绩。这几天单位的服务器到了,想起还有这么个程序,就 ...

最近我也来了一个双路的e5 2683 v3,算是你的低频版,也试了一下,大概差不多600+GFLOPS。当时没有考虑超过8线程的,所以有些参数没有调整清楚,利用率上不去。

我改了一个参数,重新拿大图试了一下,包括2楼的旧版和78楼的新版。

里面的数字是filter的值,也就是纯计算部分的性能,双路能到1.5t的样子。〔all里面还包含读图写图等操作,不予考虑〕


你可以试试78楼的新版本,原作者把性能大幅优化到理论极限的78%了。我提供的附件里,包含一个更大的新测试图片,和把参数改大以后的新run.bat。如果方便的话,直接覆盖78楼里面的文件,然后运行run.bat就好。[不要做bat_for_cpu.exe > run.bat这一步]

双路2680 v4应该能超过1.5t的。我对2680v4能运行在多高的频率还是挺感兴趣的。120w的2683 v3,大概只有2.3g的样子。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
36#
chungexcy  楼主| 发表于 2017-1-5 01:11 | 显示全部楼层
本帖最后由 chungexcy 于 2017-1-5 01:13 编辑
tx97 发表于 2017-1-4 21:34
实在受不了,自己动手装了个win10跑了下测试,貌似还不如你。原因可能是因为我们的服务器内存是单通道的, ...

应该不是单通道的原因吧,这程序优化的很好的。有空我拔掉测试一下。你的win10应该是实体机吧。
不过看你的截图,感觉是你频率被TDP限制的很严重,感觉严重降频了
37#
chungexcy  楼主| 发表于 2017-1-5 10:28 | 显示全部楼层
本帖最后由 chungexcy 于 2017-1-5 10:30 编辑
tx97 发表于 2017-1-5 10:22
有可能。之前win2008是物理机,win10是虚拟机。貌似ESXI不支持睿频,只能跑基频 ...

双核下,虚拟机大概会损失10%的性能。不过看任务管理器,你确实连基础频率跑到吧?
其实应该可以直接单独插一个系统盘上去的


您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部