1887

Abstract

Summary

In this talk, I will discuss our approach to the formulation and the performance optimization of finite difference methods for PDEs arising in FWI. Our framework consists of a stack of domain specific languages and optimizing compilers. The mathematical specification of a finite difference method is translated by a compiler, Devito, into C code, applying a sophisticated sequence of transformations. These include standard loop transformations, such as blocking and vectorization, as well as symbolic manipulations to reduce the unusually high arithmetic intensity of the stencils arising in forward and adjoint operators. These include common subexpressions elimination, factorization, code motion and approximation of transient functions. I will show the impact of these transformations on standard Intel Xeon architectures as well as on Intel Knights Landing. Compelling evidence points in the direction that our stencil kernels are significantly bound by the L1 cache. I will conclude discussing future challenges and goals of our work.

Loading

Article metrics loading...

/content/papers/10.3997/2214-4609.201702315
2017-10-01
2024-04-19
Loading full text...

Full text loading...

References

  1. N.Kukreja, M.Louboutin, F.Vieira, F.Luporini, M.Lange, and G.Gorman
    . Devito: automated fast finite difference computation. 2016 Sixth International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing (WOLFHPC), 2016.
    [Google Scholar]
  2. M.Lange, N.Kukreja, M.Louboutin, F.Luporini, F.Vieira, V.Pandolfo, P.Velesko, P.Kazakas, and G.Gorman
    . Devito: Towards a generic finite difference dsl using symbolic python. Python for High-Performance and Scientific Computing (PyHPC), Workshop on, 2016.
    [Google Scholar]
  3. M.Louboutin, M.Lange, F.Herrmann, N.Kukreja, and G.Gorman
    . Performance prediction of finite-difference solvers for different computer architectures. Submitted to Computers and Geosciences arXiv:1608.03984, 2016.
    [Google Scholar]
  4. SymPy Development Team
    . SymPy: Python library for symbolic mathematics, 2016.
    [Google Scholar]
  5. I.Terentyev, T.Vdovina, X.Wang, and W.Symes
    . Iwave: a framework for wave simulation, 2010.
    [Google Scholar]
  6. Y.Zhang, H.Zhang, and G.Zhang
    . A stable tti reverse time migration and its implementation. Geophysics, 76(3):WA3–WA11, 2011.
    [Google Scholar]
http://instance.metastore.ingenta.com/content/papers/10.3997/2214-4609.201702315
Loading
/content/papers/10.3997/2214-4609.201702315
Loading

Data & Media loading...

This is a required field
Please enter a valid email address
Approval was a Success
Invalid data
An Error Occurred
Approval was partially successful, following selected items could not be processed due to error