Journal cover Journal topic
Geoscientific Model Development An interactive open-access journal of the European Geosciences Union
Journal topic

Journal metrics

Journal metrics

  • IF value: 4.252 IF 4.252
  • IF 5-year value: 4.890 IF 5-year 4.890
  • CiteScore value: 4.49 CiteScore 4.49
  • SNIP value: 1.539 SNIP 1.539
  • SJR value: 2.404 SJR 2.404
  • IPP value: 4.28 IPP 4.28
  • h5-index value: 40 h5-index 40
  • Scimago H index value: 51 Scimago H index 51
Discussion papers
© Author(s) 2018. This work is distributed under
the Creative Commons Attribution 4.0 License.
© Author(s) 2018. This work is distributed under
the Creative Commons Attribution 4.0 License.

Model description paper 23 Aug 2018

Model description paper | 23 Aug 2018

Review status
This discussion paper is a preprint. It is a manuscript under review for the journal Geoscientific Model Development (GMD).

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

Mathias Louboutin1, Michael Lange2, Fabio Luporini3, Navjot Kukreja3, Philipp A. Witte1, Felix J. Herrmann1, Paulius Velesko3, and Gerard J. Gorman3 Mathias Louboutin et al.
  • 1School of Computational Science and Engineering, Georgia Institute of Technology, Atlanta, USA
  • 2ECMWF, UK
  • 3Earth Science and Engineering, Imperial College London, London, UK

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.

Mathias Louboutin et al.
Interactive discussion
Status: final response (author comments only)
Status: final response (author comments only)
AC: Author comment | RC: Referee comment | SC: Short comment | EC: Editor comment
[Login for Authors/Topical Editors] [Subscribe to comment alert] Printer-friendly Version - Printer-friendly version Supplement - Supplement
Mathias Louboutin et al.
Mathias Louboutin et al.
Total article views: 399 (including HTML, PDF, and XML)
HTML PDF XML Total BibTeX EndNote
307 85 7 399 7 6
  • HTML: 307
  • PDF: 85
  • XML: 7
  • Total: 399
  • BibTeX: 7
  • EndNote: 6
Views and downloads (calculated since 23 Aug 2018)
Cumulative views and downloads (calculated since 23 Aug 2018)
Viewed (geographical distribution)  
Total article views: 387 (including HTML, PDF, and XML) Thereof 385 with geography defined and 2 with unknown origin.
Country # Views %
  • 1
No saved metrics found.
No discussed metrics found.
Latest update: 20 Jan 2019
Publications Copernicus
Short summary
This paper presents Devito, a Python based software. The aim of this software is to provide a high-level simple interface to users for the description and discretization of the mathematical definition of the physics. This research initially started as an attempt to improve research time, portability and performance in exploration geophysics. We present the latest version of the software that is already making impact in academics and industry.
This paper presents Devito, a Python based software. The aim of this software is to provide a...