找回密码
 加入我们
搜索
      
楼主: 自旋烧麦

[CPU] 没有所谓的同构大小核比异构大小核好的这种说法

[复制链接]
发表于 2024-8-8 20:58 | 显示全部楼层
本帖最后由 alieshex 于 2024-8-8 20:59 编辑
__|__ 发表于 2024-8-8 19:44
不太懂这个私藏指的是什么意思,AMD又不是不能链接Intel MKL里面的库


某段程序(多条连续指令)可以多种实现方式,intel根据自己硬件设计有一种指令更少/效率跟高的编译方式,但是没公开相关细节。

最简单举例说,gpu里 乘加 是可以一起执行的,但是换一下 加乘 ,就是两条。不过Intel藏的不是这种,而是跟高级的,比如根据流水线失败惩罚的细节组合出更优的汇编指令段。关联底层硬件,说好听优化好,难听私藏
发表于 2024-8-8 21:11 | 显示全部楼层
PPXG 发表于 2024-8-8 17:14
估摸着这玩意严重影响了N100的各种性能表现,甚至包括一些基本的日常操作N100很多人用的都说卡。倒是skym ...

没,不是这东西卡的。
是小核簇内同步的问题。这东西就没做,得去ring上绕一圈,比簇间同步效率还差
发表于 2024-8-8 21:14 | 显示全部楼层
在正式那串我已经说了一次我对异构大小核的看法了
这里再贴一次就是

全大核就像2车道高速公路
同构大小核就3车道其中一线为慢线
异构大小核, 本体2线车道, 然後新增的4线是跑房车得翻车的自.行.车.道

那很自然的
大家都想跑在正常行车线上
包括驾自行车的, 其实也喜欢跑在广阔的正常行车线上.
所以一开始, 大家都占着正常行车线不放, 自行车道, 没人鸟它.

这, 建商不乐意了, 我做出来你们怎能不用呢? 我面子是不要了吗?
於是找方式强迫你挪到自行车道上去.
但是, 有一些车子在自行车道上是怎麽也跑不了的, 於是大面积翻车

然後
有些使用者妥协了, 为了避免突然被挪到自行车道上翻车
他们把车修小一点两边通用, 咬咬牙多发几次车就可以了
但是有一些车是大货车来的, 根本没法修, 於是就不管了, 永不通用
但是整体上的确是有多一点的车跑自行车道
於是建商又乐了, 看? 我们的方案不是挺好?

旁观者看了, 默默吐糟
搞这麽多工夫
你一开始就不要搞什麽混合车道
直接3线快慢线大家都能跑
或是直接弄成8线全部跑自行车让大家一开始就用自行车好了
你自家的高端商用高速怎麽你从来不敢上混合车道?

既要保留正常行车线让大家有个念想可以跑房车
又要突然把人弄到自行车道上翻车
这就是既要又要, 矛盾又混乱.

而果子运输公司能玩转大小核
那是因为人家在货运集散场到汽车生产到高速公路都是他们自己兴建的
他们一开始就能正确分配不同大小的货物到不同的车款上
出发前就知道自己最适配的车款, 跑最适配的车道
发表于 2024-8-8 21:32 | 显示全部楼层
本帖最后由 中里毅 于 2024-8-8 21:33 编辑

全大核的CPU就像大排量增压发动机,全小核的CPU像小排量自吸发动机。两者的输出特性完全不同。
削减大核数量、增加同构小核的大小核CPU像是小排量增压发动机+P2电机+变速箱的并联式混合动力系统;
削减大核数量、增加异构小核的异构大小核则类似于自然吸气发动机+P1+P3的单挡位混联式混合动力系统。

当动力电池没电后,两套混合动力系统都会出现性能下降。并联式混合动力系统作为核心的发动机、变速箱结构和传统燃油车相同,由于排量降低而动力等比例下降,性能下降是完全可以预估的。没电以后超车要打多少提前量大油门加速,很明确。
而混联式混合动力系统以电驱动为主,除去电池没电以外还会受到P1电机额定功率的影响,性能无法预估。说不定超车加速到一半P1过热降功率,车辆提速性能下降只能放弃超车。

回到CPU身上。动力电池没电相当于系统调度器出问题,把任务放到了错误的线程上。
对于同构大小核,其大核和小核仅有频率、缓存差异,性能差异几乎固定。同样的代码,假设4.5G的大核30秒完成,那么3G的小核顶多60秒完成。而异构大小核由于大核心与小核心的擅长任务完全不同,大核30秒完成的任务让小核去跑可能要跑500秒。这是不可控的。

用户希望自己能够掌握自己的处理器,至少要知道最坏情况下性能是多少。同构可以很容易推算出来,异构不行。
发表于 2024-8-8 21:35 来自手机 | 显示全部楼层
牙膏厂u听说12代的时候关掉大核心没法正常工作。
发表于 2024-8-8 22:28 来自手机 | 显示全部楼层
当年MATLAB跑到Intel小核上性能是大核的1/8。
因为如果按照大核的寄存器数量/48k l1/2m l2大小来优化循环设计,那么同样的代码跑到异构小核(32k l1,1m l2)上就会直接爆缓存/爆寄存器,引起性能暴跌
发表于 2024-8-8 22:33 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2024-8-8 23:10 | 显示全部楼层
只要纯大核+1
发表于 2024-8-8 23:23 | 显示全部楼层
本帖最后由 gihu 于 2024-8-8 23:25 编辑

但凡了解点晶体管制程工艺的都知道,晶圆工厂同一个制程会有高低不同的密度库,提供相同工艺下不同的晶体管密度,前者集成度高,面积小但发热集中难以提高频率,后者相对浪费晶体管面积但可以冲到更高频率,这不仅限于农企产品。所以以前zen4c/zen5c又叫zen4 dense和zen5 dense,就是高密度库制作的,架构相同,密度更高,频率上不去的产物。这和牙膏厂架构不同的两种核心是本质的不同。
不懂就谦虚点,一个新号,开的新帖就是现眼贴,也真是替lz叹气
 楼主| 发表于 2024-8-9 00:45 | 显示全部楼层
gihu 发表于 2024-8-8 23:23
但凡了解点晶体管制程工艺的都知道,晶圆工厂同一个制程会有高低不同的密度库,提供相同工艺下不同的晶体管 ...

本质的不同?用不同的手段殊途同归达成一样的目的而已。

你最后这句话同样送给你自己,不懂就谦虚点,从账号新老来评价观点是最可悲的角度,真是替你叹息
发表于 2024-8-9 00:48 | 显示全部楼层
rx_78gp02a 发表于 2024-8-8 16:51
intel四个小核一个簇,共享同一个ring bus出口,2级缓存又小,存在资源抢夺。
纵使你的工厂有一万条流水线 ...

然而L2 to L3不存在bottleneck,真正有bottleneck的是L1 to L2,64B不够4c用,所以下一代才会直接翻倍到128B
 楼主| 发表于 2024-8-9 00:54 | 显示全部楼层
af_x_if 发表于 2024-8-8 20:35
缓存大小跟编译优化关系不大,可能L1的组关联数要考虑一下。

多核共享的L3更是抽象到单一应用的单一线程 ...

https://www.intel.com/content/ww ... ging-trade-off.html
Intel自己的文档原文:
-O3:
Enables -O2 optimizations plus more aggressive loop and memory-access optimizations, such as scalar replacement, loop unrolling, and loop blocking, to allow more efficient use of cache and additional data prefetching.


在-O3下,对缓存的利用会更加极致
发表于 2024-8-9 09:01 | 显示全部楼层
自旋烧麦 发表于 2024-8-8 18:35
那为啥不直接说amd的小核心比intel的好?
很多人半桶水了解到amd是同构,intel是异构就说同构大小核更好
...

那么楼主可以对比现成的2家  大小核 移动端平台 Ultra 9 185k核  ryzen  ai  Hx370到底谁的核间 延迟 更大,不就知道了
发表于 2024-8-9 09:13 | 显示全部楼层
gbawrc 发表于 2024-8-8 22:33
我没有针对谁,所有的大小核都是垃圾,我只要纯大核

+1  全P核才是 大力飞砖
发表于 2024-8-9 09:14 | 显示全部楼层
自旋烧麦 发表于 2024-8-9 00:54
https://www.intel.com/content/www/us/en/developer/articles/technical/compiler-optimization-debuggi ...

我已经说了,优化也是对L1,不会优化到L3这么远
发表于 2024-8-9 10:47 | 显示全部楼层
两家都是垃圾,希望AMD笔记本BIOS也能提供关小核的选项
发表于 2024-8-9 10:54 | 显示全部楼层
本帖最后由 zhuifeng88 于 2024-8-9 11:02 编辑
af_x_if 发表于 2024-8-9 09:14
我已经说了,优化也是对L1,不会优化到L3这么远


那是你觉得不会优化到l3那么远
gemm优化人均做到远不止l3

随便贴个例子你自己看具体要做到什么程度https://arxiv.org/pdf/2311.07602

----
然后常见应用场景中的调度优化实例, 可以举例ffmpeg, 做法是每一轮小循环中检测当前核心的特性, 查表选择运行对应核心优化的code
发表于 2024-8-9 11:05 | 显示全部楼层
zhuifeng88 发表于 2024-8-9 10:54
那是你觉得不会优化到l3那么远
gemm优化人均做到远不止l3

这个地步为啥不锁核?
锁核了就不存在同个程序的大小核切换了,为了缓存命中率大核之间都不会换。
那小核跑小核的优化程序大核跑大核的优化程序即可。

我说的大型程序给多种处理器做了动态链接的优化,不至于的。
发表于 2024-8-9 11:09 | 显示全部楼层
af_x_if 发表于 2024-8-9 11:05
这个地步为啥不锁核?
锁核了就不存在同个程序的大小核切换了,为了缓存命中率大核之间都不会换。
那小核 ...


锁核大多数情况下应当是manual里建议用户做的事情, 而不是软件自己做的事情
软件自己做会因为包括但不限于权限, 虚拟化等原因而实际上做不到, 那就把自己能做到的事情做了至少
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2025-4-29 16:02 , Processed in 0.012567 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

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