找回密码
 立即注册
搜索
查看: 12676|回复: 36

[硬件] 有点理解为什么Intel要砍掉消费级CPU里的AVX512了

[复制链接]
     
发表于 2023-10-24 15:18 | 显示全部楼层 |阅读模式
本帖最后由 王牛子 于 2023-10-24 16:23 编辑

楼主一直使用Altair公司的Feko电磁场解析软件对天线什么的进行建模仿真,最近一个模型规模比较大,计算的时间也涨到了难以忽视的地步,所以最近突发奇想的测了一下自己一直很好奇的消费级CPU跑我的Feko模型到底是个什么速度。测试环境还是之前那个熟悉的鞋柜,搭了个便携屏拿着飞鼠测的
9f61d9003acae479dd42da2dcd32deb9.png

参测的有自己家的7950X,13700F,5800H,以及自己工位的Xeon W-2123和3代酷睿3960X,运行的模型总共有11125个矩量法基函数(MoM Basic Functions),结果如下
{F1FA7719-94F6-4bf4-9DB1-900BECC85257}.png

从最底下往上看,对于7950X而言我们可以观察到关闭超线程能让计算速度加快1.5%左右,这算是符合预期。而我最意外的是理论能被AVX512加速最多50%的矩量法运算,最后居然是关掉AVX512反而比较快,我个人的理解是因为我没有定频,单靠PBO,开启AVX512导致的热量增加导致主频下降,反而一定程度上拖慢了速度,不过我在测的时候并没有记录频率变化,下次有空再改进。
然后往上看,不出意料的Windows在计算上的表现远远不如Linux,对于7950X这种CPU来说平均慢了30%左右。然后可以注意到13700F这个大小核而且还没有AVX512的玩意在windows下跑出来的速度居然跟7950X差不多,这就让我非常好奇装了Ubuntu的13700F会是什么速度,以及更好的13900怕不是能在Feko上赶超7950X。
最后可以看到我工位的电脑比起最快的7950X在Ubuntu下的速度慢了4.4倍,其实这才是我做测试的目的,因为老板对性能不太懂,总以为工位电脑很快,希望能借助这次的结果来促成一些采购
其实我也试过在Linux下禁用Meltdown和Spectrue的缓解措施,但完全没测出区别就没放出来了

最后回到标题,我感觉Intel砍掉消费级512的原因可能是对于消费级的U来说能算得动的模型其实也就那么大,然后对于这种小规模的模型,有没有AVX512其实提升并不明显,反而会像我这次测试的结果一样因为发热结果算的更慢了,然后AVX2对于小规模的模型来说已经很够用。
以上只是我自己的粗略测试,如果有建议或者调优的想法欢迎回复,谢谢大家

回复

使用道具 举报

     
发表于 2023-10-24 15:27 来自手机 | 显示全部楼层
为啥 Ubuntu 下会快这么多
回复

使用道具 举报

头像被屏蔽
     
发表于 2023-10-24 15:37 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2023-10-24 15:56 | 显示全部楼层
本帖最后由 宏. 于 2023-10-24 15:57 编辑

AVX512一开始就根本不该放在消费级,这玩意给xeon phi开发的,放到消费级纯粹就是几年前跑分+对抗gpu用的,后来斗不过老黄,这破玩意也就没什么吹的必要了
回复

使用道具 举报

     
发表于 2023-10-24 15:57 | 显示全部楼层
猫不萌 发表于 2023-10-24 15:27
为啥 Ubuntu 下会快这么多

一个是针对性优化

二是windows在桌面资源上开销太大
回复

使用道具 举报

头像被屏蔽
发表于 2023-10-24 16:06 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
     
发表于 2023-10-24 16:25 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
     
发表于 2023-10-24 16:26 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2023-10-24 16:48 | 显示全部楼层
你也说了因为发热结果算的更慢了
你这种环境限制发挥的不是512,是散热,有没有考虑过换散热让他放开跑看看?
回复

使用道具 举报

     
发表于 2023-10-24 16:53 来自手机 | 显示全部楼层
Atail 发表于 2023-10-24 16:48
你也说了因为发热结果算的更慢了
你这种环境限制发挥的不是512,是散热,有没有考虑过换散热让他放开跑看看 ...

7950x很难解决积热问题啦
回复

使用道具 举报

     
发表于 2023-10-24 17:15 | 显示全部楼层
原来zen4跑avx512也会降频,一直以为是牙膏厂制程问题
不知道avx512优化和大小核调度优化哪个先普及,现在连跑分都不利索,时不时出个神油配置涨一大截
顺带问一下,amd的理论性能在哪里可以查到或者说该怎么计算?网上只能查到intel自己公开的fp64理论gflops
https://www.intel.cn/content/www ... 755/processors.html
回复

使用道具 举报

发表于 2023-10-24 17:27 | 显示全部楼层
最好还是知道具体算法和实现或者能profile看瓶颈,只看一个黑箱结果也不好判断。
像Intel的Embree渲染器这种专门针对x86的SIMD优化过的并行度比较高的应用会用到。但GPU零头级别的SIMD算力,不用的毫无意义,用到的肯定看不上,就尬住了。
回复

使用道具 举报

发表于 2023-10-24 17:38 | 显示全部楼层
原理来说操作同样数量的运算avx少了很多次读指令操作,理想情况下同样跑分应该是功耗更低,所以avx512到底经历了什么变成现在这个样子的,avx2就没拉啊
回复

使用道具 举报

     
发表于 2023-10-24 17:43 | 显示全部楼层
我对这玩意的印象只有ps3模拟器提升很大
回复

使用道具 举报

     
发表于 2023-10-24 17:46 来自手机 | 显示全部楼层
调下内存再测一下试试,avx512性能和内存性能强相关
回复

使用道具 举报

     
发表于 2023-10-24 17:50 来自手机 | 显示全部楼层
不过这种计算要加速的话还是用多核心大内存最实用,现在 8 核 128g 内存算声学我都觉得吃紧
回复

使用道具 举报

     
发表于 2023-10-24 18:02 来自手机 | 显示全部楼层
熟悉的Feko和MoM,不过我只用单线程跑过
回复

使用道具 举报

     
 楼主| 发表于 2023-10-24 18:03 | 显示全部楼层
Lunamos 发表于 2023-10-24 18:27
最好还是知道具体算法和实现或者能profile看瓶颈,只看一个黑箱结果也不好判断。
像Intel的Embree渲染器这 ...

对的,其实我当时测的时候也想看看要是能看到解算器进程具体调用了哪些指令集就好了,但是我对linux不是很了解,等有空了再捣鼓看看。然后其实这几台机内存配置是不太一样的,AMD这边我D5内存频率很难上,5200MT/S就不行了,再高一点就黑屏,可能是因为没买EXPO条用的XMP,然后Intel 13700F那边用的就是6000C32的幻锋戟,可能这也会影响速度
回复

使用道具 举报

     
发表于 2023-10-24 18:30 来自手机 | 显示全部楼层
不是说zen4的avx512是半吞吐吗,这个应该对性能有影响。
avx512好像比avx2开发的还早,一开始就没有下放到普通CPU上的计划。现在client不给avx512是因为e核不支持啊,等到avx10出来就可以更好地定义simd版本了,不用20多个flag来检测avx512的子集了。
intel那边更让人期待的是apx吧,能够用32个通用寄存器,还引入了其他risc的特性,各大编译器已经开始集成avx10和apx的支持了。

—— 来自 Xiaomi 2211133C, Android 14上的 S1Next-鹅版 v2.5.4
回复

使用道具 举报

     
发表于 2023-10-24 19:08 来自手机 | 显示全部楼层
好像好多计算软件默认都调用intel的mkl优化,识别到非intel的u就会负优化,没法正常用上avx,好像python的numpy,matlab都有这种问题,要改openblas版本或者加参数强行启用mkl
回复

使用道具 举报

     
发表于 2023-10-24 22:41 | 显示全部楼层
Intel 砍掉消费端 AVX-512 应该主要就是因为 E 核不支持,这玩意目前对消费端本身来说属于多一个不多少一个不少的状态。加上去的话倒是有利于做生态给服务端拉性能,能加为啥不加。
对于纯计算 workload 而言,Windows 本身的开销一般基本可以忽略。我找不到 SPEC 的数据,但是你可以去看看 GB,y-cruncher 之类的数据,或者 Phoronix 也做过不少对比测试,大部分差别没那么大。
(我倒是发现 Blender Cycles (CPU) 在 Linux 上的性能明显拉开 Windows 一截,这个倒可以是个切入点)
AVX-512 最重要的卖点本来就不是吞吐量,而是多一倍的寄存器,mask 支持,新的编码形式,嵌入 broadcast,大量的新指令等功能**增强了编程模型(当然代价是 114 个 CPUID )。AVX10 就是要在不强制超宽向量的前提下把这些功能挪到全线产品去。
消除频率影响的最好做法是把 Boost 关掉而不是“放开跑”(我还干过锁 C-State )。这个结果其实勉强还算是误差范围内(吞吐量没提升,如果也没能利用到编程模型的好处的话那就是差不多的),不过 AMD 的实现不像是会导致实际频率降低的样子(Intel 最新的实现也把差距缩到很小了),可以挂个 perf stat 看看。

回复

使用道具 举报

     
发表于 2023-10-25 01:39 | 显示全部楼层
模拟器玩家:你们在说什么啊
回复

使用道具 举报

     
发表于 2023-10-25 06:44 来自手机 | 显示全部楼层
luciferion 发表于 2023-10-25 01:39
模拟器玩家:你们在说什么啊

7800X3D对switch模拟器支持怎么样?听说吃AVX512
回复

使用道具 举报

     
 楼主| 发表于 2023-10-25 08:18 | 显示全部楼层
wewai 发表于 2023-10-24 23:41
Intel 砍掉消费端 AVX-512 应该主要就是因为 E 核不支持,这玩意目前对消费端本身来说属于多一个不多少一个 ...

当时我也很疑惑为什么开了512反而更慢了,但慢的不多,我也以为是误差,但我之后在没有超线程的状态下在Ubuntu里测了好几次,都是慢了1s左右,虽然不多。你说的很有道理,当时我也想着开perf看看,但想着快点出结果,那就下次吧,主要我自己也只能算个终端用户,不是专门研究这个的,所以多有疏漏,请多包涵
回复

使用道具 举报

     
发表于 2023-10-25 09:52 | 显示全部楼层
SIMD宽度,倒不是太大的问题,主要还是新功能指令,不过好歹之后把VNNI给下放到AVX2了。
回复

使用道具 举报

     
发表于 2023-10-25 10:32 来自手机 | 显示全部楼层
macos 发表于 2023-10-24 16:06
windows有core模式吧,那个版本下是否会好些

Windows Server CLI Only 都不算 Core 模式,怎么打开 Core 模式
回复

使用道具 举报

     
发表于 2023-10-25 19:59 | 显示全部楼层
kkndcdr 发表于 2023-10-25 06:44
7800X3D对switch模拟器支持怎么样?听说吃AVX512

有就行了,反正除了烫死人的至强和线程撕裂者以外的AVX512都不是完整的那种,但是比没有表现就是要好些
回复

使用道具 举报

     
发表于 2023-10-27 23:47 | 显示全部楼层
hourousha 发表于 2023-10-25 09:52
SIMD宽度,倒不是太大的问题,主要还是新功能指令,不过好歹之后把VNNI给下放到AVX2了。 ...

11代有avx512 12代开始就有avx-vnni了
回复

使用道具 举报

     
发表于 2023-10-28 02:15 | 显示全部楼层
naiveyan 发表于 2023-10-24 17:15
原来zen4跑avx512也会降频,一直以为是牙膏厂制程问题
不知道avx512优化和大小核调度优化哪个先普及 ...

avx512不会普及,同时支持大小核的avx10.2会是普及的那个
回复

使用道具 举报

     
发表于 2023-10-28 02:18 | 显示全部楼层
Lunamos 发表于 2023-10-24 17:27
最好还是知道具体算法和实现或者能profile看瓶颈,只看一个黑箱结果也不好判断。
像Intel的Embree渲染器这 ...

IO的场景,AVX512提供的寄存器很好用,又多又宽
回复

使用道具 举报

头像被屏蔽
     
发表于 2024-5-20 06:31 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2024-5-20 06:59 来自手机 | 显示全部楼层
王怡人 发表于 2024-5-20 06:31
楼主你的7950X插了多少条内存?  我有点想搞32GX4的,  但是网上搜了一圈, 好像很多都说插了32X4, 无论买了多 ...

https://www.reddit.com/r/overclo ... 658ns_on_aida64_on/



—— 来自 HONOR MAA-AN10, Android 14上的 S1Next-鹅版 v3.0.0-alpha
回复

使用道具 举报

发表于 2024-5-20 07:21 | 显示全部楼层
本帖最后由 hlazd 于 2024-5-20 07:24 编辑
王怡人 发表于 2024-5-20 06:31
楼主你的7950X插了多少条内存?  我有点想搞32GX4的,  但是网上搜了一圈, 好像很多都说插了32X4, 无论买了多 ...

2024-05-20 081549.jpg
2024-05-20 082345.jpg
现身说法,只有在主板给的自动也就是3600上是稳定运行的,尝试过4800都有概率蓝屏。
虽然我这套条子比较一般般,而且我也没有太改动内存设置,也许通过加压之类的可以改善。。。
回复

使用道具 举报

     
发表于 2024-5-20 08:28 来自手机 | 显示全部楼层
hlazd 发表于 2024-5-20 07:21
现身说法,只有在主板给的自动也就是3600上是稳定运行的,尝试过4800都有概率蓝屏。
虽然我这套条子比较 ...

看电压和时序,这是镁光的3GB颗粒的,是比较惨。。。
DDR5还是海力士独一档

—— 来自 HONOR MAA-AN10, Android 14上的 S1Next-鹅版 v3.0.0-alpha
回复

使用道具 举报

发表于 2024-5-20 10:11 | 显示全部楼层
疑惑了半天为啥3960X会比7950X慢……仔细一看才发现是酷睿不是TR
回复

使用道具 举报

     
发表于 2024-5-20 18:03 | 显示全部楼层
我还记得以前上C++课讲向量化的时候,教授专门找了个英特尔的人来上课,课上就有拿他们的AVX举例
回复

使用道具 举报

发表于 2024-5-21 22:07 来自手机 | 显示全部楼层
zmw_831110 发表于 2024-5-20 08:28
看电压和时序,这是镁光的3GB颗粒的,是比较惨。。。
DDR5还是海力士独一档

因为当时便宜才买的本身我需求也是要大容量对频率不敏感的
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-11-14 11:25 , Processed in 0.116848 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表