pith. sign in

arxiv: 1808.01995 · v2 · pith:BUSOSHBSnew · submitted 2018-08-06 · 💻 cs.DM · physics.geo-ph

Devito (v3.1.0): an embedded domain-specific language for finite differences and geophysical exploration

classification 💻 cs.DM physics.geo-ph
keywords devitodomain-specificfinitelanguagecodecostcreatedifference
0
0 comments X
read the original abstract

We introduce Devito, a new domain-specific language for implementing high-performance finite difference partial differential equation solvers. The motivating application is exploration seismology where methods such as Full-Waveform Inversion and Reverse-Time Migration are used to invert terabytes of seismic data to create images of the earth's subsurface. Even using modern supercomputers, it can take weeks to process a single seismic survey and create a useful subsurface image. The computational cost is dominated by the numerical solution of wave equations and their corresponding adjoints. Therefore, a great deal of effort is invested in aggressively optimizing the performance of these wave-equation propagators for different computer architectures. Additionally, the actual set of partial differential equations being solved and their numerical discretization is under constant innovation as increasingly realistic representations of the physics are developed, further ratcheting up the cost of practical solvers. By embedding a domain-specific language within Python and making heavy use of SymPy, a symbolic mathematics library, we make it possible to develop finite difference simulators quickly using a syntax that strongly resembles the mathematics. The Devito compiler reads this code and applies a wide range of analysis to generate highly optimized and parallel code. This approach can reduce the development time of a verified and optimized solver from months to days.

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.

Forward citations

Cited by 1 Pith paper

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score.

  1. Investigating the OPS intermediate representation to target GPUs in the Devito DSL

    cs.MS 2019-06 unverdicted novelty 3.0

    Integration of OPS intermediate representation as a GPU backend in Devito DSL yields speedups over the core backend for structured-mesh finite-difference applications.