首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是什么让苹果的PowerPC记忆如此之快?

是什么让苹果的PowerPC记忆如此之快?
EN

Stack Overflow用户
提问于 2018-05-25 01:56:04
回答 2查看 0关注 0票数 0

,它们的内环使用dcbt预取,有4个向量读取,然后4个向量写入。在调整了我的最佳函数,使其每次迭代也能获得64个字节后,memcpy的性能优势仍然令人尴尬。我用dcbz来释放带宽,苹果什么也不使用,但这两种代码在商店里都会犹豫。

代码语言:txt
复制
prefetch
  dcbt future
  dcbt distant future
load stuff
  lvx image
  lvx image + 16
  lvx image + 32
  lvx image + 48
  image += 64
prepare to store
  dcbz filtered
  dcbz filtered + 32
store stuff
  stvxl filtered
  stvxl filtered + 16
  stvxl filtered + 32
  stvxl filtered + 48
  filtered += 64
repeat

有谁对为什么非常相似的代码有如此巨大的性能差距有一些想法吗?我很想把真正的图像过滤器腌在任何秘密酱汁里,模比用的是什么?

EN

回答 2

Stack Overflow用户

发布于 2018-05-25 10:25:12

鲨鱼分析表明,它们的内环使用dcbt预取,有4个向量读取,然后4个向量写入。在调整了我的最佳函数之后,每次迭代也会获得64个字节。

我可能是在说显而易见的话,但既然你在问题中根本没有提到以下几点,也许值得指出:

它有一个神奇的64字节完美的线条大小。你有没有注意到尼克·巴斯廷的链接bCope.s中的台词跳过了?这意味着开发人员考虑了G5将如何使用指令流。如果想要再现相同的性能,一次读取64个字节是不够的,必须确保您的指令组已被很好地填充。

编辑:也可能对同一页上的以下段落感兴趣:

dcbz指令仍然按照G4和G3对32字节的内存段进行归零。然而,由于这不是G5的全部信誉,它将没有你可能希望的性能好处。G5有一个新引入的dcbzl指令,它对完整的128字节的记录线为零。

票数 0
EN

Stack Overflow用户

发布于 2018-05-25 11:53:57

不知道你到底在做什么,因为我看不见你的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100008580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档