English

Devito: automated fast finite difference computation

Mathematical Software 2016-10-11 v2 Performance

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 only see concise symbolic mathematical expressions.

Keywords

Cite

@article{arxiv.1608.08658,
  title  = {Devito: automated fast finite difference computation},
  author = {Navjot Kukreja and Mathias Louboutin and Felippe Vieira and Fabio Luporini and Michael Lange and Gerard Gorman},
  journal= {arXiv preprint arXiv:1608.08658},
  year   = {2016}
}

Comments

Accepted at WolfHPC 2016

R2 v1 2026-06-22T15:35:54.795Z