找回密码
 加入我们
搜索
      
楼主: shawnwinton

[CPU] 分Die是不是已经到了尽头

[复制链接]
发表于 2024-8-20 14:46 | 显示全部楼层
本帖最后由 8owd8wan 于 2024-8-20 14:49 编辑
zhuifeng88 发表于 2024-8-20 14:38
你的行列索引全是对象操作...


感兴趣的话,可以看JEP426提案


如贴图里代码,采用VecoterAPI,HotSpot C2 JIT可以调用AVX加速指令,真的会变成AVX加速啊~~~

但是。。印度人lead的项目,进展真的好慢


0.43%  / │  0x0000000113d43890: vmovdqu 0x10(%r8,%rbx,4),%ymm0
  7.38%  │ │  0x0000000113d43897: vmovdqu 0x10(%r10,%rbx,4),%ymm1
  8.70%  │ │  0x0000000113d4389e: vmulps %ymm0,%ymm0,%ymm0
  5.60%  │ │  0x0000000113d438a2: vmulps %ymm1,%ymm1,%ymm1
13.16%  │ │  0x0000000113d438a6: vaddps %ymm0,%ymm1,%ymm0
21.86%  │ │  0x0000000113d438aa: vxorps -0x7ad76b2(%rip),%ymm0,%ymm0
  7.66%  │ │  0x0000000113d438b2: vmovdqu %ymm0,0x10(%r9,%rbx,4)
26.20%  │ │  0x0000000113d438b9: add    $0x8,%ebx
  6.44%  │ │  0x0000000113d438bc: cmp    %r11d,%ebx
         \ │  0x0000000113d438bf: jl     0x0000000113d43890
ecs1.png
ecs2.png
发表于 2024-8-20 14:51 | 显示全部楼层
8owd8wan 发表于 2024-8-20 14:46
感兴趣的话,可以看JEP426提案

可是你自己套了一层matrix封装, 根本没法像这样简单索引
发表于 2024-8-20 14:51 | 显示全部楼层
OstCollector 发表于 2024-8-20 14:46
不要太小看java的jit编译器了

封装两层就约等于没有了
发表于 2024-8-20 14:55 来自手机 | 显示全部楼层
关于ddr带宽 如果计算的带宽压力一直高于ddr总线,那这些数据从何而来?
发表于 2024-8-20 14:55 | 显示全部楼层
zhuifeng88 发表于 2024-8-20 14:51
封装两层就约等于没有了

CS的领域,各种编程语言的runtime,JIT优化,真不是一句话的问题。
如果一句话就能定性,比如1+1=2这么简单,这些领域,就没必要投资,学习,和发paper了。
如果您是我这样的20年老码农,那应该能理解我所指的。
发表于 2024-8-20 15:00 | 显示全部楼层
darkness66201 发表于 2024-8-20 14:40
不是我说,讨论了这么久,你就翻来覆去的说那两句话,会卡IF,会卡IF,基板放不下,基板放不下,会卡IF, ...

????????????

卡if是观测到的情况。
基板2gmi我承认理论可行,但是1。9004基板确实扩大了一圈。2。9700也没用上啊。3用上了的也都空出缺核的位置。我合理怀疑放不下,保留观点咋了
钻那门子牛角尖,
我重来没否认普遍情况,只是现有观察下极端情况有一定可能发生,而且根据现有发展(不考虑未证实的谣言),趋势在恶化。
一定要和我说,real world 不存在这么个特殊情况的,和看一半的才是没听进去钻牛角尖吧
发表于 2024-8-20 15:24 | 显示全部楼层
8owd8wan 发表于 2024-8-20 14:55
CS的领域,各种编程语言的runtime,JIT优化,真不是一句话的问题。
如果一句话就能定性,比如1+1=2这么简 ...

卖老差不多得了

哪怕不包装
你自己看时间占比, 索引总共占了快一半时间

99I}H13{E{I@A5J}7DJA3DU.png
发表于 2024-8-20 15:44 | 显示全部楼层
本帖最后由 8owd8wan 于 2024-8-20 15:47 编辑
zhuifeng88 发表于 2024-8-20 15:24
卖老差不多得了

哪怕不包装


让代码充分warmup走JIT C2优化一些呗,然后你再对比一下C++的代码,看一下生成出来的机器码差别

然后再用vector API走一下,看看机器码的对比

有惊喜
发表于 2024-8-20 16:05 | 显示全部楼层
8owd8wan 发表于 2024-8-20 15:44
让代码充分warmup走JIT C2优化一些呗,然后你再对比一下C++的代码,看一下生成出来的机器码差别

然后再 ...

别嘴硬了
整楼爬下来, 我对你的感觉就是除了报菜名, 鸡毛都不懂
报错的菜名还不少
发表于 2024-8-20 16:12 | 显示全部楼层
xy. 发表于 2024-8-20 16:05
别嘴硬了
整楼爬下来, 我对你的感觉就是除了报菜名, 鸡毛都不懂
报错的菜名还不少 ...

传统代码写矩阵,不管一维还是二维,都是索引下标耗时啊。。
不管你用下标 a[x][y],还是用指针便宜。
故而才有AVX这类SIMD指令加速的想法。但问题在于,这样的代码真的不好写,或者说,我们大部分都没这么去优化。这就导致了实际代码里,尤其是业务代码,很少用到AVX加速
发表于 2024-8-20 16:14 | 显示全部楼层
赫敏 发表于 2024-8-20 12:40
现在真没有人3-5年就换代,那是前几年云计算蓝海的时候。现在Azure至少6年才会换代,aws上用e5 2686v4的 ...

腾讯云和阿里云,换代那是真的快。

我这里捡垃圾的服务器,有几台是2021年生产的,放无尘机房,里面连灰尘都没有,就淘汰了。
发表于 2024-8-20 16:36 | 显示全部楼层
8owd8wan 发表于 2024-8-20 12:51
是的。你看我在阿里云上的一台ECS

E5-2682

可能是我运气好吧

刚才我检查了4台云服务器

京东云是 Xeon Gold 6267C

腾讯云ECS是 Xeon Platinum 8255C
腾讯云轻量服务器也是 Xeon Platinum 8255C

只有阿里云隐藏了型号
ali c.png
发表于 2024-8-20 17:07 | 显示全部楼层
alieshex 发表于 2024-8-20 15:00
????????????

卡if是观测到的情况。

不是,我的意思是,你可以有自己观点,你也可以提出的新的东西进行讨论,比方你可以说应该上硅互联,可以说其实完全够用,或者像楼上说的上RDNA3的互联方式或者光纤也好什么乱七八糟的都可以,但是,不要反反复复的不停重复和强调一个事情。显然别人的智力能够理解你在说什么,不用没完没了的强调
发表于 2024-8-20 17:21 来自手机 | 显示全部楼层
Mufasa 发表于 2024-8-20 16:36
可能是我运气好吧

刚才我检查了4台云服务器

看指令集猜代数还是可以的
不过几代可能他们spec也有
就是阿里云的实例规格那个页面实在太长了 根本不想打开
发表于 2024-8-20 17:23 | 显示全部楼层
Mufasa 发表于 2024-8-20 16:36
可能是我运气好吧

刚才我检查了4台云服务器

感觉阿里云里啥都有

EPYC

EPYC

8269Y

8269Y

隐藏的

隐藏的
发表于 2024-8-20 17:34 | 显示全部楼层
本帖最后由 alieshex 于 2024-8-20 22:04 编辑
darkness66201 发表于 2024-8-20 17:07
不是,我的意思是,你可以有自己观点,你也可以提出的新的东西进行讨论,比方你可以说应该上硅互联,可以 ...


哦,那我很抱歉。和你对话是我一开始没说清楚 “对基板能不能布线保留意见”我一直怀疑满ccd基板可能没空间,双gmi一开始就认为可行。不过只针对zen5,5c就算两个大概还是不够。
大概是晚上了干其他事思维有点跳跃,同时也在看相关资料,忘了有没有说,好像可能还回错人了,人果然多线程还是容易出错的。。。

至于后面,大概就是解释情况和讨论实际到底有没有。这方面我保留,毕竟是我的观点基石。




我补充一下数据,证明一下卡if带宽问题。虽然可能不会有人看了
12通道,1.5g频率,顶配,开avx2。降频是否降if我不清楚,作者说内存带宽有下降,不过理论上应该是都不降的,还有12通道最多2ccd应该是填满if的。
可以看到部分已经是对半关系了,间接证明我说的卡if带宽。降频zen4都这样,zen5翻倍那肯定。。。
不过16c比8c差距加大的那几个有待分析
v2-0b2000b02b00ff858939043058c47173_r.jpg
v2-698a2d1c373d82c6cf509b7510ef8c14_r.jpg
原址 https://zhuanlan.zhihu.com/p/672368524



另补Zen 2的基板。暂时没找到更新的。不过这代开始写入砍半,一部分原因是布线
v2-0ba480a41d4263b37a11e787e46f3c6b_r.jpg


也懒得回了,,都不一定有人看,就这样吧。反正我60G够用,不够了amd也该改了。其他的管它卡不卡,有没有人用得到,别人认不认可,真实不真实,与我何关
发表于 2024-8-20 17:39 | 显示全部楼层
OstCollector 发表于 2024-8-20 17:21
看指令集猜代数还是可以的
不过几代可能他们spec也有
就是阿里云的实例规格那个页面实在太长了 根本不想 ...

对照文档中心看了一下,应该是Ice Lake,第三代铂金至强咯。
反正大部分的单核性能都挺。。弱鸡的

发表于 2024-8-20 19:24 | 显示全部楼层
本帖最后由 zhuifeng88 于 2024-8-20 20:13 编辑
8owd8wan 发表于 2024-8-20 15:44
让代码充分warmup走JIT C2优化一些呗,然后你再对比一下C++的代码,看一下生成出来的机器码差别

然后再 ...


vector api能有什么惊喜....你怕是对gemm优化点一点概念都没有, 真就报菜名呢

vanilla, vector api, 随便重排一下 3张图对比给你
直接用vector api只是30秒->24秒
随便重排一下速度都能把直接用vector api吊起来打
别说jit没预热或者没允许avx2, --add-modules jdk.incubator.vector -XX:+UseSuperWord -XX:UseAVX=3 -XX:Tier2CompileThreshold=1 -XX:Tier3CompileThreshold=1 -XX:Tier4CompileThreshold=1开了的, block652你也可以看到vector api生成的avx2指令

x0.png
x1.png
x2.png
发表于 2024-8-20 21:56 来自手机 | 显示全部楼层
本帖最后由 8owd8wan 于 2024-8-20 22:26 编辑
zhuifeng88 发表于 2024-8-20 19:24
vector api能有什么惊喜....你怕是对gemm优化点一点概念都没有, 真就报菜名呢

vanilla, vector api, 随 ...


对啊,大哥,hello  world 级别这样的加速已经足够惊喜了啊!
然后你用 国内 easyai 这个玩具框架,矩阵计算采用 vector API(改写 martix 相关类。跑图片分类识别代码,足可以获得可观的提升! 我自己测试下来,5000 个图片的训练时间可以减少 65% 左右。当然我承认,这种极端优化情况下,bandwidth也许遇到瓶颈。但,我目前还没遇到
发表于 2024-8-20 22:02 来自手机 | 显示全部楼层
本帖最后由 8owd8wan 于 2024-8-20 22:30 编辑
zhuifeng88 发表于 2024-8-20 19:24
vector api能有什么惊喜....你怕是对gemm优化点一点概念都没有, 真就报菜名呢

vanilla, vector api, 随 ...


https://gitee.com/dromara/easyAi

这个玩具……but 见谅,不能把改写的 martix 包下的加速代码贴出来,因为有些商业上的问题。

目前就是用 avx API 改写那一块,顺便加上多线程,效率提高很多……足可以应付演示和路演……
发表于 2024-8-20 22:19 | 显示全部楼层
本帖最后由 8owd8wan 于 2024-8-20 22:28 编辑
zhuifeng88 发表于 2024-8-20 19:24
vector api能有什么惊喜....你怕是对gemm优化点一点概念都没有, 真就报菜名呢

vanilla, vector api, 随 ...


晚上喝的有些多,趁着醉意总结一下
1. 我们现在做的事情,其实就是借着AVX指令+多线程,尝试改进一个Java的AI框架,开辟一个新场所,口号是:build your AI without CUDA(雄心壮志也好,螳臂挡车也罢,没办法,国内IT软件都是内卷,2C也好,2VC也罢,理论+实践,或许大概能做出些东西,况且现在AI又是热点)
2. 遇到一些瓶颈,但还是有些进展

3. 陆续做了路演,现在和作者合作,transformer也做起来。我个人觉得,Java base能做LLM,也许,大概

4. 也许我真的是螳臂挡车,嘲笑也好,讽刺也罢,无所谓了。

5. 你愿意去探求,刨根问底,我觉得真的可以聊。。

6. 私信已发,望回复,谢谢!
avx.png
发表于 2024-8-20 22:53 | 显示全部楼层
8owd8wan 发表于 2024-8-20 22:19
晚上喝的有些多,趁着醉意总结一下
1. 我们现在做的事情,其实就是借着AVX指令+多线程,尝试改进一个Java ...

这做法吧....啥都可以做到, 但说到底就是, 为什么呢
发表于 2024-8-20 22:55 | 显示全部楼层
本帖最后由 8owd8wan 于 2024-8-20 23:03 编辑
zhuifeng88 发表于 2024-8-20 22:53
这做法吧....啥都可以做到, 但说到底就是, 为什么呢


是的,你说到实质了,啥都可以。。但,有时候就是需要
1. 讲一个故事,资金喜欢听故事,市场也喜欢听故事
2. 内行人都明白可以,但,恰恰是没人真的去做,或者说,从0-1,真正懂的人,不一定去做
3. 我,很多人,包括国内投资的朋友,都不想继续交那个无底洞的cuda税了
4. 试试看咯,也许,可以有个一亩三分地
 楼主| 发表于 2024-8-21 08:57 | 显示全部楼层
Mufasa 发表于 2024-8-20 00:33
原来你纠结的是这个啊。

Zen5C的处理能力不会超过IF带宽的,因为它跑不了大核心那种高频。

为啥你认为IOD现在还不是瓶颈呢
发表于 2024-8-21 08:58 | 显示全部楼层
xks07 发表于 2024-8-19 12:58
主要是牙膏不给力,桌面一直8大核。。。
牙膏给力的话
AMD肯定会出单CCD16核的

8核5.8G那功耗已经很恐怖了,物理规律还是很难打破。
发表于 2024-8-21 09:02 | 显示全部楼层
OstCollector 发表于 2024-8-19 19:05
说起来,torus和hypercube作为片上总线可能吗

当然可以,只是MESH的问题这些拓扑也跑不了。
发表于 2024-8-21 09:10 | 显示全部楼层
OstCollector 发表于 2024-8-19 17:32
极限是xbar吧。不过16c的xbar不好搞啊

cross bar相比ringbus可以说几乎没有任何性能优势,小规模图省事用xbar还行。
发表于 2024-8-21 10:08 | 显示全部楼层
shawnwinton 发表于 2024-8-21 08:57
为啥你认为IOD现在还不是瓶颈呢

因为服务器工作站几百个核都是用的IODdie啊
8通道内存都玩出来了。
扩展性更不用说了。
AMD主要是不愿意研发桌面主板芯片。瞎搞。。。。。
之前还用IOD做南桥,现在直接外包了
发表于 2024-8-21 10:24 | 显示全部楼层
放着大路不走要走独木桥的感觉

建议遇事不决看看股价市值发展趋势
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

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

GMT+8, 2025-4-26 23:10 , Processed in 0.014210 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

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