Devito: automated fast finite difference computation
Navjot Kukreja, Mathias Louboutin, Felippe Vieira, Fabio Luporini,, Michael Lange, Gerard Gorman

TL;DR
Devito is a domain-specific language that simplifies the expression, optimization, and automatic generation of highly efficient finite difference code for complex scientific problems, especially seismic imaging.
Contribution
It introduces Devito, a DSL that leverages symbolic math to automate code optimization for finite difference computations, outperforming or matching hand-tuned implementations.
Findings
Automatically optimizes complex equations for performance
Generates highly efficient C code from symbolic expressions
Simplifies the development of scientific computing applications
Abstract
Domain specific languages have successfully been used in a variety of fields to cleanly express scientific problems as well as to simplify implementation and performance opti- mization on different computer architectures. Although a large number of stencil languages are available, finite differ- ence domain specific languages have proved challenging to design because most practical use cases require additional features that fall outside the finite difference abstraction. Inspired by the complexity of real-world seismic imaging problems, we introduce Devito, a domain specific language in which high level equations are expressed using symbolic expressions from the SymPy package. Complex equations are automatically manipulated, optimized, and translated into highly optimized C code that aims to perform compa- rably or better than hand-tuned code. All this is transpar- ent to users, who…
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 · Reservoir Engineering and Simulation Methods
