Accelerating POCS interpolation of 3D irregular seismic data with Graphics Processing Units
Seismic trace interpolation is necessary for high-resolution imaging when the acquired data are not adequate or when some traces are missing. Projection-onto-convex-sets (POCS) interpolation can gradually recover missing traces with an iterative algorithm, but its computational cost in a 3D CPU-based implementation is too high for practical applications. We present a computing scheme to speedup 3D POCS interpolation with graphics processing units (GPUs). We accelerate the most time-consuming part of the 3D POCS algorithm (i.e. Fourier transforms) by taking advantage of a GPU-based Fourier transform library. Other parts are fine-tuned to maximize the utilization of GPU computing resources. We upload the whole input data set to the global memory of the GPUs and reuse it until the final result is obtained. This can avoid low-bandwidth data transfer between CPU and GPUs. We minimize the number of intermediate 3D arrays to save GPU global memory by optimizing the algorithm implementation. This allows us to handle a much larger input data set. When reducing the runtime of our GPU implementation, the coalescing of global memory access and the 3D CUFFT library provides us with the greatest performance improvements. Numerical results show that our scheme is 329 times faster than the optimized CPU-based implementation, depending on the size of 3D data set. Our GPU computing scheme allows a significant reduction of computational cost and would facilitate 3D POCS interpolation for practical applications.
pocs interpolation irregular seismic data graphics processing unit fourier transform