X86下的统一内存模型居然还没有搞定吗
我感觉十几年前AMD收购ati 的时候发布第一代APU就说要搞统一访存 统一地址了 这马上Strix Halo不会手动给64G内存分成48+16吧 这也太搞了 事实可能并不像你理解的那样,术业有专攻,为什么一定要统一。如果你一定要有疑问,你研究一下ps5又不难,也是amd的方案。完全没必要,你太想当然了。 APU最开始就搞了呀,问题是。。问题是没啥收益,何苦呢 几百年前就能了问题是缓存一致性要牺牲性能的, 不可能无视性能改成默认行为
而不是默认行为的话老软件不改用不了就不关能不能的事了 CXL
没有消费级 ps4都11年了 为啥要搞? https://conferences.computer.org/sc-wpub/pdfs/SC-W2024-6oZmigAQfgJ1GhPL0yE3pS/555400b420/555400b420.pdf
MI300A也是X86。 zhuifeng88 发表于 2024-12-24 20:08
几百年前就能了
问题是缓存一致性要牺牲性能的, 不可能无视性能改成默认行为
而不是默认行为的话老软件不改 ...
问出这种东西的人能听懂 cache coherence 吗... xy. 发表于 2024-12-24 21:34
问出这种东西的人能听懂 cache coherence 吗...
APU这种同一片上的系统同步cache带来的开销总小于访存吧? 更不用说各自独立ram 然后从rom读两遍同样的东西吧 zhuifeng88 发表于 2024-12-24 20:08
几百年前就能了
问题是缓存一致性要牺牲性能的, 不可能无视性能改成默认行为
而不是默认行为的话老软件不改 ...
为什么在arm下可以做成默认的 本帖最后由 zhuifeng88 于 2024-12-24 22:00 编辑
kingofgu 发表于 2024-12-24 21:46
APU这种同一片上的系统同步cache带来的开销总小于访存吧? 更不用说各自独立ram 然后从rom读两遍同样的东 ...
各自独立各自复制一份是没有性能开销的, 可以各修改改各的, 非要同步不可的时候再由清楚"什么时候才是非要同步不可"的软件来进行显式同步, 并且只同步最小的范围
而unified每次修改不管对软件来说是否必要都需要通知所有持有缓存副本的节点 本帖最后由 zhuifeng88 于 2024-12-24 21:55 编辑
kingofgu 发表于 2024-12-24 21:48
为什么在arm下可以做成默认的
arm下真正性能敏感一样不会做成默认的, gh200就不默认unified zhuifeng88 发表于 2024-12-24 21:51
各自独立各自复制一份是没有性能开销的, 可以各修改改各的, 非要同步不可的时候再由清楚"什么时候才是非 ...
我想的是比如说 cpu和gpu的cache都持有某个int cpu的指令操作了这个int 理论上需要写回ram的地址 如果此时gpu需要这个数值 如果需要的最新的就需要先更新显存在更新cache 比直接同步cache会多一部而且更新ram可能需要几十倍的时间 本帖最后由 zhuifeng88 于 2024-12-24 22:14 编辑
kingofgu 发表于 2024-12-24 22:00
我想的是比如说 cpu和gpu的cache都持有某个int cpu的指令操作了这个int 理论上需要写回ram的地址 如果此 ...
我知道你想表达什么
但是这里有两个问题
第一个是不同功能簇之间的cache同步延迟通常是和访存在同一个数量级的(这不是同簇核心间同步), 根本不是几十倍, (而且在numa系统下cache同步延迟通常是高于近端访存的)
另一个是, 你做出了"都需要写回ram的地址"这个假设
但大部分情况下是软件知道自己在做的事情"每修改114514次"之后再进行1次reduce是没有问题的
但通过缓存一致性协议来做这件事情就会变成114514次缓存同步(如果不排他持有的话), 远比各自维护独立副本软件控制显式同步慢 zhuifeng88 发表于 2024-12-24 22:05
我知道你想表达什么
但是这里有两个问题
这边我有疑问,xbox或是ps5上用的是统一架构吗?
(不过ps5 pro 好像变成系统内存2g + 16g显存的样子?)https://cdn.jsdelivr.net/gh/master-of-forums/master-of-forums/public/images/patch.gif
页:
[1]