Architecture and performance of Devito, a system for automated stencil computation

File Description SizeFormat 
1807.03032v1.pdfWorking paper1.8 MBAdobe PDFView/Open
Title: Architecture and performance of Devito, a system for automated stencil computation
Authors: Luporini, F
Lange, M
Louboutin, M
Kukreja, N
Hückelheim, J
Yount, C
Witte, P
Kelly, PHJ
Gorman, GJ
Herrmann, FJ
Item Type: Working Paper
Abstract: Stencil computations are a key part of many high-performance computing applications, such as image processing, convolutional neural networks, and finite-difference solvers for partial differential equations. Devito is 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, integrated in 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 performance optimizations is demonstrated using operators drawn from seismic imaging applications.
URI: http://hdl.handle.net/10044/1/62936
Copyright Statement: © The Author(s).
Sponsor/Funder: Engineering & Physical Science Research Council (EPSRC)
Intel Corporation
Engineering & Physical Science Research Council (EPSRC)
Funder's Grant Number: EP/L000407/1
PESCI Donation
EP/R029423/1
Keywords: cs.MS
65N06, 68N20
Notes: Submitted to SIAM Journal on Scientific Computing
Appears in Collections:Faculty of Engineering
Earth Science and Engineering



Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Creative Commonsx