38 research outputs found
Reduction of computing time for least-squares migration based on the Helmholtz equation by graphics processing units
In geophysical applications, the interest in leastsquares
migration (LSM) as an imaging algorithm is
increasing due to the demand for more accurate solutions
and the development of high-performance computing. The
computational engine of LSM in this work is the numerical
solution of the 3D Helmholtz equation in the frequency
domain. The Helmholtz solver is Bi-CGSTAB preconditioned
with the shifted Laplace matrix-dependent multigrid
method. In this paper, an efficient LSM algorithm is presented
using several enhancements. First of all, a frequency
decimation approach is introduced that makes use of redundant
information present in the data. It leads to a speedup of
LSM, whereas the impact on accuracy is kept minimal. Secondly,
a new matrix storage format Very Compressed Row
Storage (VCRS) is presented. It not only reduces the size of
the stored matrix by a certain factor but also increases the
efficiency of the matrix-vector computations. The effects of
lossless and lossy compression with a proper choice of the
compression parameters are positive. Thirdly, we accelerate
the LSM engine by graphics cards (GPUs). A GPU is used
as an accelerator, where the data is partially transferred to
a GPU to execute a set of operations or as a replacement,
where the complete data is stored in the GPU memory. We
demonstrate that using the GPU as a replacement leads to
higher speedups and allows us to solve larger problem sizes.
Summarizing the effects of each improvement, the resulting
speedup can be at least an order of magnitude compared to
the original LSM method
Matrix-free GPU implementation of a preconditioned conjugate gradient solver for anisotropic elliptic PDEs
Many problems in geophysical and atmospheric modelling require the fast
solution of elliptic partial differential equations (PDEs) in "flat" three
dimensional geometries. In particular, an anisotropic elliptic PDE for the
pressure correction has to be solved at every time step in the dynamical core
of many numerical weather prediction models, and equations of a very similar
structure arise in global ocean models, subsurface flow simulations and gas and
oil reservoir modelling. The elliptic solve is often the bottleneck of the
forecast, and an algorithmically optimal method has to be used and implemented
efficiently. Graphics Processing Units have been shown to be highly efficient
for a wide range of applications in scientific computing, and recently
iterative solvers have been parallelised on these architectures. We describe
the GPU implementation and optimisation of a Preconditioned Conjugate Gradient
(PCG) algorithm for the solution of a three dimensional anisotropic elliptic
PDE for the pressure correction in NWP. Our implementation exploits the strong
vertical anisotropy of the elliptic operator in the construction of a suitable
preconditioner. As the algorithm is memory bound, performance can be improved
significantly by reducing the amount of global memory access. We achieve this
by using a matrix-free implementation which does not require explicit storage
of the matrix and instead recalculates the local stencil. Global memory access
can also be reduced by rewriting the algorithm using loop fusion and we show
that this further reduces the runtime on the GPU. We demonstrate the
performance of our matrix-free GPU code by comparing it to a sequential CPU
implementation and to a matrix-explicit GPU code which uses existing libraries.
The absolute performance of the algorithm for different problem sizes is
quantified in terms of floating point throughput and global memory bandwidth.Comment: 18 pages, 7 figure
Schnelle Löser für Partielle Differentialgleichungen
This workshop was well attended by 52 participants with broad geographic representation from 11 countries and 3 continents. It was a nice blend of researchers with various backgrounds