gpt4 book ai didi

optimization - 针对 ARM : Why different CPUs affects different algorithms differently (and drastically) 进行优化

转载 作者:行者123 更新时间:2023-12-03 16:44:26 26 4
gpt4 key购买 nike

我正在对 Windows 移动设备上的代码性能进行一些基准测试,并注意到某些算法在某些主机上的表现明显更好,而在其他主机上则明显更差。当然,考虑到时钟速度的差异。

供引用的统计数据(所有结果均由同一个二进制文件生成,由针对 ARMv4 的 Visual Studio 2005 编译):

英特尔 XScale PXA270

  • 算法 A:22642 毫秒
  • 算法 B:29271 毫秒

ARM1136EJ-S内核(嵌入MSM7201A芯片)

  • 算法 A:24874 毫秒
  • 算法 B:29504 毫秒

ARM926EJ-S 内核(嵌入在 OMAP 850 芯片中)

  • 算法 A:70215 毫秒
  • 算法 B:31652 毫秒 (!)

我检查了 float 作为一个可能的原因,虽然算法 B 确实使用了 float 代码,但它并没有从内部循环中使用它,而且似乎没有一个内核有 FPU。

所以我的问题是,什么机制可能导致这种差异,最好是关于如何解决/避免相关瓶颈的建议。

提前致谢。

最佳答案

一个可能的原因是 926 的流水线较短(5 个周期对 1136 的 8 个周期,iirc),因此 926 上的分支预测错误成本较低。

也就是说,这些处理器之间存在很多架构差异,太多以至于无法确定为什么您会在不了解您实际执行的指令的情况下看到这种效果。

关于optimization - 针对 ARM : Why different CPUs affects different algorithms differently (and drastically) 进行优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1524558/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com