1887

Abstract

Summary

The use of Graphics Processing Units (GPUs) for scientific computing has become mainstream in the last decade. Applications ranging from deep learning to seismic modelling have benefitted from the increase in computational efficiency compared to their equivalent CPU-based implementations. Since many inverse problems in geophysics relies on similar core computations – e.g. dense linear algebra operations, convolutions, FFTs – it is reasonable to expect similar performance gains if GPUs are also leveraged in this context. In this paper we discuss how we have been able to take PyLops, a Python library for matrix-free linear algebra and optimization originally developed for singe-node CPUs, and create a fully compatible GPU backend with the help of CuPy and cuSignal. A benchmark suite of our core operators shows that an average 65x speed-up in computations can be achieved when running computations on a V100 GPU. Moreover, by careful modification of the inner working of the library, end users can obtain such a performance gain at virtually no cost: minimal code changes are required when switching between the CPU and GPU backends, mostly consisting of moving the data vector to the GPU device prior to solving an inverse problem with one of PyLops’ solvers.

Loading

Article metrics loading...

/content/papers/10.3997/2214-4609.2021612003
2021-09-06
2024-06-15
Loading full text...

Full text loading...

References

  1. Haindl, C., Ravasi, M., and Broggini, F.
    , 2020. Handling gaps in acquisition geometries-improving Marchenko-based imaging using sparsity-promoting inversion and joint inversion of time-lapse data. Geophysics86 (2), 1–49.
    [Google Scholar]
  2. NightingaleJ. W., and Hayes, R.G, et al.
    , 2020. PyAutoLens: Open-Source Strong GravitationalLensing. JOSS.
    [Google Scholar]
  3. Okuta, R. and Unno, Y. and Nishino, D. and HidoS. and Crissman
    , 2017. CuPy: A NumPy-Compatible Library for NVIDIA GPU Calculations.
    [Google Scholar]
  4. Ravasi, M., and Vasconcelos, I.
    , 2020. PyLops—A linear-operator Python library for scalable algebra and optimization. SoftwareX, 11, 100361.
    [Google Scholar]
  5. Ruan, J., and VasconcelosI.
    , 2019. Data-and prior-driven sampling and wavefield reconstruction for sparse, irregularly sampled, higher-order gradient data, SEG Technical Program Expanded Abstracts.
    [Google Scholar]
  6. Vargas, D., and VasconcelosI.
    , 2020. Rayleigh-Marchenko Redatuming Using Scattered Fields in Highly Complex Media. EAGE Technical Program Expanded Abstracts.
    [Google Scholar]
/content/papers/10.3997/2214-4609.2021612003
Loading
/content/papers/10.3997/2214-4609.2021612003
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