We propose an algorithm based on Hilbert space-filling curves to reorder mesh elements in memory for use with the Spectral Element Method, aiming to attain fewer cache misses, better locality of data reference and faster execution. We present a technique to numerically simulate acoustic wave propagation in 2D domains using the Spectral Element Method, and discuss computational performance aspects of this procedure. We reorder mesh-related data via Hilbert curves to achieve sizable reductions in execution time under several mesh configurations in shared-memory systems. Our experiments show that the Hilbert curve approach works well with meshes of several granularities and also with small and large variations in element sizes, achieving reductions between 9% and 25% in execution time when compared to three other ordering schemes.
翻译:我们提出基于希尔伯特空间填充曲线的算法,对记忆中的网格元素进行重新排序,以便与光谱元素法一起使用,目的是减少缓存误差,改善数据参考地点和加快执行速度。我们提出了一个利用光谱元素法在2D域进行数字模拟声波传播的技术,并讨论这一程序的计算性能方面。我们通过希尔伯特曲线重新排序与网格有关的数据,以便在共享元素系统的若干网格配置下实现执行时间的大幅度缩短。我们的实验表明,希尔伯特曲线法与几个颗粒的模类以及元素大小的大小小和大变异有着良好的效果,在与其他三个定序方案相比,执行时间减少了9%至25%。