【发布时间】:2013-05-09 09:26:12
【问题描述】:
相关问题: This one
我使用的空间网格可能会变大(10^6 个节点)甚至更大。我将定期执行置换操作(例如从一个节点到另一个节点的粒子)。我不是信息学方面的专家,但我开始理解缓存行和空间局部性的概念,虽然还不是很好。所以,我在徘徊是否更喜欢使用二维数组(如果是的话,哪个?我现在更愿意避免提升,但也许我稍后会链接它)并索引位移例如这样:
数组[i][j] -> 数组[i-1][j+2]
或者,对于一维数组,如果 NX 是“等效”列数:
数组[i*NX+j] -> 数组[(i-1)*NX+j+2]
知道每次迭代将完成近一百万次,也有近一百万次迭代。
【问题讨论】:
标签: optimization computer-science spatial computer-architecture temporal