【问题标题】:Matrix transposing cache optimization [duplicate]矩阵转置缓存优化[重复]
【发布时间】:2014-06-09 01:46:32
【问题描述】:

您将如何使用矩阵传输来优化此代码以用于缓存

for (int i = 0 ; i < SIZE ; i ++) {

    for (int j = 0 ; j < SIZE ; j ++) {

        dest[i][j] = src[j][i];
    }

}

【问题讨论】:

    标签: c++ c


    【解决方案1】:

    您必须了解机器架构才能正确执行此操作。但基本上,您通常希望在 N - 1 个线程之间分配工作(N 是可用的线程数,并为主管理器线程带走一个),其中每个线程的内存块读/写访问 被分成对齐的缓存行大小,因此线程不会在内存总线上争夺公共内存命中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多