当前位置: X-MOL 学术arXiv.cs.MS › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Temporal blocking of finite-difference stencil operators with sparse "off-the-grid" sources
arXiv - CS - Mathematical Software Pub Date : 2020-10-20 , DOI: arxiv-2010.10248
George Bisbas, Fabio Luporini, Mathias Louboutin, Rhodri Nelson, Gerard Gorman, Paul H. J. Kelly

Stencil kernels dominate a range of scientific applications including seismic and medical imaging, image processing, and neural networks. Temporal blocking is a performance optimisation 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, optimising stencils for practical applications remains challenging. These computations often include sparsely located operators, not aligned with the computational grid ("off-the-grid"). For example, our work is motivated by sources that inject a wavefield and measurements interpolating grid values. 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 optimised 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. Performance evaluation, after auto-tuning, shows that this enables substantial performance improvement through temporal blocking, over highly-optimised vectorized spatially-blocked code of up to 1.6x.

中文翻译:

具有稀疏“离网”源的有限差分模板运算符的时间阻塞

模板内核在一系列科学应用中占主导地位,包括地震和医学成像、图像处理和神经网络。时间阻塞是一种性能优化,旨在通过在多个时间步长中重用缓存中的数据来减少模板计算所需的内存带宽。它已经被证明对这类算法是有益的。然而,为实际应用优化模板仍然具有挑战性。这些计算通常包括稀疏定位的算子,不与计算网格对齐(“离网”)。例如,我们的工作受到注入波场和测量插值网格值的源的推动。由此产生的数据依赖性使得采用时间阻塞更具挑战性。我们提出了一种方法来检查这些数据依赖性并对计算重新排序,从而在时间阻塞不适用的模板代码中提高性能。我们在 Devito 特定领域的编译器工具链中实现了这种新颖的方案。Devito 实现了一种嵌入在 Python 中的特定领域语言,以使用来自高级符号问题定义的有限差分方法生成优化的偏微分方程求解器。我们使用具有工业意义的各向同性声学、各向异性声学和各向同性弹性波传播器来评估我们的方案。自动调整后的性能评估表明,这可以通过时间阻塞实现显着的性能改进,而高度优化的矢量化空间阻塞代码则高达 1.6 倍。导致模板代码的性能提升,其中时间块不适用。我们在 Devito 特定领域的编译器工具链中实现了这种新颖的方案。Devito 实现了一种嵌入在 Python 中的特定领域语言,以使用来自高级符号问题定义的有限差分方法生成优化的偏微分方程求解器。我们使用具有工业意义的各向同性声学、各向异性声学和各向同性弹性波传播器来评估我们的方案。自动调整后的性能评估表明,这可以通过时间阻塞实现显着的性能改进,而高度优化的矢量化空间阻塞代码则高达 1.6 倍。导致模板代码的性能提升,其中时间块不适用。我们在 Devito 特定领域的编译器工具链中实现了这种新颖的方案。Devito 实现了一种嵌入在 Python 中的特定领域语言,以使用来自高级符号问题定义的有限差分方法生成优化的偏微分方程求解器。我们使用具有工业意义的各向同性声学、各向异性声学和各向同性弹性波传播器来评估我们的方案。自动调整后的性能评估表明,这可以通过时间阻塞实现显着的性能改进,而高度优化的矢量化空间阻塞代码则高达 1.6 倍。我们在 Devito 特定领域的编译器工具链中实现了这种新颖的方案。Devito 实现了一种嵌入在 Python 中的特定领域语言,以使用来自高级符号问题定义的有限差分方法生成优化的偏微分方程求解器。我们使用具有工业意义的各向同性声学、各向异性声学和各向同性弹性波传播器来评估我们的方案。自动调整后的性能评估表明,这可以通过时间阻塞实现显着的性能改进,而高度优化的矢量化空间阻塞代码则高达 1.6 倍。我们在 Devito 特定领域的编译器工具链中实现了这种新颖的方案。Devito 实现了一种嵌入在 Python 中的特定领域语言,以使用来自高级符号问题定义的有限差分方法生成优化的偏微分方程求解器。我们使用具有工业意义的各向同性声学、各向异性声学和各向同性弹性波传播器来评估我们的方案。自动调整后的性能评估表明,这可以通过时间阻塞实现显着的性能改进,而高度优化的矢量化空间阻塞代码则高达 1.6 倍。我们使用具有工业意义的各向同性声学、各向异性声学和各向同性弹性波传播器来评估我们的方案。自动调整后的性能评估表明,这可以通过时间阻塞实现显着的性能改进,而高度优化的矢量化空间阻塞代码则高达 1.6 倍。我们使用具有工业意义的各向同性声学、各向异性声学和各向同性弹性波传播器来评估我们的方案。自动调整后的性能评估表明,这可以通过时间阻塞实现显着的性能改进,而高度优化的矢量化空间阻塞代码则高达 1.6 倍。
更新日期:2020-10-21
down
wechat
bug