矩阵换位缓存优化

Matrix transposing cache optimization

本文关键字:优化 缓存 换位      更新时间:2023-10-16

如何使用矩阵传输优化缓存的代码

for (int i = 0 ; i < SIZE ; i ++) {
    for (int j = 0 ; j < SIZE ; j ++) {
        dest[i][j] = src[j][i];
    }
}

您必须了解机器体系结构才能正确执行此操作。但基本上,您通常希望在N-1个线程之间分配工作(N是可用线程数,主管理器线程去掉一个),其中每个线程的内存读/写访问块被划分为对齐的缓存线大小,这样线程就不会在内存总线上为常见的内存命中而斗争。