如何使用矩阵traspotion优化缓存的代码
for (int i = 0 ; i < SIZE ; i ++) {
for (int j = 0 ; j < SIZE ; j ++) {
dest[i][j] = src[j][i];
}
}
答案 0 :(得分:0)
您必须了解正确执行此操作的计算机体系结构。但基本上你通常想要在N - 1个线程中划分工作(N是可用线程的数量,并为主管理器线程拿走一个),其中每个线程的内存块读/写访问 被分成对齐的缓存行大小,因此线程不会通过常见内存命中在内存总线上进行战斗。