Boosting Memory Access Locality of the Spectral Element Method with Hilbert Space-Filling Curves
Roger R. F. Ara\'ujo, Lutz Gross, Samuel Xavier-de-Souza

TL;DR
This paper introduces a Hilbert space-filling curve-based algorithm to reorder mesh elements in the Spectral Element Method, significantly improving cache efficiency and reducing execution time in acoustic wave simulations.
Contribution
It presents a novel reordering technique using Hilbert curves to enhance memory locality and computational performance in spectral element simulations.
Findings
Achieves 9-25% reduction in execution time
Effective across various mesh granularities and element sizes
Reduces cache misses and improves data locality
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 to three other ordering schemes.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
