在科学计算中使用等周体最小化缓存未命中
摘要:缓存性能的提高在科学计算中涉及到重排迭代空间的一些已知技术。其中一些重排可以被视为使用表面积与体积比较小的集合覆盖迭代空间。使用这种集合可能会减少在具有迭代空间作为域的局部操作的计算中的缓存不命中次数。首先,我们推导出任何算法在计算网格上的局部操作时必须遭受的缓存不命中的下界。然后,我们探索了结构化和非结构化离散化网格操作的迭代空间的覆盖,这些覆盖使我们能够接近这些下界。对于结构化网格,我们引入了一个基于网格的干涉格的连续最小瓷砖覆盖。我们证明了这种覆盖具有一个较小的表面积与体积比,并通过一个计算实验证明了使用这些瓷砖实际上可以减少缓存不命中。对于平面非结构化网格,我们展示了存在一个覆盖,将缓存不命中的数量降低到与结构化网格相同的水平。接下来,我们引入了本文中称为星状网格的多维网格类别。这些网格在分子模拟和偏微分方程的解法中被用作抽象。我们证明了星状网格可以被具有较低表面积与体积比的集合覆盖,并且因此具有与结构化网格相同的缓存效率。最后,我们呈现了一个三维立方体的三角形划分,这个划分具有一个性质,即与相同大小的结构化网格上的类似操作相比,对应网格上的任何局部操作必须遭受显著更多的缓存不命中。
作者:Michael Frumkin, Rob F. Van der Wijngaart
论文ID:cs/0205062
分类:Performance
分类简称:cs.PF
提交时间:2009-09-29