【问题标题】:About Intel's strip mining example关于英特尔的条带采矿示例
【发布时间】:2014-10-17 08:31:16
【问题描述】:

在英特尔的条带挖矿示例中:

https://software.intel.com/en-us/articles/strip-mining-to-optimize-memory-use-on-32-bit-intel-architecture

为什么不将 Transform 和 Lighting 合并到一个循环中呢?它将解决缓存驱逐问题。

有人在 cmets 中问过同样的问题,但没有答案。

如果拆分循环更快……为什么?在什么情况下我们应该拆分循环?

我浏览了几篇关于拆分循环的帖子,但还是不明白。

【问题讨论】:

    标签: c++ performance for-loop cpu-cache


    【解决方案1】:

    如果这些操作中只有一个可以向量化,那么将它们组合起来可以防止循环的向量化。在这种情况下,将阵列划分为缓存大小的条带会更好。我不知道这是否适用于TransformLighting。如果不是,那么它们可能不一定是演示的好例子。

    当循环部分可矢量化(这是一个词吗?)部分不可矢量化时,裂变*通常是要走的路。

    *拆分实际上是根据wikipedia文章中使用的技术的名称

    【讨论】:

    • 啊...谢谢。
    猜你喜欢
    • 2014-09-30
    • 2018-05-15
    • 2012-11-14
    • 2017-01-30
    • 2014-04-19
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 2018-12-10
    相关资源
    最近更新 更多