Boosting memory access locality of the Spectral Element Method with Hilbert space-filling curves
Abstract
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 with three other ordering schemes.
- Publication:
-
Computers and Geosciences
- Pub Date:
- December 2021
- DOI:
- 10.1016/j.cageo.2021.104938
- arXiv:
- arXiv:2104.08416
- Bibcode:
- 2021CG....15704938A
- Keywords:
-
- Hilbert space-filling curves;
- Spectral Element Method;
- Unstructured meshes;
- Acoustic waves;
- Wave propagation;
- Parallel processing;
- Computer Science - Mathematical Software;
- Computer Science - Distributed;
- Parallel;
- and Cluster Computing;
- Computer Science - Performance;
- 86-08 (Primary);
- 35Q68;
- 35Q86 (Secondary);
- G.4;
- D.1.3
- E-Print:
- 23 pages, 12 figures