Skip to main content

GPU Support for Automatic Generation of Finite-Differences Stencil Kernels

  • Conference paper
  • First Online:
High Performance Computing (CARLA 2019)

Abstract

The growth of data to be processed in the Oil & Gas industry matches the requirements imposed by evolving algorithms based on stencil computations, such as Full Waveform Inversion and Reverse Time Migration. Graphical processing units (GPUs) are an attractive architectural target for stencil computations because of its high degree of data parallelism. However, the rapid architectural and technological progression makes it difficult for even the most proficient programmers to remain up-to-date with the technological advances at a micro-architectural level. In this work, we present an extension for an open source compiler designed to produce highly optimized finite difference kernels for use in inversion methods named Devito©. We embed it with the Oxford Parallel Domain Specific Language (OP-DSL) in order to enable automatic code generation for GPU architectures from a high-level representation. We aim to enable users coding in a symbolic representation level to effortlessly get their implementations leveraged by the processing capacities of GPU architectures. The implemented backend is evaluated on a NVIDIA® GTX Titan Z, and on a NVIDIA® Tesla V100 in terms of operational intensity through the roof-line model for varying space-order discretization levels of 3D acoustic isotropic wave propagation stencil kernels with and without symbolic optimizations. It achieves approximately 63% of V100’s peak performance and 24% of Titan Z’s peak performance for stencil kernels over grids with 2563 points. Our study reveals that improving memory usage should be the most efficient strategy for leveraging the performance of the implemented solution on the evaluated architectures.

V. H. M. Rodrigues—The author gratefully acknowledge support from Shell Brasil through the “Novos Métodos de Exploração Sísmica por Inversão Completa das Formas de Onda” project at the Universidade Federal do Rio Grande do Norte, and the strategic importance of the support given by ANP through the R&D levy regulation. This research was supported by the High Performance Computing Center at UFRN (NPAD/UFRN).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Intel® Xeon® E5-2690v2 with 10 physical cores, and Intel® Xeon® PhiTM accelerator card.

  2. 2.

    The nvprof profiling tool enables you to collect and view profiling data from the command-line, and is present in the NVIDIA® CUDA® Toolkit.

  3. 3.

    Large-scale Bound-constrained Optimization.

References

  1. Cárdenas, A.F., Karplus, W.J.: PDEL-a language for partial differential equations. Commun. ACM 13(3), 184–191 (1970). https://doi.org/10.1145/362052.362059

    Article  MATH  Google Scholar 

  2. Cook Jr., G.O.: ALPAL: a tool for the development of large-scale simulation codes, Lawrence Livermore National Lab., C.U. (1988)

    Google Scholar 

  3. van Engelen, R., Wolters, L., Cats, G.: CTADEL: a generator of multi-platform high performance codes for PDE-based scientific applications. In: Proceedings of the 10th International Conference on Supercomputing - ICS 1996, pp. 86–93. ACM Press, New York (2003). https://doi.org/10.1145/237578.237589

  4. Hawick, K., Playne, D.P.: Simulation software generation using a domain-specific language for partial differential field equations. In: Proceedings of the International Conference on Software Engineering Research and Practice (SERP). The Steering Committee of The World Congress in Computer Science, Computer Engineering and Applied Computing (WorldComp), p. 7(2013). ProQuest document ID: 1491419516

    Google Scholar 

  5. Henretty, T., Veras, R., Franchetti, F., Pouchet, L.N., Ramanujam, J., Sadayappan, P.: A stencil compiler for short-vector SIMD architectures. In: Proceedings of the 27th International ACM Conference on International Conference on Supercomputing - ICS 2013. p. 13. ACM Press, New York (2013). https://doi.org/10.1145/2464996.2467268

  6. Logg, A., Olgaard, K.B., Rognes, M.E., Wells, G.N.: FFC: the FEniCS Form Compiler. In: Logg, A., Mardal, K.A., Wells, G.N. (eds.) Automated Solution of Differential Equations by the Finite Element Method, Lecture Notes in Computational Science and Engineering, Vol. 84, Chap. 11. Springer (2012). https://doi.org/10.1007/978-3-642-23099-8_11

  7. Louboutin, M., et al.: Devito (v3.1.0): an embedded domain-specific language for finite differences and geophysical exploration. Geosci. Model Dev. 12(3), 1165–1187 (2019). https://doi.org/10.5194/gmd-12-1165-2019

    Article  Google Scholar 

  8. Luporini, F.,et al.: Architecture and performance of Devito, a system for automated stencil computation, July 2018

    Google Scholar 

  9. Membarth, R., Hannig, F., Teich, J., Kostler, H.: Towards domain-specific computing for stencil codes in HPC. In: Proceedings - 2012 SC Companion: High Performance Computing, Networking Storage and Analysis, SCC 2012, pp. 1133–1138. IEEE, November 2012. https://doi.org/10.1109/SC.Companion.2012.136

  10. Mojica, O.F., Kukreja, N.: Towards automatically building starting models for full-waveform inversion using global optimization methods: a PSO approach via DEAP + Devito, May 2019

    Google Scholar 

  11. Rathgeber, F., et al.: Firedrake: automating the finite element method by composing abstractions, January 2015. https://doi.org/10.1145/2998441

  12. Reguly, I.Z., Mudalige, G.R., Giles, M.B., Curran, D., McIntosh-Smith, S.: The OPS domain specific abstraction for multi-block structured grid computations. In: Proceedings of WOLFHPC 2014: 4th International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing - Held in Conjunction with SC 2014: The International Conference for High Performance Computing, Networking, Storage, pp. 58–67 (2014). https://doi.org/10.1109/WOLFHPC.2014.7

  13. Williams, S., Waterman, A., Patterson, D.: Roofline. Commun. ACM 52(4), 65 (2009). https://doi.org/10.1145/1498765.1498785

    Article  Google Scholar 

  14. Witte, P.A., et al.: A large-scale framework for symbolic implementations of seismic inversion algorithms in Julia. Geophysics 84(3), F57–F71 (2019). https://doi.org/10.1190/geo2018-0174.1

    Article  Google Scholar 

  15. Yount, C., Tobin, J., Breuer, A., Duran, A.: YASK - yet another stencil kernel: a framework for HPC stencil code-generation and tuning. In: 2016 Sixth International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing (WOLFHPC), pp. 30–39. IEEE, November 2017. https://doi.org/10.1109/WOLFHPC.2016.08

  16. Zhang, Y., Mueller, F.: Auto-generation and auto-tuning of 3D stencil codes on GPU clusters. In: Proceedings of the Tenth International Symposium on Code Generation and Optimization - CHO 2012, p. 155. ACM Press, New York (2012). https://doi.org/10.1145/2259016.2259037

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vitor Hugo Mickus Rodrigues .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Rodrigues, V.H.M. et al. (2020). GPU Support for Automatic Generation of Finite-Differences Stencil Kernels. In: Crespo-Mariño, J., Meneses-Rojas, E. (eds) High Performance Computing. CARLA 2019. Communications in Computer and Information Science, vol 1087. Springer, Cham. https://doi.org/10.1007/978-3-030-41005-6_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-41005-6_16

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-41004-9

  • Online ISBN: 978-3-030-41005-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics