Architecture and performance of Devito, a system for automated stencil computation
File(s)1807.03032.pdf (2.14 MB)
Accepted version
Author(s)
Type
Journal Article
Abstract
Stencil computations are a key part of many high-performance computing applications, such as imageprocessing, convolutional neural networks, and finite-difference solvers for partial differential equations. Devitois a framework capable of generating highly-optimized code given symbolic equations expressed in Python,specialized in, but not limited to, affine (stencil) codes. The lowering process—from mathematical equations down to C++ code—is performed by the Devito compiler through a series of intermediate representations.Several performance optimizations are introduced, including advanced common sub-expressions elimination, tiling and parallelization. Some of these are obtained through well-established stencil optimizers, integratedin the back-end of the Devito compiler. The architecture of the Devito compiler, as well as the performance optimizations that are applied when generating code, are presented. The effectiveness of such performanceoptimizations is demonstrated using operators drawn from seismic imaging applications.
Date Issued
2020-04-26
Date Acceptance
2019-12-01
Citation
ACM Transactions on Mathematical Software, 2020, 46 (1), pp.1-24
ISSN
0098-3500
Publisher
Association for Computing Machinery
Start Page
1
End Page
24
Journal / Book Title
ACM Transactions on Mathematical Software
Volume
46
Issue
1
Copyright Statement
© 2020 Owner/Author. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in ACM Transactions on Mathematical Software (2020) https://dl.acm.org/doi/10.1145/3374916
Sponsor
Argonne National Laboratory
Engineering & Physical Science Research Council (EPSRC)
Engineering & Physical Science Research Council (EPSRC)
Engineering & Physical Science Research Council (EPSRC)
Grant Number
8F-30163
EP/R029423/1
EP/L000407/1
EP/P010040/1
Subjects
Numerical & Computational Mathematics
0802 Computation Theory and Mathematics
0806 Information Systems
Publication Status
Published
Article Number
ARTN 6