Temporal blocking of finite-difference stencil operators with sparse "off-the-grid" sources
File(s)2010.10248v2.pdf (1.45 MB)
Accepted version
Author(s)
Type
Conference Paper
Abstract
Stencil kernels dominate a range of scientific applications, including seismic and medical imaging, image processing, and neural networks. Temporal blocking is a performance optimization that aims to reduce the required memory bandwidth of stencil computations by re-using data from the cache for multiple time steps. It has already been shown to be beneficial for this class of algorithms. However, applying temporal blocking to practical applications' stencils remains challenging. These computations often consist of sparsely located operators not aligned with the computational grid (“off-the-grid”). Our work is motivated by modelling problems in which source injections result in wavefields that must then be measured at receivers by interpolation from the grided wavefield. The resulting data dependencies make the adoption of temporal blocking much more challenging. We propose a methodology to inspect these data dependencies and reorder the computation, leading to performance gains in stencil codes where temporal blocking has not been applicable. We implement this novel scheme in the Devito domain-specific compiler toolchain. Devito implements a domain-specific language embedded in Python to generate optimized partial differential equation solvers using the finite-difference method from high-level symbolic problem definitions. We evaluate our scheme using isotropic acoustic, anisotropic acoustic, and isotropic elastic wave propagators of industrial significance. After auto-tuning, performance evaluation shows that this enables substantial performance improvement through temporal blocking over highly-optimized vectorized spatially-blocked code of up to 1.6x.
Date Issued
2021-06-28
Date Acceptance
2021-06-01
Citation
2021 IEEE 35TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS), 2021, pp.497-506
ISSN
1530-2075
Publisher
IEEE COMPUTER SOC
Start Page
497
End Page
506
Journal / Book Title
2021 IEEE 35TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS)
Copyright Statement
© 2021 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.
Sponsor
Engineering & Physical Science Research Council (EPSRC)
Engineering & Physical Science Research Council (EPSRC)
Identifier
http://gateway.webofknowledge.com/gateway/Gateway.cgi?GWVersion=2&SrcApp=PARTNER_APP&SrcAuth=LinksAMR&KeyUT=WOS:000695273000050&DestLinkType=FullRecord&DestApp=ALL_WOS&UsrCustomerID=1ba7043ffcc86c417c072aa74d649202
Grant Number
EP/R029423/1
EP/V001493/1
Source
35th IEEE International Parallel and Distributed Processing Symposium (IPDPS)
Subjects
Science & Technology
Technology
Computer Science, Hardware & Architecture
Computer Science, Software Engineering
Computer Science, Theory & Methods
Computer Science
temporal blocking
stencil computations
code generation
partial differential equations
seismic imaging
domain-specific languages
wave-propagation
REVERSE-TIME MIGRATION
PARALLEL EXECUTION
WAVE
LOCALITY
ALGORITHMS
EQUATIONS
SOLVERS
CODE
Publication Status
Published
Start Date
2021-05-17
Finish Date
2021-05-21
Coverage Spatial
Portland, OR, USA
Date Publish Online
2021-06-28