Applying the Polyhedral Model to Tile Time Loops in Devito
Dylan McCormick

TL;DR
This paper introduces a polyhedral model-based loop tiling optimization for Devito-generated code, significantly reducing runtime by improving data reuse and automating the optimization process.
Contribution
It presents a novel loop tiling method using the polyhedral model specifically for Devito, enhancing performance and automation in finite-difference code generation.
Findings
Up to 27.5% runtime reduction with tiling optimization
Effective data reuse leading to decreased memory traffic
Automation options integrated into Devito framework
Abstract
The run time of many scientific computation applications for numerical methods is heavily dependent on just a few multi-dimensional loop nests. Since these applications are often limited by memory bandwidth rather than computational resources they can benefit greatly from any optimizations which decrease the run time of their loops by improving data reuse and thus reducing the total memory traffic. Some of the most effective of these optimizations are not suitable for development by hand or require advanced software engineering knowledge which is beyond the level of many researchers who are not specialists in code optimization. Several tools exist to automate the generation of high-performance code for numerical methods, such as Devito which produces code for finite-difference approximations typically used in the seismic imaging domain. We present a loop-tiling optimization which can be…
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.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Scientific Computing and Data Management · Parallel Computing and Optimization Techniques
