高效的访问问题:我需要访问一个大矩阵(大于2000x2000)列明智,我的算法需要1行通过和1列通过。行传递对于内存效率(高速缓存未命中)是正确的,但是如何减少列通过中的高速缓存未命中?我需要效率。高效的访问矩阵列
我的嘛我是这样的:声明ñ局部变量(根据内存读取大小),
int a1, a2, a3, a4; for (int j = 0 ; j < DIM_Y ; j+=4) for (int i = 0 ; i < DIM_X ; i++) a1 = matrix[i][j]; ... ; a4 = matrix[i][j+4]; // make the column processing on the 4 variables.
这是一个在C或C++,和数组或int或字符。
欢迎提出任何建议和意见。
谢谢。
你在用什么语言?请相应地标记问题。 – ja72
矩阵类型是什么?很容易假设它是一个二维int数组,但也可能是一个int数组指针等。 – jimhark