-
f Devito: Fast and Scalable Full-Waveform Inversion Without the Excruciating Pain
- Publisher: European Association of Geoscientists & Engineers
- Source: Conference Proceedings, First EAGE Workshop on High Performance Computing for Upstream in Latin America, Sep 2018, Volume 2018, p.1 - 1
Abstract
We describe Devito, an open-source embedded domain specific language (DSL) in Python for developing parallel and highly optimized finite difference solvers - primarily targeting seismic imaging applications such as reverse-time migration (RTM) and full-waveform inversion (FWI). The two key novel aspects of this technology that distinguish it from existing frameworks is the use of a symbolic mathematics engine, SymPy, to enable geophysicists to quickly and easily implement new methods that are easily verifiable, and the use of compiler techniques to transform the high-level implementation into highly optimized and parallel C code on the fly. A key benefit of taking this embedded DSL compiler technology approach is that it also provides a robust strategy for application code performance portability. We demonstrate the generation and automated execution of highly optimized stencil code for standard operators such as forward, adjoint and gradient operators from only a few lines of Python and SymPy. We also demonstrate how Devito can be integrated with Dask to implement highly scalable RTM on Cloud and Supercomputing platforms.