Accelerating Curvature Estimate in 3D Seismic Data Using GPGPU - Martins, Leonardo; Silva, Marco Aurelio Goncalves da; Arruda, Marcelo; Duarte, Joner; Silva, Pedro Mario; Seixas, Roberto Beauclair; Gattass, Marcelo; Souza, Paulo; Panetta, Jairo (Anais do International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD); 2014: Anais do XXVI International Symposium on Computer Architecture and High Performance Computing, 2014)
Seismic interpretation is a vital step in oil and gas industry. Choosing proper drilling locations is a major challenge to the interpreters, since an ultra-deep water oil well located below 2500 meters of water can cost dozens of millions of dollars. Volumetric curvature attributes are widely used to visualize folds, faults, among other key structures that define a possible reservoir. However, volumetric curvature estimate is very compute-intensive and can take several hours. The main goal of this paper is to present a GPGPU implementation that perform volumetric curvature estimate at interactive real-time, for a single volume slice. We show an implementation that maximizes memory access, loading necessary data to GPU shared memory using a circular buffer. The most compute demanding kernel achieved 56% of GPU peak performance and 1.676 instructions per clock out of theoretical maximum 2. Our results show an average speed-up of 12 times compared to CPU with OpenMP. In addition, the application fits really well on GPUs, due to the high number of registers available plus programmable cache (CUDA shared memory). The GPU performance gains enabled on-the-fly calculations during visualization at interactive real-time, instead of waiting time of hours for the whole volume.