Devito (v3.1.0): an embedded domain-specific language for finite differences and geophysical exploration
-
Published:2019-03-27
Issue:3
Volume:12
Page:1165-1187
-
ISSN:1991-9603
-
Container-title:Geoscientific Model Development
-
language:en
-
Short-container-title:Geosci. Model Dev.
Author:
Louboutin Mathias, Lange Michael, Luporini Fabio, Kukreja NavjotORCID, Witte Philipp A., Herrmann Felix J.ORCID, Velesko Paulius, Gorman Gerard J.ORCID
Abstract
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 for which 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.
Publisher
Copernicus GmbH
Reference76 articles.
1. Alnæs, M. S., Logg, A., Ølgaard, K. B., Rognes, M. E., and Wells, G. N.:
Unified Form Language: a domain-specific language for weak formulations
of partial differential equations, ACM T. Math. Software, 40, 9, https://doi.org/10.1145/2566630, 2014. a 2. Andreolli, C., Thierry, P., Borges, L., Skinner, G., and Yount, C.: Chapter 23
– Characterization and Optimization Methodology Applied to Stencil
Computations, in: High Performance Parallelism Pearls, edited by: Reinders, J.
and Jeffers, J., 377–396, Morgan Kaufmann, Boston, https://doi.org/10.1016/B978-0-12-802118-7.00023-6, 2015. a 3. Arbona, A., Miñano, B., Rigo, A., Bona, C., Palenzuela, C., Artigues, A.,
Bona-Casas, C., and Massó, J.: Simflowny 2: An upgraded platform for
scientific modeling and simulation, arXiv preprint arXiv:1702.04715, Computer Physics Communications, 229, 170–181, 2017. a 4. Asanović, K., Bodik, R., Catanzaro, B. C., Gebis, J. J., Husbands, P.,
Keutzer,
K., Patterson, D. A., Plishker, W. L., Shalf, J., Williams, S. W., and Yelick, K. A.:
The landscape of parallel computing research: A view from berkeley, Tech.
rep., Technical Report UCB/EECS-2006-183, EECS Department, University of
California, Berkeley, 2006. a 5. Backus, J.: The history of Fortran I, II, and III, in: History of programming
languages I, ACM SIGPLAN Notices, 13, 165–180, 1978. a
Cited by
110 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
|
|