David's random thoughts – Telegram
David's random thoughts
1.74K subscribers
273 photos
1 video
31 files
175 links
个人想法合集,主要同步来自Twitter (𝕏)、博客等账号发布的内容。

注:本频道并非纯粹包含技术相关内容(虽然以它们为主),本人不会刻意回避政治观点表达。可能包含一些直言不讳的主观评价,慎入。

个人博客:https://blog.hjc.im
Download Telegram
简单翻下Xclipse 940的驱动,Vulkan基于AMDVLK,OpenCL是AMDGPU Proprietary,二者都自带LLVM所以体积巨大

虽然基于RDNA3,但与桌面不同,LLVM target是gfx4020而非gfx11xx。PAL SettingsLoader配置里又叫把它叫做mgfx2。同样的位置还出现了gfx1040(E2200),gfx4010 (死掉的E2300?),gfx4030 (E2500?)

跟桌面架构的异同:ISA是正宗的RDNA3,但无论是OpenCL还是Vulkan都强制wave64模式运行,不支持wave32所以看不到RDNA3新增的VOPD指令。

相比桌面RDNA3的FP32减半(FP32:FP16=1:2)。这个并不意外,上一代E2200也相比桌面砍半(1:4)。FP16 FMA wave64可单周期执行,FP32则需要两个周期。

L0/L1/L2分别为32K/128K/1MB (780M分别为32K/256K/2MB)。缓存结构比高通Adreno 7更复杂,L2以内带宽远强于高通,但除了L0之外延迟略高(粗估延迟周期数大致等同于桌面RDNA3)。

出GPU L2后的SLC/Mem延迟和带宽由于受到SoC节能的干扰,不具备参考和对比的价值。内存疑似只有6400频率(带宽47GB/s左右)
👍2
https://pigsty.io/zh/blog/db/redis-oss/

一觉醒来发现自己变成开源社区头号公敌了(不

其实关于这个问题,还是得看做FOSS的目的是什么。比如Linus当年做Linux就比较纯粹,一个GPLv2足矣。

但是现在更多的公司开源是把“开源”本身为了作为卖点培养生态,以后卖商业产品赚大钱。本质上还是在混淆自由软件和开源软件。
👍12
现在的知乎首页推荐除了营销号和广告就是一堆反智内容,屏蔽都屏蔽不过来。有的内容已经屏蔽一万次了还是照推不误。不仅如此,UI还越来越难用,想只看自己关注的人而不是什么见鬼的推荐/精选需要的操作越来越多

要不还是退了知乎不玩了吧……只可惜确实关注了那么几个内容比较专业的想偶尔看看,唉🙃
😁11😢3🤡2
赶在Zen5/ARL发布之前简单测试最后一代6-wide x86大核性能特性

有趣的是虽然两家在Zen3-4/GLC-RWC这几代IPC接近,性能瓶颈却大相径庭。粗略观察,Intel分支预测失效代价巨大;AMD处理大code footprint的能力不太行而且后端mem bound严重(哪怕是缓存内)

两家PMC有细微区别,数值对比只能算是图一乐
👍16
这Windows整天对着自家app的通知下手是什么意思呢……
😁14
顺便对比zen4开关op cache分别是什么情况。。关闭op cache之后的zen4是一个严格限制在4-wide x86解码并且等效流水线长度加长大概2周期左右的微架构。

从结果看,感觉x86提升IPC最大的敌人依然是高频率,而非x86 ISA本身对解码宽度的限制。
👍7
解决了一个好多年前的疑惑

AMD Zen 2的软件优化手册上把dispatch对象称为micro-ops (uop),而Zen 3手册上则是称之为macro-ops (mop)。以前我一直以为这两个架构在这方面没有太大的差异,单纯是文档由不同团队制作导致(AMD的文档质量懂的都懂),但最近经过实际测试发现两个文档的描述都是正确的。

从架构简介上看,Zen 2/3都是6-wide架构,但Zen 2是发射6个uops到后端,Zen 3则是发射6个mops。虽然都是叫6-wide但是背后的含金量完全不同,mop与x86指令基本一一对应(特殊情况下有一对多的fastpath double/ucode和2对1的fused mop),uop则是跟处理器后端具体执行单元的功能一一对应。

那么我们写一个简单的测试来探一探这个区别:测试5条指令的IPC,其中4条采用add指令;由于两个架构都只有4个scalar ALU,这样程序的IPC被限死在5。然后我们在不超过4*add+2*LD+1*ST的前提下,通过调节mem operand占比和剩下的一条指令来生成不同uop数量的程序,观察处理器单周期uop的吞吐。最终观察到Zen 3/4处理器可以单周期发射7个uop(甚至更多,特殊的指令组合可以让x86 ipc达到8),而Zen 2则是被严格限定在了6个uop,超过6个uop之后观察到明显的吞吐下降。

所以其实Zen 2的后端是一个更接近RISC的处理器,指令在流水线非常早期就被拆解成具体执行单元运行的uop进入dispatch/scheduler。Zen 3/4则是完全另一种思路下的产物(更接近Intel?),就连scheduler里存的都还是经过rename后的比x86更CISC的mop指令,scheduler向执行单元发送指令时才会变成具体的uop。如果说Zen 3是6-wide处理器,那么Zen 2实际上更接近4到5-wide;如果说Zen 2是6-wide处理器,那么Zen 3/4则是接近7到8-wide。
👍20
再来一个小彩蛋,由于fused macro ops的存在,x86处理器的x86指令IPC可以超过实际rename的宽度。例如下面这一组指令在Zen 3/4上运行可以跑出接近8的IPC,虽然x86 ISA有memory operand的情况下还这么load纯属凑数,并没有什么意义。。
👍12
经过我的不断努力,美国在我的知乎推荐时间线上的解体次数已经从每日4-5次降低到每日1-2次。可喜可贺,感觉每一个美国人都应该感谢我。当然马斯克的星舰肯定是会持续爆炸的,这个没救。
😁39
感觉有点玩明白知乎这个推荐算法了。。遇到什么反智推送,最好的应对方法并不是点踩/不感兴趣或者屏蔽该内容,而是点进问题去点赞一个反驳这个内容的回答,这样一段时间内都不太会有跟这个话题相关的内容。看起来点赞的权重远高于其它动作🤣

🙃就这么想做内容下沉去跟抖音快手抢市场,成为根正苗红的NYSE上市的爱国生意企业?
😁16💯4
回想过去半年,高通一直在循环往复地做一件事:发Oryon/Snapdragon X Elite的PPT,然后弄几个ES闭门跑分给指定媒体发出去,再跟上代x86比功耗曲线显得自己非常的光鲜亮丽。

结果现在OEM机器大量泄露Geekbench的跑分一看,IPC都给菊厂K9010爆了,更别提最新的Cortex-X,哈哈……
😁18