【发布时间】: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];
}
}
【问题讨论】:
您将如何使用矩阵传输来优化此代码以用于缓存
for (int i = 0 ; i < SIZE ; i ++) {
for (int j = 0 ; j < SIZE ; j ++) {
dest[i][j] = src[j][i];
}
}
【问题讨论】:
您必须了解机器架构才能正确执行此操作。但基本上,您通常希望在 N - 1 个线程之间分配工作(N 是可用的线程数,并为主管理器线程带走一个),其中每个线程的内存块读/写访问 被分成对齐的缓存行大小,因此线程不会在内存总线上争夺公共内存命中。
【讨论】: